Why do blueprints have to be excecuted in a VM and only on one core?

Are all equivalent visual scripting tools in the game industry run like this, and why? Thank you

Well, the single-threaded nature is obvious: BP doesn’t have tools to handle concurrency, and it’ll probably never have, as that’d introduce too much complexity for the end user.

As for the VM, UE4 does have nativization, but there were so many problems with it that UE5 just dropped it, and chose stability over efficiency. So, it doesn’t have to be in a VM practically, it just wasn’t sustainable to support native translation.

Inside the editor, VM is cool, because you can just change BPs, click Play, and it’s ready to go in half a second. No C++ compiling, no missing dependencies, no relying on OS-specific quirks, etc. Probably some other pros of VMs also apply, like being in full control of the call stack for debugging and whatnot.

1 Like