So I found a workaround which solves it (although probably not the most effective way). Each Prefab I create has a preset String variable called prefab.name.string. When I create the object, I add that name to a fairly often updated Array, along with other stats of that item. When I then load it, I get the original object name (since all the files are in seperate folders based on the item name, not prefab name), then load that prefab.name.string to spawn using my PoolManager. Then just load all the specific attributes to it. It's a pretty heavy FSM, but gets the job done.