Search Issue Tracker
By Design
Votes
8
Found in [Package]
1.4.8
1.6.4
1.7.4
1.8.2
Issue ID
TB-194
Regression
No
Embedded Timeline Clips are not being played by the parent Timeline clip when entering the Play Mode
How to reproduce:
1. Open the "IN_33987" project
2. Open the "SampleScene"
3. Enter the Play Mode
4. Observe the Console
Expected result: info messages "First Track" and "Second Track" are thrown and both Timelines are played
Actual result: info message "First Track" is thrown and only one Timeline is played
Reproducible with: 1.4.8 (2020.3.47f1), 1.6.4 (2021.3.22f1), 1.7.4 (2022.2.14f1), 1.8.2 (2023.1.0b11, 2023.2.0a9)
Reproducible on: Windows 10 Pro
Note: also reproducible in the Player
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Inspector's custom tooltip is displayed incorrectly when the name is truncated in UI toolkit
- Crash on ScriptableRenderLoopDraw when rendering a specific VFX in Play Mode
- The script is not renamed in the Project window when renaming and a compilation Error is present
- Average FPS in Play Mode degradation on a newly created BiRP project when it's upgraded from 2020.3.48f1 to a newer Editor version
- DecoratorDrawer indentation is incorrect when it is called with EditorGUI
Resolution Note:
The behaviour here is by design.
The issue is occurring due to the Timeline Asset's Playable having a Passthrough traveral mode. We create all Timeline Asset Playables like this. With the kind of setup presented in this report there's an extra clip playable in between the two Timeline Playables. The 'child' timeline has two outputs that are passed through but the intermediary clip expects 1 input (EmbeddedTimelineClip's playable). It accepts the first output (which prints "First Track") but the second is ignored.
A workaround is to manually set the Timelien Playable's traversal mode to Mix.
[Serializable]
public class EmbeddedTimelineClip : PlayableAsset
{
[SerializeField] private TimelineAsset _timelineAsset;
public override Playable CreatePlayable(PlayableGraph graph, GameObject owner)
{
if (!_timelineAsset)
return Playable.Null;
Playable playable = _timelineAsset.CreatePlayable(graph, owner);
playable.SetTraversalMode(PlayableTraversalMode.Mix);
return playable;
}
}
I've discussed this with the reporter and it fixes their issue.