P2P has already been done in UE4. Rising Thunder was developed by the creator of GGPO, so I know that what I’m trying to do can work. I just don’t know quite how to finagle the engine into doing what I want, nor do I know exactly how much of the engine I need to avoid in order to do so. If at all possible, I would prefer not to have to either convert Character.cpp and CharacterMovement.cpp
This method sounds promising. Would you please elaborate? It sounds like every tick, I would store, say, the values I’m sending to the MoveForward and MoveRight functions, along with the frame number. Then, when it’s time to do a rollback, in GameMode’s tick function, I would reset each actor to their position on that frame, then iterate over each rolled-back frame for each PlayerController and call their MoveForward and MoveRight functions each frame with the same old data. Do I have that right?
I’ve already made up my mind about this. To me, there is value in using GGPO that is difficult to articulate or justify to most people.