Почему if/else убивает ИИ врагов в Unity и как от этого уйти

ИИ врагов в Unity часто начинается с пары аккуратных if/else, а заканчивается кодом, где новое поведение ломает старое, приоритеты конфликтуют, а отладка превращается в раскопки.
В статье разберём, почему такая логика быстро перестаёт масштабироваться, где FSM тоже начинает буксовать, и как Behaviour Tree помогает собрать поведение врага из понятных, переиспользуемых узлов — на C#-примерах с Selector, Sequence, Decorator, Blackboard и типичными ошибками, которые всплывают уже в реальном проекте на Unity.

















