Player Character - MassiveMiniteam/OddModKit GitHub Wiki

The BP_P_PlayerCharacter is a Character but also the PresentationActor of the SimulationPlayer (BP_S_PlayerCharacter).

A SimulationPlayer will be spawned for a new client and will never destroyed. If a client disconnects, the bIsOnline bool will be set to false.

The BP_P_PlayerCharacter is the only thing in the game that is replicated from the host. Each simulation frame, the SimulationPlayer schedules a USetObjectPositionAndMovementSpeedSimulationCommand which handles the movement of the player. The Characters of the other clients will interpolate the position and rotation based on that.

That means the simulation position of the Player is always lagging 300ms behind and attacks etc. might hit the logical player even if it doesnt look like it for the local player. It will look correct for other players though.

This gif demonstrates the lag between the local player presentation (actual character model) and the simulation (red circle).

LaggingSimulationPlayer