Can UE4 be used without using UBT?

I’m not very experienced with Unreal Engine, but after searching through through already answered questions for an hour and a half, I think I can safely say no-one has asked my question yet.

Is it possible to compile even a basic unreal engine game/app *without using the Unreal Build Tool AT ANY STAGE *?!

All tutorials on the Epic wiki involve using UBT, and I know that even when using Xcode or Visual Studio, the IDE is just calling UBT to do all the hard work.

For example, given a file named unreal-hello.cpp:

#include "Runtime/Core/Public/Misc/AssertionMacros.h"

int main(void) {
    DEFINE_LOG_CATEGORY(LogHello, Log, All);

    UE_LOG(LogHello, Display, TEXT("Hello to the Unreal World 4"));

    return 0;

It should be possible to compile a binary using something like:

clang++ -o hello-unreal hello-unreal.cpp -I/path/to/UE-4.7/Source -L/path/to/UE-4.7/Binaries -lUE4-Main -lUE4-Shaders -lUE4-Network

I made up the names UE4-Main, UE4-Shaders, and UE4-Network, but there should still be linkable libraries for Unreal Engine 4, right?

I posted this to the “C++ Programming” section because it involves getting C++ code to compile.


Hello, alshaw

Please note that Unreal Engine 4 provides reflection which is not natively supported by C++ programming language. At the same time, tools like integration of C++ code with Blueprints, serialization, garbage collection and network replication are implemented with the help of reflection.

Thus, some specifics need to be considered when working with UE4 in comparison to pure C++. Unreal Build Tool was designed to take care of these features and make workflow easier with respect to perfomance. It allows programmers to use their C++ knowledge without the need to go deep into technical aspects of Unreal Property System implementation. This is basically the essential concept beneath the Engine - to make the development process more effective and accessible.

This way, using UBT seems reasonable.

If you like to learn more about Reflection in Unreal Engine 4, please go here:

Hope this helped!
Good luck!