ExposedReference Exposed Reference How to build custom solvers like that used in Timeline??? [SOLVED]

ExposedReference expose scene object to ur editor scriptable objects? People had problems saving sceneObjects, searching for GO ids for long?

IExposePropertyTable PropertyName

Additional Info:

Load thru assets as runtime:

var timeline = Resources.Load("myTimeline");
var so1 = new SerializedObject(timeline, mComponent1);
var so2 = new SerializedObject(timeline, mComponent2);

var theCamera = so1.FindProperty("sceneCamera").exposedReferenceValue;
var anotherCamera =so2.FindProperty("sceneCamera").exposedReferenceValue;

Assign UID:

 ExposedReference<GameObject> goExRef = new  ExposedReference<GameObject> ();//defined in asset
    var text = GUID.Generate().ToString();
    
    PropertyName id = new PropertyName(text);
goExRef.exposedName=id;

or

goExRef.exposedName=GUID.Generate().ToString();

as PlayableDirector implement IExposePropertyTable in Playable assets you resolve ExposedReferences against it as context

exposedRef.Resolve(playableDirector)

or thru PlayableGraph.GetResolver()