Problem with data store ({CFrame:GetComponents()})

I’m making a saving system for models and I cant figure out how to get the CFrame of parts inside it to save I’m using {CFrame:GetComponents()} and CFrame.new(unpack()) like every post suggested but I cant get it to work I keep getting an error every time it attempts to desterilise.

{CFrame:GetComponents()}--Serialize 
CFrame.new(unpack())--Deserialize and gets error invalid argument #1 to 'unpack' (table expected, got string)

I’ve tried using a combination of rotation and position but that results in the models being disfigured I think the above method would be better because everyone is saying to use it

That should work. What are you passing into unpack()? Can you print that out?

it says “Model” I don’t know if that’s wrong or not but i know that nothing else is going to the wrong value as this is the only element of the system not working.

you are trying to use :GetComponents() on the CFrame BaseClass instead of an actual object.

It should be Model.CFrame:GetComponents(), keep in mind that this returns a tuple, not an array.

also, you are not unpacking a table at all as the parentheses are empty

I’m using it on every individual part in the model

SerialStuff = {v.CFrame:GetComponents()}

I just left them empty they’re not actually empty in the script and also the fact it returns a tuple fixed one error but made another error:

Block.CFrame = CFrame.new(unpack({Table[14],Table[15]}))
--invalid argument #1 to 'new' (Vector3 expected, got table) 

I just fixed the other method and fixed it up by snipping out and sewing parts together from a tutorial