PlayableDirector: Stop vs Pause

I noticed that if i call Stop() on a PlayableDirector it seems set the graph to Null, and i assume its been disposed as the output .IsOutputValid() becomes false. Are they supposed to get rebuilt every time Play()/Stop() is cycled?

In my case i am re-configuring an output with a mixer for blending and so having to rebuild and redo all that work every time stop is called seems like a bad idea. The better option, particularly if they’re heavily re-used seems to be to call Pause() and then set the time back to 0 manually before hitting play() again.

Are there any consequences to either approach we should know about?

The playable graph generated by timeline is destroyed when Stop() is called; when a timeline finishes playing, we expect it not to leave any traces behind.

There is no problem in pausing the timeline and resetting its time to 0 if you restart your timeline frequently. This will avoid creating/destroying a playable graph on each cycle.

2 Likes

@julienb u r a champion <3