Download

How to have normal physics collision against actor that ONLY exists on client?

I have a cube that simulates physics and exists ONLY on the client. The client’s speed does NOT slow down when pushing against the box because the server doesn’t have the same box for that player to collide with (at least, that is what I assume is happening).

Is there any way to solve this issue so that the client player gets slowed down by his local cube the same way he would get slowed down for a cube on the server? Essential I want the same effect pushing around cube that only exists locally that I would get pushing a cube that exists on both the client and server.

What you’re trying to do is unlikely to go well. The server is authority for a reason :slight_smile:
You could make the client be authority for the entity, and replicate to the server, and then replicate to all other players. This would add a cheater possibility, and it would also add lag from the player to other players.
You could also detect the local collision, and send an event to the server with the information of the collision so the server could adjust the velocity/position of the player. This might lead to some jumpiness, and would still open up some cheating possibility, but it’s better (from that point of view) than client authoritative.

My recommendation is to put the box on the server, too. If other players shouldn’t be affected, use collision channels or something to restrict the collision to only players that should be affected.