Class TimelineAsset
A PlayableAsset that represents a timeline.
Namespace: UnityEngine.Timeline
Syntax
public class TimelineAsset : PlayableAsset, ISerializationCallbackReceiver, ITimelineClipAsset, IPropertyPreview
Properties
clipCaps
The capabilities supported by all clips in the timeline.
Declaration
public ClipCaps clipCaps { get; }
Property Value
Type | Description |
---|---|
ClipCaps |
Implements
duration
The length, in seconds, of the timeline
Declaration
public override double duration { get; }
Property Value
Type | Description |
---|---|
Double |
durationMode
The mode used to determine the duration of the Timeline
Declaration
public TimelineAsset.DurationMode durationMode { get; set; }
Property Value
Type | Description |
---|---|
TimelineAsset.DurationMode |
editorSettings
Settings used by timeline for editing purposes
Declaration
public TimelineAsset.EditorSettings editorSettings { get; }
Property Value
Type | Description |
---|---|
TimelineAsset.EditorSettings |
fixedDuration
The length of the timeline when durationMode is set to fixed length.
Declaration
public double fixedDuration { get; set; }
Property Value
Type | Description |
---|---|
Double |
markerTrack
Gets the marker track for this TimelineAsset.
Declaration
public MarkerTrack markerTrack { get; }
Property Value
Type | Description |
---|---|
MarkerTrack | Returns the marker track. |
Remarks
Use GetMarkers() to get a list of the markers on the returned track.
outputs
A description of the PlayableOutputs that will be created by the timeline when instantiated.
Declaration
public override IEnumerable<PlayableBinding> outputs { get; }
Property Value
Type | Description |
---|---|
IEnumerable<PlayableBinding> |
Remarks
Each track will create an PlayableOutput
outputTrackCount
Returns the the number of output tracks in the Timeline.
Declaration
public int outputTrackCount { get; }
Property Value
Type | Description |
---|---|
Int32 |
Remarks
An output track is a track the generates a PlayableOutput. In general, an output track is any track that is not a GroupTrack, a subtrack, or override track.
rootTrackCount
Returns the number of tracks at the root level of the timeline.
Declaration
public int rootTrackCount { get; }
Property Value
Type | Description |
---|---|
Int32 |
Remarks
A root track refers to all tracks that occur at the root of the timeline. These are the outmost level GroupTracks, and output tracks that do not belong to any group
Methods
CreateMarkerTrack()
Creates a marker track for the TimelineAsset.
Declaration
public void CreateMarkerTrack()
Remarks
This track is always bound to the GameObject that contains the PlayableDirector component for the current timeline. The marker track is created the first time this method is called. If the marker track is already created, this method does nothing.
CreatePlayable(PlayableGraph, GameObject)
Creates an instance of the timeline
Declaration
public override Playable CreatePlayable(PlayableGraph graph, GameObject go)
Parameters
Type | Name | Description |
---|---|---|
PlayableGraph | graph | PlayableGraph that will own the playable |
GameObject | go | The gameobject that triggered the graph build |
Returns
Type | Description |
---|---|
Playable | The Root Playable of the Timeline |
CreateTrack(Type, TrackAsset, String)
Allows you to create a track and add it to the Timeline.
Declaration
public TrackAsset CreateTrack(Type type, TrackAsset parent, string name)
Parameters
Type | Name | Description |
---|---|---|
Type | type | The type of track to create. Must derive from TrackAsset. |
TrackAsset | parent | Track to parent to. This can be null. |
String | name | Name to give the track. |
Returns
Type | Description |
---|---|
TrackAsset | The created track. |
Remarks
This method will throw an InvalidOperationException if the parent is not valid. The parent can be any GroupTrack, or a supported parent type of track. For example, this can be used to create override tracks in AnimationTracks.
CreateTrack<T>()
Creates a track and adds it to the Timeline Asset.
Declaration
public T CreateTrack<T>()
where T : TrackAsset, new()
Returns
Type | Description |
---|---|
T | Returns the created track. |
Type Parameters
Name | Description |
---|---|
T | The type of track being created. The track type must be derived from TrackAsset. |
CreateTrack<T>(String)
Creates a track and adds it to the Timeline Asset.
Declaration
public T CreateTrack<T>(string trackName)
where T : TrackAsset, new()
Parameters
Type | Name | Description |
---|---|---|
String | trackName | The name of the track being created. |
Returns
Type | Description |
---|---|
T | Returns the created track. |
Type Parameters
Name | Description |
---|---|
T | The type of track being created. The track type must be derived from TrackAsset. |
CreateTrack<T>(TrackAsset, String)
Creates a track and adds it to the Timeline Asset.
Declaration
public T CreateTrack<T>(TrackAsset parent, string trackName)
where T : TrackAsset, new()
Parameters
Type | Name | Description |
---|---|---|
TrackAsset | parent | Track to parent to. This can be null. |
String | trackName | The name of the track being created. |
Returns
Type | Description |
---|---|
T | Returns the created track. |
Type Parameters
Name | Description |
---|---|
T | The type of track being created. The track type must be derived from TrackAsset. |
Remarks
This method will throw an InvalidOperationException if the parent is not valid. The parent can be any GroupTrack, or a supported parent type of track. For example, this can be used to create override tracks in AnimationTracks.
DeleteClip(TimelineClip)
Delete a clip from this timeline.
Declaration
public bool DeleteClip(TimelineClip clip)
Parameters
Type | Name | Description |
---|---|---|
TimelineClip | clip | The clip to delete. |
Returns
Type | Description |
---|---|
Boolean | Returns true if the removal was successful |
Remarks
This method will delete a clip and any assets owned by the clip.
DeleteTrack(TrackAsset)
Deletes a track from a timeline, including all clips and subtracks.
Declaration
public bool DeleteTrack(TrackAsset track)
Parameters
Type | Name | Description |
---|---|---|
TrackAsset | track | The track to delete. It must be owned by this Timeline. |
Returns
Type | Description |
---|---|
Boolean | True if the track was deleted successfully. |
GatherProperties(PlayableDirector, IPropertyCollector)
Called by the Timeline Editor to gather properties requiring preview.
Declaration
public void GatherProperties(PlayableDirector director, IPropertyCollector driver)
Parameters
Type | Name | Description |
---|---|---|
PlayableDirector | director | The PlayableDirector invoking the preview |
IPropertyCollector | driver | PropertyCollector used to gather previewable properties |
Implements
GetOutputTrack(Int32)
Retrives the output track from the given index.
Declaration
public TrackAsset GetOutputTrack(int index)
Parameters
Type | Name | Description |
---|---|---|
Int32 | index | Index of the output track to retrieve. Must be between 0 and outputTrackCount |
Returns
Type | Description |
---|---|
TrackAsset | The output track from the given index |
GetOutputTracks()
Gets a list of all output tracks in the Timeline.
Declaration
public IEnumerable<TrackAsset> GetOutputTracks()
Returns
Type | Description |
---|---|
IEnumerable<TrackAsset> | An IEnumerable of all output tracks |
Remarks
An output track is a track the generates a PlayableOutput. In general, an output track is any track that is not a GroupTrack or subtrack.
GetRootTrack(Int32)
Retrieves at root track at the specified index.
Declaration
public TrackAsset GetRootTrack(int index)
Parameters
Type | Name | Description |
---|---|---|
Int32 | index | Index of the root track to get. Must be between 0 and rootTrackCount |
Returns
Type | Description |
---|---|
TrackAsset | Root track at the specified index. |
Remarks
A root track refers to all tracks that occur at the root of the timeline. These are the outmost level GroupTracks, and output tracks that do not belong to any group.
GetRootTracks()
Get an enumerable list of all root tracks.
Declaration
public IEnumerable<TrackAsset> GetRootTracks()
Returns
Type | Description |
---|---|
IEnumerable<TrackAsset> | An IEnumerable of all root tracks. |
Remarks
A root track refers to all tracks that occur at the root of the timeline. These are the outmost level GroupTracks, and output tracks that do not belong to any group.