JsonUtility implicit serialization for persistence across Unity Editor Sessions

I need to implicitly store states of a data structure to populate a ScriptableObject loading/saving it from/to a TextAsset across multiple Unity Editor sessions (opened and closed) and different machines (git pulls).

The state contains references to other assets, these need to be resolved when loading them in a new session.

Serialization itself is done via and Editor extension on a inheritable class (e.g. Storeable : ScriptableObject)

Current Focus: Is there a way to instead of JsonUtility using instanceIDs, have it use guid or name as an alternative where instanceID is lost across new Unity Editor sessions?

Version : 2021.2.0b7

Unfortunately I had to write my own custom Unity serializer (4 Files). See attached files. Allows loading of assets across multiple platforms. This was used to load and and save state machines across multiple editors from Json files. But it can be used for almost anything so far.

Feel free contact me for any questions on my external/extended solution.

Note : not yet tested outside my own use scope.

7476800–919286–ISerializer.cs (1.83 KB)
7476800–919289–TSerializer.cs (10.6 KB)
7476800–919292–Json.cs (12.1 KB)
7476800–919295–TSingelton.cs (796 Bytes)