Algo que me chateou bastante durante a versão 0.4 do Cacildes Adventure foi este bug em que os inimigos se esquivam para dentro de paredes e depois ficam presos, porque durante o momento do dodge, o código troca a lomocação do NavMeshAgent para a do root motion. Este híbrido de Root motion para alguns estados de animações e navmesh para outros é bastante útil. Mas pode gerar bugs como na primeira parte do vídeo.
A solução foi bastante engraçada, na verdade. Em cada frame do StateUpdate do EnableRootMotion, vamos checar se a nossa posição atual está dentro da walkable area do navmesh do environment. Se estiver, tudo bem, continuemos com o root motion. Se não estiver, ora toca de ativar o navmesh, pois assim vai haver um reposicionamento automático da personagem!