Setting Async returns error

script.Parent.MouseButton1Click:Connect(function(Clicked)
	
	local Map = game.Workspace.Map:GetChildren()

	table.clear(Table)

	for i = 1, #Map do
		
		local Model = {
			["Name"] = {Map[i].Name},
			["CFrame"] = {Map[i].PrimaryPart.CFrame}
			}
		
		table.insert(Table, Model)
		
	end
	
	print(table.unpack(Table, 1))
	
	print(Plr.UserId)
	
	Store:GetAsync(Plr.UserId)
	
	Store:SetAsync(Plr.UserId, Table)
	
end)

104: Cannot store Array in data store. Data stores can only accept valid UTF-8 characters.

You can’t save a CFrame, but you can use GetComponents and then build it.

script.Parent.MouseButton1Click:Connect(function(Clicked)

	local Map = game.Workspace.Map:GetChildren()
	table.clear(Table)

	for i, Object in pairs(Map) do
		table.insert(Table, {
			["Name"] = Object.Name,
			["CFrame"] = {Object:GetPivot():GetComponents()}
		})
	end
	
	print(table.unpack(Table, 1))

	print(Plr.UserId)

	Store:GetAsync(Plr.UserId)

	Store:SetAsync(Plr.UserId, Table)

end)

After

local Components = -- get from GetAsync
local CF = CFrame.new(table.unpack(Components))

Source: GetPivot