So I have a big player-controlled truck. It consists of 6 different assemblies, a spinner, four wheels and the main body. This is what it looks like in studio with “Are Assemblies Shown” enabled:
Everything is also part of the same mechanism:
The wheels are connected with cylindrical to the main body assembly, and the spinner is connected with a hinge constraint connected to the body.
Using this setup, about 40% of the time that the big spinner touches a player-controlled object owned by someone else they will get flung away with a velocity completely disproportional to how fast the truck was moving, as demonstrated here: (other 60% nothing happens)
If you check the velocity property of a part on this spinner object it’ll appear as constant (0,0,0) on the server and something that updates about once every 10 seconds on the client. I haven’t checked these properties in live servers but I have confirmed and recorded that the fling bug happens there too if that’s to any help.
The flinging also happens no matter if the spinner is spinning or not, in the video the ActuatorType is set to Motor with an AngularVelocity but the same thing happens if it’s set to none.
The reason I’m tying this to local physics simulation is because if I add a BodyGyro to the small car it will completely fix the issue. This disables local physics simulation as explained by @Khanovich in an earlier post: Physics interaction between player controlled objects isn't working properly (I’ve confirmed that it’s actually disabled when testing this using “Are Owners Shown” set to true)
I can’t tie this bug to a specific date however since I developed the vehicle a few days ago and haven’t made anything similar before. Feel free to DM me if any repro files are needed!