'Resync' a Model with the client

I want to delete the map on the client side when they are in the main menu, and then add it back in, as if it was always there, the issue is that sending the model through a RemoteEvent to the client only yields the model and none of its descendants.

--Server Side
for Index, Map in pairs(Services.Workspace:GetChildren()) do
		if Map:HasTag("Map") then
			print(Map:GetChildren())
			LoadMapRemote:FireClient(Player, Map)
		end
	end
end)
--prints a table of all the children of the map

--Client Side
RemotesFolder.LoadMapRemote.OnClientEvent:Connect(function(Map)
	print(Map:GetChildren())
end)
--prints '{}', an empty table
1 Like

Maybe you could try reparenting the entire map to ReplicatedStorage instead of destroying it… Unfortunately I can’t quite think of any other solutions as Roblox doesn’t provide any forceful ways to unstream objects that I can think of.

Lmk if that works!

3 Likes

I think sending instances through RemoteEvents sends their reference, and if it doesn’t exist on the client, then that client won’t know what that reference points to. Just use Kinder’s solution or parent it to nil and parent it back to workspace later

2 Likes