I experimented several times with BP Nativization on pure BP projects and the performance boost each time was awesome. I was really excited to use BP Nativization for actual releases and then I see in the UE5 notes that BP Nativization was removed. Why?
Also I would love for this thread to be kept clean of “Dude real programmers code” or “Why not try C++? Just try it bro”
Maybe they’re optimizing their Blueprint performance for UE5 so that nativization might not be needed? Good topic of discussion though would love to know more about it
There have been no meaningful changes to the blueprint runtime that would improve performance. I assume they just deleted it since it was too difficult to maintain and kept bugging out on more complex blueprints.
It’s very buggy, and was almost never useful in complex, real games that aren’t extremely small at scale. For example, Mortal Shell said they try to use it but it always caused crashes or problems.
I honestly were wishing for a better blueprint runtime combined with a coding-based scripting support for those that don’t like visual scripting for UE5. Blueprint is nice and all but I strongly believe text-based coding is just much easier to manage, organize and keep clean.
Remember how they purchased the SkookumScript company and the “verse” script screenshots that are around? I am guessing that Verse is their new DSL (domain specific language) which may compile into better byte-code or native code from the beginning. All they would do is retarget the BP compiler from Kismet->Verse which means they have no need for the BP nativization feature because they have something better.
I tried to use BP Nativization a few times but when packaging the project (mostly mobile and VR) it always throws weird errors, then I gave up and stop trying to use it.
There were several issues with nativization, most can be considered as limitations rather than bugs actually. It would’ve been more valuable (and effective) to list the known issues they have been gathered over the course of years and communicate it with us (or just post it in the forums at least), so people can learn the use of nativization more efficiently.
UE_DEPRECATED(5.0, “Blueprint Nativization has been removed as a supported feature. This setting is no longer exposed for editing and will eventually be removed.”)
If they decided to remove nativization instead of fixing its problems, then it is extremely likely they are working on some form of alternative. We already had Epic asking questions about scripting support in past and Tim had some tweets where he shared his opinions about the topic. I really hope we get something new that is fast and interactible via visual or text based coding depending on the choice.
I have used it in the past to create ports of blueprints but I’ve always moved the code to new classes and cleaned it up, I still think it was useful just in speeding up porting.
I guess they don’t want to waste company power to help bpprogremers aren’t able to move their problematic blueprints to C++ to gain a couple of frames.
maybe with the inclusion of verse themselves using the same virtual machine they may start some form of optimization from scratch