Skip to content

Commit f0de5c7

Browse files
committed
Create dummy timeline playable if no playable director on target scene
1 parent 70e9160 commit f0de5c7

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

Assets/SharedAssets/Benchmark/PerformanceTestStage.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using UnityEngine.Playables;
77
using UnityEngine.SceneManagement;
88
using UnityEngine.Serialization;
9+
using UnityEngine.Timeline;
910
using UnityEngine.UIElements;
1011

1112
namespace Benchmarking
@@ -266,6 +267,18 @@ IEnumerator LoadAndInit()
266267
_playableDirector = directors.First(d => (d.gameObject.name == "CinematicTimeline") || d.gameObject.CompareTag("BenchmarkTimeline"));
267268
else if (directors.Length > 0)
268269
_playableDirector = directors[0];
270+
271+
if (directors.Length <= 0)
272+
{
273+
// create dummy PlayableAsset with benchmarkDuration
274+
var timelineAsset = ScriptableObject.CreateInstance<TimelineAsset>();
275+
var track = timelineAsset.CreateTrack<ControlTrack>(null, "Control Track");
276+
var clip = track.CreateDefaultClip();
277+
clip.duration = 30;
278+
279+
_playableDirector = new GameObject("CinematicTimeline").AddComponent<PlayableDirector>();
280+
_playableDirector.playableAsset = timelineAsset;
281+
}
269282

270283
if (_playableDirector != null)
271284
{

0 commit comments

Comments
 (0)