Skip to main content

Standalone Animations

Standalone Animation clips are reusable, concurrent scene sequences. They are designed for doors, lifts, indicators, UI motion, short environmental beats, rumble envelopes, and skeletal clip events that should run without taking over the scene's cutscene timeline.

Author them in View > Advanced Scene Authoring > Animations.

Visual Timeline

The Animations tab provides a ruler, playhead, zoom slider, Fit control, and a horizontal view control for long clips. Click the ruler to scrub. Click a keyframe diamond to select it, double-click an empty track row to create a default key, or drag a diamond to retime it. Creation and drag operations are integrated with scene Undo, and the timeline is read-only during Play Mode and builds.

Choose the Correct Animation System

SystemUse it forConcurrency
Transform Animator and TransformAnimator.*Named transform states owned by one GameObjectPer component
Animator and Animator.*Imported hard-skinned FBX clipsPer component
Standalone Animation.*Reusable scene tracks and UI/environment motionUp to 8 active instances
Timeline.*An exclusive cutscene with camera, audio, scripts, fog, or control blockingOne active cutscene

Standalone clips do not contain camera, audio, script, or fog tracks. Put those tracks in a cutscene timeline.

Clip Settings

Each clip has a unique name, duration, playback speed, and default loop flag. Keyframe times are measured in seconds. Playback speed multiplies scene time, and PAL/NTSC runtime timing does not change the authored duration.

Track Types

GroupTracks
GameObjectPosition, rotation, scale, enabled state
UIVisibility, ProgressBar value, color, anchored position, size
FeedbackRumble Small and Rumble Large
SkeletalPlay a named clip on a target Animator

UI Position writes the element's anchored X/Y position. UI Size writes its positive X/Y size. Skeletal events use the keyframe event name as the target clip and the keyframe boolean as its loop setting.

Vector, scalar, and color tracks support Step, Linear, Ease In, Ease Out, and Ease In Out interpolation. Boolean values and skeletal events are discrete.

Concurrent Playback and Conflicts

The runtime has eight active animation slots. Animation.Play() takes the first free slot, and the same clip may be started more than once. Active slots are evaluated from slot 0 through slot 7.

If concurrent clips write the same property in the same frame, the higher-numbered slot deterministically wins. Allocation always uses the first free slot, so start time alone is not a priority guarantee. Prefer disjoint tracks; when a conflict is intentional, control the active set and treat the actual slot ordering as part of the scene design.

Animation.Stop("Name") stops every active instance with that clip name. Animation.Stop() stops all standalone animations. Stopping never invokes a completion callback.

Completion Behavior

A non-looping instance can receive an OnComplete Lua callback. It runs only after natural playback reaches the end. Loop wraps and explicit stops do not invoke it. A looping clip therefore never completes naturally until it is replaced with a non-looping play.

See the standalone Animation Lua API for examples and exact call signatures.

Limits

ResourceLimit
Clips per scene12
Concurrent active instances8
Tracks per clip12
Keyframes per track48
Keyframes across all standalone clips256

The editor and build validator reject unsupported tracks, invalid targets, non-increasing times, and content above these capacities. Use the editor preview for iteration, then verify concurrent playback and conflicts in the packaged PS1 build.