AI Timeline
Cutscene authoring — TimelineAssets, tracks (animation / audio / signal / …), clips, markers, and PlayableDirector binding.
At a glance
What the agent can do with it
Adds no MCP tools: it contributes an RQL module with the timeline source and adapters for TimelineAsset, TrackAsset, TimelineClip, Marker, PlayableDirector. That powers 5 capabilities the agent reaches through rql-query / rql-mutate. How RQL works →
- Create timelines
Create TimelineAssets and signal assets, and list every timeline in the project with its tracks and duration.
timeline | call Create("Assets/Cutscenes/Intro.playable", 30) - Tracks
Add Animation, Activation, Audio, Signal, Control or group tracks; list, mute, lock or delete them.
unity.asset("Assets/Cutscenes/Intro.playable") | call AddTrack("Animation", "Hero") - Clips & timing
Add clips to tracks and set start, duration, clip-in, speed, blends and eases — or move them in time.
unity.asset("Assets/Cutscenes/Intro.playable") | get tracks | where name == "Hero" | call AddClip(unity.asset("Assets/Anim/Walk.anim"), 2, 3, "Walk") - Markers & signals
Place markers and signal emitters on a track or on the timeline’s marker track.
unity.asset("Assets/Cutscenes/Intro.playable") | call AddMarker(3.5) - Play timelines in the scene
Point a PlayableDirector at a timeline and bind each track to the scene object it animates.
objects | get components | where $ is PlayableDirector | set playableAsset = unity.asset("Assets/Cutscenes/Intro.playable")
Install
Requires the base plugin com.ivanmurzak.unity.mcp. After installing, the RQL module loads with the package — the agent sees it in rql-schema.
openupm add com.ivanmurzak.unity.mcp.timelineWhen to ask the AI for it
Ask for cutscenes and sequences — a camera move timed to audio, an animated intro, a scripted event track.
Example prompts
Copy-pasteable first requests. Start with one, verify it in the editor, then build up.
Create a TimelineAsset called `Intro` with an Animation track bound to the `Camera`.Add a 3-second clip to the animation track on `Intro` and place a marker at the end.