When interacting with larger Models (such as: moving, duplicating, rotating or scaling) in Studio my network usage goes up.
It’s only happening within Team-Create in any game.
It happens like 50% and when it does kill my network I have to force close studio with Task Manager otherwise it will load forever.
Task Manager while interacting with larger Models:
When you drag a 1,000 part model, you’re really dragging 1,000 individual parts. Thus sending 1,000 part positions x 60 FPS = 60,000 positions per second across the network.
Long term the groundwork has been laid for some potential architectural changes which can avoid this, but there’s no hope of a fix any time soon.
As a workaround you can join the parts in the model with Welds or WeldConstraints rather than having them anchored (select all the parts in the model, and hit the “Weld” button in the “Constraints” menu to automatically generate a set of WeldConstraints joining the parts), so that they’re treated as part of a single assembly, and the engine only has to send the single assembly position across the network instead of many separate part positions.
I reckon it would be also possible to edit the place in a file and when the model is ready I could just copy and paste with original position, however it’s quite annoying. Thanks though!
Maybe not perfect solution, but many games on roblox did it so until you not finished moving certain object, it won’t be replicated to server and will only affect one client who currently moving object. This will send data to server only once, and not every frame.
Yup, that’s the idea. In practice that’s not as simple as it sounds. The difficult part is that you don’t want to stop all replication, just modify replication in targeted ways. Getting the relevant systems to understand each other sufficiently is not easy, requiring some significant refactoring.
E.g.: I insert Roblox HQ. This make take a moment to replicate to the server. What if I start dragging it before it’s done replicating? Should users see the half-replicated building while I’m doing the drag and replication is halted for those parts? That demonstrates how it’s not even enough to temporarily limit the replication of specific objects.
Maybe don’t allow to interact with model until it got replicated? And when it fully replicates to server, you will be able to do smth with it again. I think it won’t take a lot of time to replicate unless there’s very big model or/and very slow internet (may be wrong statement).