Blueprint¶
The Blueprint language is an object-oriented, statically-typed scripting tool in Unreal Engine. It enables rapid prototyping and iteration, allowing developers to define gameplay logic visually. You can define the following constructs in Blueprints:
Under the Hood¶
Blueprint is an interpreted language that runs on a virtual machine. The Kismet1 Compiler compiles Blueprints into bytecode instructions. There are no particular optimization mechanisms in place, and the bytecode is executed as-is. The engine maintains a global jump table of thunks for all the procedures that are bound to C++ functions. Each call to a function is wrapped in a frame and pushed onto the stack. This process—context switching—adds quite a bit of overhead, making Blueprints slower than C++. You can check out the source code to learn more.
-
Kismet is the name of the predecessor to Blueprints in Unreal Engine 3. The name stuck around for some tools and classes in UE4 and UE5. ↩