I’m building a playercontroller that uses a custom movement scheme.
It controls a Pawn, not a Character, and it uses physics + forces to move that Pawn.
For this to work well with networking, I keep two sets of variables:
- Input controls as seen on the player controller – these are sent to the server using RPC X times a second
- Actual controls as seen on the network controller – these are Replicated values
Additionally, the physics body itself replicates movement.
Now, I’d like for the input events to only affect the “to send” variables, and the actual update in physics to happen based on the replicated values.
However, in single-player mode (including play-in-editor,) there is only one PlayerController; it’s an Authority controller that also receives input.
This is … not what my system wants.
Is there a way to get two PlayerControllers (one authority, one remote,) even in single player mode?
If there isn’t, how can I test whether the PlayerController is a single-player do-it-all controller, or a true, server-side, authority controller?