Hi,
Of course. I do that ALL the time
It's actually a very important pattern to master to get anywhere in large projects.
I even use xml as the data back end, so in your typically cut the rope game, all the user data, progress, score etc etc is stored in an xml in the app resources. and access at runtime when needed. and I write back to the xml when the user data has changed ( new score, new progress, new unlocks etc etc).
and that is ALL done via gameobject that persists throughout level loading and the user navigation.
the main reason is to prevent redundant data access, once you have your user data, it's not cool to get it again ang again on each level load isn't it...
the second very important reason is that you can better edit and work on your games and levels, coupled with "singleton" approach, you can have a prefab sitting on EACH level, but at runtime, only one will be there at any time and on each level load, redundant prefabs are destroyed.
bye,
Jean