Custom movement + replication for multiplayer with PhysCustom

Hey all! I’ve been working on custom quakeworld type movement now for a couple of weeks and last week I finally nailed it on single player. I’m very happy with how its working. I feel its minimal enough code however when it comes to multiplayer it just wont work. For ground movement and jump I’m using(for the most part) CMC and that will replicate. When I’m in air and my custom physics kicks in I get the usual jerky movement that you would expect from unreplicated movement in a multiplayer game where the client wants to go to x/y/z but the server doens’t accept that the client is at x/y/z so it rubber bands you back to the original location.

Having looked at other implementations where speed is changing there is typically an RPC call where someone sets the character max walk speed and they slow down / speed up etc. Then some sort of prediction logic / compression kicks in which smooths things out.

Ultimately, “Velocity” is what gets updated in my function, so I can update that remotely and it works (kind of), but it’s nowhere near where it needs to be with smoothness. Does anyone have an example of a movement component that handles movement via PhysCustom that updates Velocity and takes care of prediction / validation etc?

I feel like this is something that most developers would benefit from having out of the box, much like how CMC is replicated on third person templates.

Even if you don’t have an example, I’d like to hear if others have faced the same problem before.

Thanks!

bump?

To implement custom movement and replication for multiplayer with PhysCustom in a game engine like Unreal Engine, it’s important to integrate custom movement logic with the replication system to ensure that each player’s movement is synchronized across all clients.