Search Issue Tracker
By Design
Votes
6
Found in
2018.4
2020.1.9f1
2021.1
Issue ID
1287755
Regression
No
Transitions in the Base layer get ignored after the transition to the Exit node in the Sub-State Machine gets executed
How to reproduce:
1. Open the attached '1287755.zip' project
2. Open 'SampleScene'
3. In the Project window double-click on the 'Test' Animator Controller
4. In the Animator window disable 'Auto Live Link'
5. In the Hierarchy window select 'Cube'
6. Enter the Play mode
7. Observe the Animator window
Expected result: The transition from the Entry node to 'State2' gets executed
Actual result: The transition from the Entry node to 'State2' does not get executed
Reproducible with: 2018.4.29f1, 2019.4.15f1, 2020.1.14f1, 2020.2.0b11, 2021.1.0a6
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
- Fixing Message Loss in UMPE During Domain Reload
- The Editor freezes when ScheduleReadOnly of IJobParallelForTransform with dependency is used
- Text is truncated in the Inspector when the display scale is set to 150%
- CancellationTokenSource(<timeout>) has incorrect cancellation status when used in WebGL Player
- VFX property value names are cut off when properties with 'Arc' are viewed in the VFX Blackboard
Resolution Note (2021.1.X):
By design, when making a transition in a sub state machine from a state, to the upper layer state, it's as if the transition was made to the entry state, which gives the wanted behavior here.
On the other hand, with a transition in a sub state machine from a state to the exit state, it will go back to the state machine in the base layer, and see if this state machine has any transition. If not (like in the given project), it will simply choose the default state, which is why the sub state machine gets replayed.
We cannot change this, as it may break many projects assuming the default state is played when exiting a sub state machine