Я делаю игру с видом сверху. НПС(возьмем животных) которые у меня есть ходят только вперед- назад,как болванчики.Как сделать так, что бы они свободно перемещались в каком-то определенном пространстве, например олень посётся на поляне, и только на этой поляне может двигаться.
Непись должен запоминать точку спавна и гулять по любому произвольному алгоритму, хоть вообще в рандомную сторону каждый раз шагать, если мир клеточный. И при выборе каждого направления понижать шанс для стороны, противоположной спавну. То есть, если в центре у движения в любую сторону шанс 25%, если персонаж прошёл на 10 метров влево, шанс идти влево уже 12.5%(а лучше 15-20, менять шансы нелинейно), а в 20 метрах левее спавна мы уже исключаем такую возможность. Тогда не будет жёстких стенок
Для перемещения в 3х мерном пространстве можно использовать NavMesh. На YouTube много разных туторов на эту тему. Например вот.
А для 2D пространства нужно уже что-то своё делать. Описывать пути перемещения руками. Это поищи про перемещение Rigidbody2D.