Is there a way to make this physics mechanism which is not network owned by me not lag?
I want to optimize my game a littlebit better, but i dont know if its even possible to optimize a creation like this, so i was wondering if anyone else knew of something.
You can move this to the server with BasePart:SetNetworkOwnership(nil) however I suspect it will cause unwanted side effects (notably skipping and server lag). This is what I’d call a engine limitation with physics on a lower end client (or limited FPS).
There is a solution, you could use a client with the highest FPS to do the work.
Local Script;
local FPS = workspace:GetRealPhysicsFPS()
if FPS > 60 then
-- Request to own the Model
end
Assure that you manage this effectively on the server with checks. Also make sure you do it with a set model and the Client cannot choose what BasePart to setownership.
It’s lagging when you get near because you are the closet client. When it sets you as the network owner, your client does the work for processing the physics. There isn’t really a way to fix physics as it is the game engine.
You could try making the vehicle animated with an AnimationController. Then moving it with a velocity.
Don’t use Roblox physics for this. The engine has severe limitations on active, unanchored parts.
Use RunService.RenderStepped or RunService.Heartbeat to code and animate system properly.