Characters on Moving Platforms - Now Live


Yea. I think it has to do with if they either stand too close to the tires or if they stand in a part of the car that is like a bowl. The front of my car, there is no flat piece over the top of the turning wheels area. So you can slide down in where the mechanisms are. And then if they lag that could cause them getting like flung around in that area, which I’m assuming is what causes this issue.


For some time now i have realized that this system seems to be unreliable.
Quite a bit of the time, players seem to start moving all over, sliding backwards and forwards, and not maintaining the same position, which can be seen in the video bellow.


Don’t know, though i have a feeling its to do with how much stress the physics are under, and when they are under lots of stress it slows down? Causing the clients character to lag behind?

Hoping this gets fixed as this feature is really really amazing.


To be fair, it’s about 100000000000000x better than it was before.


Being able to define a gravity velocity for any given system has been something I’ve always really really wanted. I always therozied something like a region3 “gravity well” of sorts being a developer friendly way of going about that. Letting us define the upVector of a humanoid is a way better solution that allows for custom gravity forces to work the same as they already do using constraints.

The PlayerScripts could then use this upVector to adjust the camera and controller as needed; saves a lot of time writing custom controllers that aren’t future proof.

10/10 idea; you should open a dedicated suggestion thread if you haven’t already.


How are you moving this train? If the train is moving in a super unpredictable jittery motion, there character will slide around still. There are limits to how hard a character sticks to a surface in Roblox.

This feature only works when objects are moved by physics. If you are CFraming this train, or manually setting velocities yourself you are throwing this feature out a window.


It look really great, I don’t know if I will can benefit of this change, but I hope other developers will can use it to make cool stuff :heart:


Glad to see a feature like this added! <3


This is one of the few updates that I actually care about. It’s a major annoyance whenever you need to move stuff and keep the players on it.


Yay! This feature will be amazing. Glad this came out because I get annoyed with problems that occur when I am on moving platforms.


Not my game but seems that its due to the jittery motion. A wiki post or something detailing how this system will not work and explaining what we should do to get it to work flawlessly would be amazing if possible. Thank you for the reply however.


The old physics bothered me so much, the new physics have been needed for a long time :sparkling_heart:


So this is what maybe made my game more glitchy. o.o I noticed players tend to move around without any input similar to the train video above. Sometimes causing lag but that may just be something unrelated.
This issue only started to appear around the time this was made live, before my game was fine.
My game basically relies on the physics engine.


Was this game always using PGS on, or did it automatically get switched to PGS with some of our recent migration work?

This update wouldn’t have made this game worse. It would have actually made it way more reliable.


I think it may of been switched over but I’m not 100% sure, it uses PSG physics now, and I agree it had made it more reliable, Much less elastic lag, things feel more solid.

Only issue that annoys me now is that people get moved around randomly similar to this issue. Sometimes players get moved like 5+ studs away from their original position (The Ships networkownership is the server, nil)


So ever since I added NPCs to my game, my boats have been flinging around all over the place. This is incredibly annoying as it happens extremely often. I’m 99% sure it’s because of some issue with this feature.

To repro just spawn a ship and try sailing on it. There’s an extremely high chance it will start randomly getting flung.

I’m simply placing the humanoids on the boat, not welding them or anything. Please help!


Thank you for the report. It took me a while but I think I have a repro. It seems to happen only if your character owned an NPC while it was on the boat, and then relinquished ownership back to the server.

I suggest as a start making sure the NPC ownership is either set to the server or always set to the same ownership as the boat is, using the PartInstance:SetNetworkOwner( player ) API.

I’m going to debug this further and try to ship a fix for this.


Awesome, thanks so much for taking the time to do that!


Can finally make passengers on trains without forcing all of them to sit down, (I still weld them just incase)


I’ve been waiting for this. This was much needed!


By the way, I have a fix for your issue in the pipeline. I should be able to enable it in about 1 week.

The fix prevents any catastrophic behaviors but there is still an imperfection with what happens when NPCs change ownership while on a moving platform. Essentially due to latencies involved in changing ownership NPCs may drift behind the platform for a few frames until new data arrives from the new owner. Minimize NPC ownership transfer to optimize for smooth visuals!

The bug that I fixed was causing these characters to teleport to the origin positions of the platform, which was causing the boat to be jittered and shot around, and this should no longer happen.