Download

What should happen if you have Replicated checked but not Net Load on Client?

I’m trying to figure out the relationship between Replicated and Net Load on Client.

I’ve got a vehicle with a trigger collider at the driver door to allow the player to enter the vehicle. The collider is a child of the vehicle mesh, and set to moveable. The vehicle is in the map the players spawn in, and I have both Replicated and Net Load on Client checked on the vehicle. On a dedicated server, if a player enters the vehicle and drives it away, then later on another player joins the server, the new player’s system sees the vehicle where the first player left it, but it thinks the door collider is at its original location – where the vehicle was initially positioned, not where the vehicle is currently located. The dedicated server sees the collider at the correct position, and so do players that were online before the vehicle was moved.

If, however, I uncheck Net Load on Client (but leave Replicated checked) on the vehicle, the problem is solved. When a new client logs on after the vehicle has been moved, the new client sees the collider as being right next to the driver door, as it ought to be.

In the C++ engine code, I can see that unchecking Net Load on Client does exactly what it says on the tin: it prevents the actor from being loaded during map load on the client. It seems like Replicated and Net Load on Client should go hand-in-hand, though. It appears that unchecking Net Load on Client does not prevent a replicated actor from showing up on the client. It merely prevents the actor from showing up during map load. The server will still cause the client to spawn the actor if Replicated is still checked.

Am I right about that? Is my scenario one where I should indeed be unchecking Net Load on Client, or am I just masking a larger problem somehow?