Thank you for the reply.
As I mentioned I managed to make it work with the "find by name", but I wasn't sure if this was optimal, and It makes me worried that maybe something else is wrong since I can't see why it would lose the player object in the global variable.
"The singleton" and "don't destroy object" are at the top of the FSM, it sets the global variable below them.
After some investigating I found out that removing the "singleton manager" from the player object makes the global variable keep the object. Obviously this creates a duplicate, so that is a no go.
SO, I made an new and empty project and tested this.
* Two objects, both start with singletonManager and dontDestroyObject.
* One object store the other in a global variable
* I reload the scene with loadLevel
* The global variable is now empty, no duplicates of the object is in the scene.
- Test to disable the singletonManager in the object that is stored.
* After reloading the scene, now the global variable keeps it's value, but obviously there is now a duplicate of the object.
So it seems that it's the Singleton manager action - in the object that IS stored- that cause this.