Multiplayer Updating Collision Profile on the server

Hello, I am working on adding a spell to my game which makes a player fall through specific platforms. I am seeing some issue where - when changing the collision preset of a pawn on the server - all clients except for the affected one is seeing the updated collision properly, it is smooth. However, the effect pawn seems to rubberband its way down as it falls through the platforms it new collision is set to overlap. While rubberbanding I can see it almost looks like it is struggling to understand that is now capable of overlapping. This is only happening on the client casting the spell.
I have tried to set the collision method to multicast in an attempt to get it to update properly on the owning client, however this still isn’t working. I’m not sure why this would look fine for all clients except for the effected one?

When a player casts the spell, their pawn is added to an array on the server which will handle updating the overlap when cast and then reverting back to normal collision when the spell expires. All of this logic is happening in the game mode since I would like for it to run on the server.

Does anyone have any suggestion as to why the single clients pawn would try to predict movement around the platform instead of implementing the new collision and falling through smoothly?

The controlling client is the only one predicting/simulating its movement, other clients only follow what the server says.

What you are experiencing simply means you changed the collision on server side but not on owning client.

I don’t know what happened with the Multicast but you probably did something wrong. Gamemode class cannot multicast since it’s not replicated at all. Instead of storing an array of pawns, why not add a single variable in the pawn(character) itself ? You could then make that variable replicate with RepNotify, and update the collision profile in the RepNotify event.

1 Like

Thanks! That was a perfect solutions!

The player has an is Banished boolean that I changed to rep notify, in that function I added my game mode code and it worked. I must have been over thinking the problem.