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
- Error “Shader error in 'YSCloudCover': call to 'tex3D' is ambiguous at Assets/YSCloudCoverText.shader(606) (on d3d11)“ is present when compiling tex3D shader with DXC
- Placeholder asset is not loaded with Advertisement Legacy sample when using the latest version of the package
- Addressables content build fails but the Player build is successful when building a development build
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
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