а каким образом тут будет выглядеть в идеальном случае свой поиск пути с точки зрения структуры? это функция, которая примет на вход текущее положение - окружение и таргет и каждый тик будет перестраивать астар/бфс? или можно вшить как-нибудь в струтуру entity для экономии времени? или без пересчета каждый тик не пройдет?
Можно вшить. Никто не запрещает вам переделывать сетевой код и сделать сущности постоянными, а не пересоздавать их на каждом тике.