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
- 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 (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