Inventory System doesn't save

Hello, I am trying to create a saving inventory system for our game, however whenever it tries to save skins, it always returns “nil” for the table & never saves the currently equipped weapons, I.E sets it to the Default value
This is code for it:

game.Players.PlayerRemoving:Connect(function(Player)
	local Data = Player:WaitForChild("Data")
	local JuggernautsFolder = Data:WaitForChild("Juggernauts")
	local PlayerSkins = Data:WaitForChild("PlayerSkins")
	local EquippedGun = Data:WaitForChild("EquippedGun")
	local EquippedKnife = Data:WaitForChild("EquippedKnife")
	local EquippedJuggernaut = Data:WaitForChild("EquippedJuggernaut")
	local Coins = Data:WaitForChild("Coins")
	JuggernautDatastore:SetAsync(Player.UserId.."-CoinsData",Coins.Value)
	JuggernautDatastore:SetAsync(Player.UserId.."-EquippedGData",EquippedGun.Value)
	JuggernautDatastore:SetAsync(Player.UserId.."-EquippedKData",EquippedKnife.Value)
	JuggernautDatastore:SetAsync(Player.UserId.."-EquippedJData",EquippedJuggernaut.Value)
	local SkinsTable = {}
	if not #PlayerSkins:GetChildren() == 0 then
		for I,Skin in pairs(PlayerSkins:GetChildren()) do
			table.insert(SkinsTable,I,Skin.Name)
		end
		JuggernautDatastore:SetAsync(Player.UserId.."-SkinsData",SkinsTable)
	end
	local JuggernautTable = {}
	if not #JuggernautsFolder:GetChildren() == 0 then
		for I,Juggernaut in pairs(JuggernautsFolder:GetChildren()) do
			table.insert(JuggernautTable,I,Juggernaut)
		end
		JuggernautDatastore:SetAsync(Player.UserId.."-JuggernautData",JuggernautTable)
	end
end)