Inside FStateTreeActiveStates there is a hardcoded limit for StateTree Depth
static constexpr uint8 MaxStates = 8; // Max number of active states
Which means you cannot do something like this:
You’ll get an error: FStateTreeExecutionContext::SelectStateInternal: Reached max execution depth when trying to select state Child h1 from '(State Invalid):Unset'.
Bumped into the same issue on my side.
It is especially annoying since linked states will count towards that limit. So effectively you can only nest 4 linked states.
I don’t see how the limit can continue to be hardcoded considering Epic is working on external subtree assets.
As for AI behavior it is questionable if you really need that much nesting, especially if you want to avoid monolithic trees.
However, state trees are also meant to be general purpose state machines and it is very easy to hit 4 nested linked states with those.