my game is heavely physics based. The players can grab and throw objects so we need instant-feedback, Right now the only option i can see in both the NetworkObject and NetworkTransform is "Prediction" and setting the mode to rigidbody, which in my case is simply setting it to Kinematic and copying/interpolating/extrapolating the server state which is not acceptable unless the player has litterally 0 ping, In the docs there is something called a "PredictionRigidbody" which looks great but seams to be nowhere in the files so how are we supposed to do this?
#Physics.. How?
4 messages · Page 1 of 1 (latest)
Hi there, if you're using physics in multiplayer then things are unavoidably going to be complicated, there generally won't be a simple component you can add onto objects and have it handle everything, you're going to need to program things to make it work with the available systems.
You can either make things client auth and experience delays dependant on who owns and is simulating the objects, there will also be trouble with certain interactions as some objects will be kinematic on one device and dynamic on another. But it is relatively simple to setup.
Or you could have fully server auth physics and unfortunately have input delay as your clients would send their inputs to the server before the server can simulate things and send those changes back to the clients.
Or finally you could use server auth with client-side prediction, which is the most complicated and can also be a bit demanding with the physics Unity uses. But it does give the best results for players.
how would you start going about server auth with client-side prediction? i also would like to know what the "PredictionRigidbody" since its in the docs
The guide in the docs on CSP would be the best place to start: https://fish-networking.gitbook.io/docs/guides/features/prediction/what-is-client-side-prediction
Here is the page in PredictionRigidbody: https://fish-networking.gitbook.io/docs/guides/features/prediction/predictionrigidbody