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
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
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.