I have a very little understanding on how the Unreal 4 engine works on the inside. I was just checking it out.
I noticed a huge file size of the final builds and the fact that the blueprints are actually dynamic scripts.
This two things tell me that the engine compiles with every build a whole virtual machine. I found nearly none information about this, so my first question is if it actually the case?
And the second is, if it is planned to implement compilation to static binaries.
It was briefly mentioned near the end of Unreal Engine Livestream - 4.9 Preview and August Game Jam Results! (at 1:06:00) that there is some effort being put into compiling blueprints into C++ source code. Ray Davis only mentions getting the native performance, but I could imagine it being smaller in size as well!
No ETA for it though, definitely not 4.9.
Blueprints use old virtual machine previously used for UnrealScript (scripting language used in UE which got removed in UE4 in favor partly of blueprints partly C++ free access), it’s interacting with native code via reflection system and it’s about 10 times slower then native code (but still it’s good enoth for scripting), thats why it’s not recomanded to overuse Tick event in blueprints. 2nd question got replayed by
Also virtual machine byte code is also “bindery code”, every unreadable to human data based fully on byte values is called “binary”. More accurate name is “native code” or machine code"