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

This article may be helpful for those who are familiar with standard containers and would like to learn Unreal-specific containers, or for those who already know containers but would like to explore them a little deeper. Here is information about the following containers: TArray, TSet, TMap. TArray Let’s start with TArray. TArray is a dynamically sized array, which is similar to vector in the standard library. The main purpose of TArray is to be able to easily (both memory and performance) iterate over its elements, using the traditional and range-based for loops....

June 5, 2022 · 3 min · Georgy Treshchev

How to convert Enum to FString in Unreal Engine

Implementation depends on what enum you use. If you want to use an Unreal Reflection System-friendly solution that uses UENUM, there is a ready-made function for this: // Header file // This is your enum UENUM() enum class EnumExample : uint8 { EnumValue1, EnumValue2 }; // Implementation file // This is how you get the string representation of the enumerator FString StringRepresentation = UEnum::GetValueAsString(EnumExample::EnumValue2); If you want to use a pure C++ solution, you should create a function to manually convert the enumerator....

May 29, 2022 · 1 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

My first post

Hey! This is my first post with the idea of this blog. I previously had a blog at https://unreal.blog , but I decided to rethink this and create a new one. Here I will primarily write about technical stuff related to C++ and Unreal Engine. I’ll be writing on both simple and complex topics. I also plan to write some more general, non-technical posts, but this won’t be posted often....

May 26, 2022 · 1 min · Georgy Treshchev