Cannot Parent Part to Model

Hi, I am trying to loop through a model’s children, clone them, and add them into a new model instance.
Unfortunately, only a few of the children get parented to the new Model. Here is my code:

local event = game.ReplicatedStorage.RemoteEvents.MorphPlayer

event.OnServerEvent:Connect(function(player, character)
	local characterFolder = game.ReplicatedStorage.Characters:WaitForChild(character)
	local characterModel = characterFolder:WaitForChild(character)
	local playerCharacter = player.Character or player.CharacterAdded:Wait()
	local clonedCharacterModel = Instance.new("Model")
	clonedCharacterModel.Name = characterModel.Name
	for i, v in pairs(characterModel:children()) do
		print(v.Archivable)
		local clonedValue = v:Clone()
		if clonedValue.Name == "HumanoidRootPart" then
			clonedCharacterModel.PrimaryPart = clonedValue
		end
		clonedValue.Parent = clonedCharacterModel
	end
	
	
	
	clonedCharacterModel.PrimaryPart.CFrame = playerCharacter.HumanoidRootPart.CFrame
	clonedCharacterModel.Name = playerCharacter.Name
	player.Character = clonedCharacterModel
	clonedCharacterModel.Parent = workspace
	
end)

First I’d make sure the model as well as each part is Archivable by setting v.Archivable = true. By default the player character has Archivable set to false as seen here Can't clone character? - #3 by TheGamer101

I see you’re using events which is good however is there a chance the model you are trying to clone has parts that were created by the client and therefor don’t exist on the server? This would cause these parts to not be cloned. The code itself looks like it’d work otherwise

I just found out why my script wasn’t working (well it was, i’ll explain).

All the part’s CanCollide property were set to false so they just fell through the world and got deleted by the server. Thanks for your help anyways!