public override void ProcessFrame(Playable playable, FrameData info, object playerData) { trackBinding = playerData as Platoon; if (trackBinding == null) { return; } if (!firstFrameHappened) { defaultPositions = trackBinding.GetCurrentPositions(); firstFrameHappened = true; } //different behaviour depending if Unity is in Play mode or not, //because NavMeshAgent is not available in Edit mode if (Application.isPlaying) { ProcessPlayModeFrame(playable); } else { ProcessEditModeFrame(playable); } }