Timeline And Cinemachine

Abhishek Smith

Abhishek Smith

Building Outscal | Land Jobs in the gaming industry | EA, Epic Games, TCS, | CMU, IIT K

Timeline Basics

  • playableDirector.Play() = Start timeline
  • playableDirector.time = Set current time
  • playableDirector.duration = Get total length
  • playableDirector.Evaluate() = Preview state

❌ Don't modify timeline during playback!


Timeline Setup

  • SetGenericBinding() = Connect tracks to objects
  • CreateTrack<T>() = Add new timeline track
  • extrapolationMode = Control post-timeline behavior

✅ Perfect for scripted sequences


Virtual Camera Essentials

  • m_Lens.FieldOfView = Camera FOV
  • Priority = Camera importance
  • Follow = Target to track
  • LookAt = Focus point

✅ Great for dynamic camera work


Camera Components

  • Transposer = Position offset control
  • Composer = Smart framing system
  • Damping = Smooth movement
  • Dead zone = Stable framing area

❌ Don't overuse damping on fast objects


Pro Tips:

  • Cache PlayableDirector references
  • Use Timeline signals for events
  • Blend between virtual cameras
  • Set appropriate priorities
  • Use noise for natural camera feel

Common Pitfalls:

  • Too many active virtual cameras
  • Excessive camera shake/noise
  • Missing timeline bindings
  • Improper blend durations
  • Forgetting camera collisions

Show More