Disable Roblox's default behaviour for standing on moving platforms?

I’m currently creating my own implementation for walking around and jumping on moving platforms. It works great however, my current method to disable Roblox’s default behaviour is to create a fake part and CFrame it to the floor of a plane every step. This creates a very laggy effect and causes the fake part (blue) to drag behind the plane at high speeds, which completely destroys the immersion.

https://gyazo.com/d9bf73c4dfa30d241f832e5b2ea7fa37 (blue is the fake part, I raised it so it’s easier to see)

Is there a better way to get around Roblox’s default behaviour? I don’t care if its hacky (this one already is) it just needs to get rid of the laggy effect.

3 Likes

This behaviour cannot be disabled. As far as hacking something together to circumvent this behaviour, I’m not sure about that either.

I’m not really sure what that default behaviour has to do with this though. It looks as though you’re sitting on a plane (which then you could use PlatformStand, which I do believe voids some behaviours from Humanoids). If I’m misunderstanding, please do correct me.

Already tried it, doesn’t work.

I’m flying the plane. The goal is that other people can stand up on it and walk around in flight. This part already works great, however it is ruined by this laggy fake platform.

Its probably a roblox bug and not your fault, but I’m not sure. Maybe wait for a moderator to view their point on this.

What is the purpose of the blue platform? I’m just trying to get an understanding of the situation, to note.

@Hadiisepic This is not a bug and doesn’t need moderator intervention either. Try to keep responses credible and helpful.

Correct me if I misunderstood what you think is a bug, but welding something so another part is suppose to result in this behaviour. If a part is unanchored and controlled (in some way) by a body mover then Roblox’s default behaviour will happen.

Correct me if I’m wrong

You basically want people to walk inside the plane while flying?
And the problem is that the “platform” is moving everywhere?

My current solution is to create a fake part (the blue part) that is CFramed to the floor every step. Players then stand on the fake part (it is raised a tiny bit) and because the fake part is CFramed, Roblox’s default behaviour doesn’t occur because of this:

Edit: Then I do some other stuff that actually allows them to walk on the fake platform, however I don’t need to go into detail on that bit because it works fine.

1 Like

That is what the OP says, yes. Roblox’s current behaviour is buggy, unreliable and people can’t jump when using it (momentum isn’t carried when jumping)

Right, the same thing that happened with the trains in Jailbreak.
I would suggest you read this article about momentum in Roblox: Jailbreaks’ Train Problem. Jailbreak is a fairly popular game on… | by SpooksHD | Axised | Medium


This will help you greatly, and might be the answer!

I’ve said it multiple times in this post. Players on the moving platform is not my issue. That already works really well. The issue is getting the fake part to CFrame to the real part without the lag.

Are you performing this from the client or the server? The client would run this operation faster than the server, if the latter is the case.

Updating the platform CFrame happens on the server, and walking on a moving platform is all handled by the client. I might have found a solution that I’m checking out now, though.

What do you mean in “Fake Part”, if the players can move on the “Real Part” why have a “Fake Part”. Can you explain.

I’ve already said that they move on the fake part, and I’ve already explained it

Try creating the part locally and CFraming/simulating it from the client. This would ensure that no lag ensues between replicating the plane’s movement from the pilot and moving the fake floor around.

1 Like

If your goal is to make the blue part not lag behind, use renderstepped with CFrame (dont use heartbeat), and make it client sided in order to eliminate the lag.

Try AlignPosition + AlignOrientation with rigidity enabled, instead of CFraming on the blue part. Note that none of the parts can be anchored, otherwise it wont replicate to client.

1 Like

I’m going to try this when I’m back from school.