private void Awake() { this.SafeGetComponent(ref _animator); // for objects in bundles, it'll be pre-scrubbed out #if UNITY_EDITOR _animator.runtimeAnimatorController = null; #endif _graph = PlayableGraph.Create(); _playSelectorOwner = ScriptPlayable <PlaySelectorPlayable> .Create(_graph); _playSelector = _playSelectorOwner.GetBehaviour(); _playSelector.Initialize(_playSelectorOwner, _graph); var playableOutput = AnimationPlayableOutput.Create(_graph, "Animation", _animator); playableOutput.SetSourcePlayable(_playSelectorOwner); playableOutput.SetSourceInputPort(0); #if UNITY_EDITOR GraphVisualizerClient.Show(_graph, string.Format("{0}.PlayObjectAnimations", gameObject.name)); #endif _graph.Play(); _playSelectorOwner.Pause(); }