(I was unsure of where this should go in Development Support, but this seemed like the closest fit as there seemingly aren’t any scripts involved)
For context:
In my game I have several boats for players to use, differing in size, speed, and complexity. Most of the boats rely on buoyancy with terrain water to stay afloat (with variable adjusted density to get them to float at the right levels) and BodyAngularVelocity, BodyGyro, and BodyVelocity in a vehicleseat to actually move the boat.
However, one boat – the “Raft” – uses BodyPosition with a max force of 0 in X and Z in a single “main” part in order to keep it afloat, rather than relying on buoyancy.
The boats are spawned into the game from ReplicatedStorage by the players when placed.
The actual problem:
Many players of my game have complained about every boat except the raft not working, and I’ve experienced the bug yet have been unable to reliably reproduce it in any way despite its frequency. The raft always works, but the frequency of the bug with other boats has lead to players considering them completely broken.
When players place any boat, it floats and generally seems “non-broken”. Yet when players get in the vehicle seat of a boat afflicted with this bug, it just won’t move at all, in any way, from the player’s input. It can still be pushed around and isn’t anchored or welded to anything.
The strangest part of this bug is the fact that the bug appears to be per-boat, per-player. For example, Player A places Boat A and experiences the bug, yet when Player B tries to drive Boat A, they don’t experience the bug.
Here’s a screenshot of the afflicted boats:
The raft, the small single part and vehicle seat, is unaffected by the bug. The other boat – the Sailboat – is an example of the types of boats that are afflicted by the bug.
The best guess I have is lag, yet it doesn’t seem to account for the problem where the boats don’t move at all; it’s not just laggy movement, but no movement. For all I know, this may be an engine bug, but I don’t know anything so I’m not jumping to conclusions that it’s not my fault or just some quirk I’ve not noticed.
Does any idea how to fix this?