And even thought I found some settings that may help, Unreal’s Chaos Physics Engine still sucks (Why it sucks 1, Why it sucks 2), it has problems with quality, stability, perfomance, and I cant really understand how and why EpicGames prefered Chaos over PhysX, Jolt, Bullet.
Anyway, some guys suggested me to integrate PhysX or Jolt into Unreal 5 myselft, or go back to UE4 with PhysX.
UE4 is not an option, because UE5 has a lot of good features like Nanite, Lumen etc.
So here I have a problem, Im pretty new to Unreal and its framework, Im not really intuitive with its source code and internal things. So for me “go change physics engine yourself” sounds like “go to the forest and find a chair that stays there”, I mean I cant even imagine what forest I should go into, and where that chair should be.
Do you know how to change Unreal’s Physics Engine or any source of information on this topic?
Ofc I already googled this, but most information is related to UE4 and not available due to the lost website pages, or links to UE4 wiki that not working anymore etc. So any info will be helpfull. Thanks
The physics in ue 5.4 is much better then in the previous versions. If you are a newbe, dont mess around with the unreal core things like the physics core, begin with some tutorials how you can use the engine.
Unreal Engine 4 have a other physics engine and Unreal Engine 5 has its own physics engine, two different physics cores != 1:1 implementations. Most peoples out there use unreal engine 5 and migrate the stuff from unreal engine 4 with logic etc to 5 without changing anything. Then its a logical conclusion that this projects will not run smoothly.
If you have some physics problems you can post you problems here or on the unreal engine source community discord.
But you are most certainly correct that swapping out the physics engine is not something to be done on a whim, it’s a major undertaking.
If you want to use PhysX, you can just use Unity or go back to Unreal 4. Those are the easy solutions.
And using an older version of Unreal is not necessarily bad there are plenty of people sticking with 4. A lot of the changes coming with 5 are a bit too much and a bit too fast sometimes (e.g. pushing out half-broken stuff, like chaos flesh which is completely unusable, chaos physics which are problematic as is being discussed here, some old good features removed to make way for new ways to implement them in some future version, yeah, too much too fast; it’s been severely lacking in quality control).
Nanite and Lumen are not essential features, plenty of amazing games were made without them, Lumen has some pretty serious issues (basically can’t get rid of ghosting when using it) and nanite is cool but you can manage without it.
It is possible to use a different physics engine.
Do not turn on “simulate physics” on your actors.
Instead, build your own actor component which integrates with whatever physics library you choose.
Add this component to each object you’d like to interact with the other physics library.
When it attaches, you may want to convert any collision shape to the format needed by that library, and introspect the actor for any constraints/joints that are declared so you can set them up in that other library as well.
Then make sure this component steps in the physics tick order, and have it read out and update the position of its actor each step.
Finally, make a new subsystem that runs your preferred physics engine, and makes the API available to your actor component.
Getting this “kinda working” is a few days of work, probably. Getting this “good” and “working together with networking” is probably a year’s worth of work, at least (somewhat depending on the amount/depth of integration you really need.)