I’m almost sure this is an engine bug but I brought it here just to be safe.
so I was working on a game that requires you to push a trash can to a dumpster in order to win when I noticed the trash can would suddenly fly away while you push it. this didn’t happen until yesterday and I didn’t make any changes to the bodymover that applied the lower gravity so I was confused.
I made some examples to show that BodyForce and the new improved VectorForce both have this issue:
as you can see the parts eventually fly away when I push them around.
is there a way to fix this?
here’s the code I used to make them have lower gravity:
local grav = workspace.Gravity*script.Parent:GetMass()
local body = script.Parent:WaitForChild("BodyForce")
body.Force = Vector3.new(0,grav/1.5,0)
that’s what I thought for a while and I did some tests with no network ownership and with network ownership and it still happens. the game that I’m making pretty much requires it though as not having it is torturous and very laggy.
I’ll try doing some tests with networkownershipauto turned off and see if theres any differences.
as you can see having network ownership off does fix the issue. but this still doesn’t change how this just suddenly started happening the other day and completely broke bodymovers on client physics. and as I said before, I do need the trash can in my game to be on client physics otherwise it would be way too glitchy.
It might have to do with the part’s network ownership being moved to the player. (Though that behavior is definitely very strange.)
I wonder if what is going on is that there are different gravity values on the client and server such that when the part’s ownership moves to the client the physics still uses the same bodymover but has a different gravity value.
You could test this by manually setting the ownership of the part to the server or player.