Character clipping through Moving Objects

Hello,

When tweening objects (In my case a model, using the PrimaryPart, and the models other children are welded to the Primary) upon colliding with Player-1, from Player-1 perspective everything is fine, the moving object pushes Player-1 correctly.

But the problem is, from Player-2’s perspective, Player-1 clips through the moving object like halfway through before getting pushed. So from Player-2’s perspective Player-1 goes inside the moving object before getting pushed.

I tried tweening from both the Server (tween directly from the server) and Client (sending data from server with remotes to start the tween on clients), both had the same result.

What causes this? Should i use math to move the object instead of tweening? Or is this a desync problem? What can i do to fix it? Thanks in advance! :pray:

1 Like

It’s due to client-server replication. In Roblox, the client’s movement are handled by itself and then sent to the server to be replicated to the server. That’s why higher ping players will observe others “delayed.”

2 Likes

You are able to bypass this by using this very simple one-line script:

workspace.Part:SetNetworkOwner(player)
--Makes the part client-sided, but still replicable in the server.
1 Like

Woudnt this allow exploiters to mess things up? For example simply turn off collision on the part, or teleport it away? Dodging/jumping on these objects are part of the core gameplay, isnt it a problem? Or exploiting is not a thing anymore? Thanks :pray:

Edit: Just realised the Network Ownership API cannot be called on Anchored parts or parts welded to Anchored parts. :smiling_face_with_tear:

Yes, but what can they mess up?

Since it is client-sided but still does replicate to the server, you can still do server-checks.