Download

Why was Blueprint Nativization removed? (NO code preaching)

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”

;p

3 Likes

Did they really? I had no idea.

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

1 Like

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.

1 Like

That’s what I’m hoping

The following is 100% speculation.

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.

Indeed. Same thing happened with Valorant. They tried, but that led to crashes.

Verse runs on the blueprint VM.

Thanks for sharing. Be interested to hear more if you have anything more to say. Its been mentioned in other threads that there seems to be very little work done on Verse so far (even adding doubles is at the very early stages).

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.”)

ref: https://github.com/EpicGames/UnrealEngine/commit/11c00323ea9dc67a6433fa3420c38ef643f6cfa3#diff-4cd39c438bdaa8f0160692ce19304f1d1c12833f227dd3102ea4cf53563e3f95

2 Likes

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.

1 Like

Dunno, is it? Like how they’re removing tesselation with no alternative, and now even planning to remove physx with no alternative?

Isn’t Chaos the alternative? The plan is to meet physX feature-for-feature such that the end user shouldn’t have to change code much.

Yeah right. Chaos is joke currently.

1 Like

When you wrote ‘Verse runs on the blueprint VM’, I was hoping you’d say next that one can extrapolate from that, that Epic plan to [link / convert] BP & Verse (to offer text-based BP’s for text-based diff’ing especially). With optimization coming from the ‘Verse side’ - NOT BP??? :crossed_fingers:

Well poop. Either way I’m still using C++ but it would’ve been nice if it was a new IL backend.

We always had alternative for tessellation though. You can use displacement map to modify the mesh via 3rd party program and import it as Nanite mesh.

Chaos is alternative to PhysX, if they removed PhysX without alternative you wouldn’t have any physics in your game.

Just learned about this. I’m pretty disappointed, especially if there’s not a future solution planned.