Player Box Movement (Similar to Ultimate Boxing)

I’m interested in how this game achieved a box movement system. In the game Ultimate Boxing, players are in a box and can walk around to control the box’s movement. Below are examples of the system in action.

Game Link: Ultimate Boxing - Roblox
Video Example: https://www.youtube.com/watch?v=3iTaShJSAHI&ab_channel=The8-BitNinja

The game is uncopylocked; however, I’m not sure where to look at to find out how their movement system works. I did notice something about BodyGyros so maybe that has something to do with it. Ideally, I would want a solution that isn’t scripting heavy.

Any help/advice is appreciated.

Well, what you could do is make a basic box with a vehicleSeat on it, and make it so that a vectorForce is applied in the appropriate direction whenever you press the movement buttons

That’s one way of thinking about it. I’m trying to make a movement system myself similar to theirs where the player is actually moving inside of the box which you can see in the video.

Maybe just put a player in a box and turn up their movement speed a ton?
It’s probably a physics based solution

In the video, you can see the players walk normal speed inside of the box. This is why I think it has to do with the BodyGyros. In the open source game I sent, they put body gyros inside the box and the player.

I added this into a testing place in studio and it works after like 10 seconds of not touching the box.

Shown in the video below, for the first few seconds the movement does not work but after a short time, it starts to work. Any ideas on what might be causing this to happen or how to prevent it?

what is the friction of the box? in the video, the box is on water. it may be a friction thing-try changing the friction of the box or the surface it is on.

I doubt the actual box is on the water itself, it’s likely just an invisible part. Though, I wouldnt think it has to do with the friction as it works perfectly after like 30 seconds. I have no clue what causes it to only start working after 30 seconds without touching it.