Quick answer: Unity Animator's StateMachineBehaviour OnStateMachineEnter not firing when entering a state machine via transition? Sub-state-machine transitions skip the enter callback - use OnStateEnter on the first state instead.

Entering CombatStateMachine via transition; OnStateMachineEnter never fires.

Use OnStateEnter

First state in the sub-machine. Reliably fires on entry.

Or use UNity 2023+ fix

OnStateMachineEnter behavior was inconsistent across versions; check release notes for your version.

Audit per state machine

Each sub-state-machine: explicit enter handler. Document the convention.

“Sub-state-machine callbacks are inconsistent. The first state's OnStateEnter is reliable.”

If your animator architecture depends on sub-state-machine enter logic, the OnStateEnter pattern is the safe default.

Related reading