How to completely disable Tonemapper in Unreal Engine

In this quick tutorial, I will show you how to completely disable Tonemapper without using PostProcess To do this, just open the DefaultEngine.ini file (in the [PROJECT_NAME]/Config folder) and add the following lines to [/Script/Engine.RendererSettings] section: r.TonemapperGamma = 0 r.TonemapperFilm = 0 r.Tonemapper.Quality = 0 r.ToneCurveAmount = 0 r.Mobile.TonemapperFilm = 0 r.MobileTonemapperUpscale = 0 r.EyeAdaptationQuality = 0 r.EyeAdaptation.ExponentialTransitionDistance = 0 You can also write the same to the engine’s command line, but I recommend to directly add these lines to a file since it’s more convenient and will always work....

June 26, 2022 · 1 min · Georgy Treshchev

Reducing build size of Android or iOS game in Unreal Engine

There are multiple ways to reduce the build size. But on mobile platforms, this issue is most acute. I will show you how I managed to reduce the size of my Android game from 150MB to 50MB. Project settings There are many switches in the project settings that will help reduce the build size. The first thing you can do is set Build Configuration to Shipping and enable For distribution:...

June 12, 2022 · 3 min · Georgy Treshchev
Containers time complexity

Intro to Unreal Engine containers (TArray, TSet, TMap)

This article may be helpful for those who are familiar with standard containers and would like to learn Unreal-specific ones, or for those who already have a knowledge of the containers but would like to explore them a little deeper. Here is information about the following containers: TArray, TSet, TMap, and a basic overview of the TMultiMap and TSortedMap. TArray Let’s start with TArray. TArray is a dynamically sized array, similar to std::vector in the standard library....

June 5, 2022 · 4 min · Georgy Treshchev

How to convert Enum to FString in Unreal Engine

This is a short article on how to convert an enumerator to FString in Unreal Engine. Blueprints In Blueprints, it is easy to convert all supported enumerators to FString. Simply drag your enumerator to the required pin, which will automatically add the necessary conversion node. C++ In C++, the implementation varies based on the type of enum used. Unreal Reflection System If you want to use a solution that is compatible with the Unreal Reflection System and accordingly uses UENUM, there is an in-built method named UEnum::GetValueAsString....

May 29, 2022 · 2 min · Georgy Treshchev
An illustrative example with a comparison

How to integrate third-party library into Unreal Engine

Concept There are two main types of libraries: Static and Dynamic (also called Shared). A static library is statically linked to a program and is available at compile time. A dynamic (or shared) library, on the other hand, is dynamically linked and available at runtime. Static linking assumes that the library code is built into the final block of code, unlike dynamic linking. But the process of dynamic linking takes some time....

May 27, 2022 · 7 min · Georgy Treshchev