Saving position

Hello,
I am using transform.SetParent to change the parent/position of a GameObject, but when I restart the game it goes back to its old position. Do I need to use a whole save system for that? This is for inventory purposes.

if you destroy and recreate your object hierarchy (or reload a scene) it will revert to the initial state of course.
But you can store the information in variables somewhere in your scripts (just make sure that it survives a scene switch). A save system is only required if you want to store the data among game sessions.

If “game sessions” means restarting the game - yes, I need that

then you need saving all data to a file and loading it again.