The GGPO author thinks very highly of his system!
It turns out, in practice, it’s not as general purpose as he would want.
Specifically, it requires not only that simulation is deterministic, but also that it is cheap enough to re-run many steps of simulation every frame.
This is true for 2D fighting games, for sure, and may even be true for 3D fighting games that only have two characters and perhaps some scripted breakable props.
It’s not true for a general purpose rigid body simulation, though.
Trying to use GGPO with Unreal is problematic, not just because the simulation is quite expensive (once you add Chaos and lots of rigid bodies and skeletons and ragdolls,) but also because Unreal fundamentally is NOT deterministic.
The core of the Unreal simulation loop is all about locking simulation to the render rate, and accepting a variable frame rate. The integrator and other simulation code is fundamentally tuned to work in such a world. It also uses libraries that by themselves are not deterministic.
So, not only would it be a lot of very hard work to try to make Unreal deterministic, against the design of the engine, but it would also make simulation take up a lot more CPU and probably significantly reduce your frame rate.
So … why would you want it? If you need the specific kinds of trade-offs made in GGPO, you should probably use a much more light-weight game engine which focuses mostly on rendering, and use your own custom simulation code.