First of all , I want to say that this project is really a great project.
Here is my question:
Generally speaking, There are many enemies in the tower defense games , so
1 we need to assign a ‘AIFollow’ component and a ‘Seeker’ Component to every enemy
2 when the mesh status is updated , for example , a node is change to ‘unworkable’, every enemy needs to call 'seeker.StartPath ’ to get the new path, would that be a performance issue ?
3 If we update the mesh frequently, for example , adding obstacles to different nodes , would that be a performance issue too?
I to am making a tower defence game using the A* pathfinder so ive had exactly the same thoughts as you when starting out.
The A* gets slow in my game when there is about 150 units on screen (understandably by that stage). So its actually very fast and probably nothing to worry unless you have more on screen?
A quick tip: Give the seeker to the spawnPoint. On start have it calculate the route to the ‘Base’ and store it as a ‘Path’. When creating units simply send them the path. This simple change ment none of my units calculate routes to the base mid game as all possible routes are calculated as the level starts.