Unless the community is in the know (though I haven’t been able to find anything), this one’s for the Epic folks around here:
I’m working on a vehicle heavy project, and intend to make the jump to 4.26 when it releases. I know there’s PhysX parity already completed for Chaos with the 4.26 launch, but from a design/blueprinting standpoint will that parity carry over, or will it significantly change how the physics/collision aspects of vehicles are designed and implemented? This will have a big impact on which tasks I prioritize over the next 4 months, and I’d like to avoid redoing work if possible.
Thanks in advance for any response you can give!
EDIT: Also, will Chaos have any deterministic functionality to assist with replication, or like with PhysX is it going to be something you just have to work around / handle entirely server side?
my understanding insofar is that Nvidia wouldn’t license their stuff out to Unreal, so the ue4 team made its own physics system, Chaos.
The idea being that it replaces nvidia entierly while possibly (or more hopefully) fixing a lot of the issues that the default nvidia implementations are plagued by.
Info on what is already out is sparse so far. But here’s to hoping that with .26 they will release documentation on all of it.
Based on chaos being chaos for some, along with Epic’s long historical indifference to vehicles and their fondness for pulling features from Fortnite on a whim, I would be cautious about expecting a robust mature system for quite some time… Just 2c… BTW: Spaceships / flying craft are actually a lot easier in many ways. But obviously physics and multiplayer do bring more gotchas…
Its not like mimicking the physx car system is very complex. And they did do their engine implementation before because of Gears0 (if I’m not mistaken).
this time around they added cars to fortnite, so they are bound to have a bare bones implementation at least.
Chaos does seem to support a proper fixed tick rate now, and there is a complex new Network Prediction system that is being built alongside Chaos and interops with Chaos’ rewind API to provide better network support for features like network prediction of player-controlled objects.
You can find a video here from Dave Ratti whose been working on it for some time:
Note that all of this is in master branch already. You can find Chaos Vehicle code there too, the setup is basically the sme as setting up a PhysX vehicle. The power is going to come from the fact that we are no longer locked into PhysX’ API’s for vehicles, so ultimately, you’ll be able to do whatever you want.
A point worth nothing - you can already use whatever vehicle physics you want, UE4 provides PhysX callbacks for physics calculation on bodies. I’ve written my own wheeled vehicle simulation for example, and there are several marketplace plugins which have done the same. Chaos just has some very nice features, like fixed-ticking and a rewind API.
Sluggish vehicles work better over network connections. Fast, responsive vehicles require either that you’re making a single player game, or that you’re prepared to mask all kinds of distributed glitches with tons of smoke and camera shake …
Car racing is one of those cases where a single frame of latency can be masked, but the more common five to ten frames of latency from network round-tripping puts the cars far off each other, and any kind of collision simulation will be either predicted-and-wrong, or delayed-and-laggy.
The Plugin is currently here. I wouldn’t expect anything stable yet, the API will probably change a lot as they figure this stuff out. Chaos still has a fair way to go in terms of performance too, PhysX still outperforms it considerably.
The most important thing IMO is that we get 1:1 feature parity in PhysX before anything else.
I don’t think a fully deterministic system is remotely likely, especially considering that there are many other factors in Multiplayer which aren’t (and never will be) deterministic, actor spawning for example. The networked physics improvements/capabilities will come in the form of the network prediction plugin and the rewind API that Chaos offers.
I have no hard stats - but less than a couple of months ago some reputable sources posted their findings in the UE Discord group, and have found Chaos to be significantly slower than PhysX in some cases (stacks of 1,000 cubes etc.) Some bringing the editor to a halt. It’s been a while but I don’t think Fortnite has that many physics-simulated objects either.
I think it’ll be a while before we can do any meaningful comparisons though, and it’s not like Epic is pushing it as production-ready. For now I’m concerned about maintaining feature parity, some basic stuff that PhysX can do is still missing - and Chaos’ source code isn’t exactly the easiest to navigate. I wonder how much of Chaos came from outside of Epic though.