Hi.
Maybe this is a possibility:
if you have a lot already going on in your project, i would make an empty object and place an fsm on that (called DataHolder for example)
Then just before changing scene, use 'set fsm' actions to set the data you need for the other scene.
then on the other scene you need to use 'get fsm' actions to get the data you need @ the start of your scene or when you need it.
To connect you need to use a global (DataHolderObj) and also you need to set the 'DataHolder' gameobject to the global by using "Set Game Object"
Then you also need to use "Send Active Scene Changed Event" and point it back to do the "Set Game Object" again
You could do something similar to the player instead of making the dataholder.
Make a backup!! and play around a bit to see what works best.