Inventory System Save System - One Object Spawns on Play After Being Destroyed

Game Instance Event Init happens only once and before the controller exists.

to ensure order of operations its better the have the PlayerController BeginPlay set the variable on the gameinstance

that shouldnt be an issue.

just likely means your slot name is wrong, for player data just Hardcode it for now, ie use Player