1. What do you want to achieve?
I want certain models that move around the map to stay in the game permanently once they’re spawned, without being removed automatically or by streaming.
2. What is the issue?
After a few minutes, these models suddenly disappear from Workspace.
There are no scripts calling Destroy(), no cleanup logic, and no server errors.
Other models in the same folder remain untouched — only these moving ones are removed.
When I log events, I can see that the model’s Parent becomes nil, but nothing in my code causes that:
[DEBUG] Parent became nil -> reparenting to Workspace
3. What solutions have you tried so far?
Verified that no script calls Destroy() or clears the folder.
Tried adding a Humanoid (it stops the deletion, but I prefer not to use one).
Tested both anchored and unanchored versions.
The issue persists even with all safety checks.
you might wanna check for streaming enabled, Roblox’s rendering could be the issue, because a parts parent can become nil to the client if very far away in an un loaded chunk. Change the streaming enabled property under workspace and it might be fixed.
You can either turn off streaming (which means everything in workspace will always be on the client), or you can turn off streaming for certain models by setting Model.ModelStreamingMode to Persistent.
My recommendation: if you don’t want it for any models, turn off streaming. If you don’t want it for specific models, use the ModelStreamingMode setting.
Is it a part you’re cloning into the workspace? And could you be cloning it using the Debris service, where you might accidentally be cleaning up the part after some time?
Thanks a lot! You were completely right , the model was being moved below the workspace.FallenPartsDestroyHeight, which explained why it was being deleted after a while. I adjusted the flight code and anchored the root part slightly above the threshold, and now everything works perfectly. Really appreciate your help spotting that!