Posts

Showing posts with the label UE5

Reducing the size of Unreal Engine 5 source project

When you decide to compile Unreal Engine 5 yourself, you might notice that the initial project is enormous. This is because you are downloading content for many platforms that you might not even need. Luckily, there is an easy way to reduce that size while remaining fully able to work with the engine. When we clone the repository, the engine's source is about 2.48GB (measured for version 5.7.4). Not bad! However, once we run Setup.bat to download additional dependencies, the size increases to a whopping 82.9GB ! This happens because the script downloads extra files for every supported platform and localization files for many languages. These files are huge. Excluding Platforms via Setup.bat Let’s assume we want to make a game for Windows only. We aren't interested in the files required by other platforms. We can skip downloading them by passing extra arguments to Setup.bat . Create a new batch file - let's call it SetupWindowsOnly.bat - and add the following command: Set...

Data Assets Thumbnails plugin for Unreal

Image
I wrote a plugin for Unreal Engine with which you can easily replace a standard Data Asset icon with a custom icon. I think it's quite useful for a game where you have a lot of Data Assets for things like weapons, shields, armors etc. and you want to quickly recognize what they are. 

Coroutines in Enhanced Code Flow

The Enhanced Code Flow  plugin is doing surprisingly well! During last 2 years it has been improved in many ways. It received many new functionalities, it works with Unreal Engine 5 too, it is more stable than ever and it has been used in multiple projects. It's funny that everything have started because I wanted to have an equivalent of Delay Blueprint node in code. Now I can implement it in more elegant way than currently and all thanks to the fact, that Unreal Engine 5.3 fully supports C++20, which has  coroutines ! What are coroutines? They are functions that can be suspended and resumed later. Sounds like a way to implement a Delay functionality? Oh yes! FECFCoroutine UMyClass::SuspendableFunction() { // Do something co_await FFlow::WaitSeconds(this, 2.f); // Do something after 2 seconds } Enhanced Code Flow received 3 new functions which utilize C++20 coroutines. They are experimental and probably not safe nor stable, but hey... this is just a first impleme...