Iv had a bit of experience with RTS AI.
This is basically the layout of my engine.
each unit has its 'int' state.
state can be anything like, attaching, walking, standing, building, upgrading, casting....
and while a unit is in a current state, each game cycle it continues through the action required of that state.
if you are worried about performance, when sending multiple orders to a unit, in regards to path finding as it will be the most cpu intesive process of an RTS. you can always set up a queue so that not all orders are sent in 1 game cycle but will get sent in the next tick. the loss in interaction time is unnoticable to the player.
but for starters i dont recommend this. path finding is honestly the only real challenge in an RTS. things to consider are how many levels of height your game will have (eg, water,low land, high land, sky: would be 4 levels). the only other thing that is a challenege with path finding is making the path seem diagnal when all calculations are done on a tilemap.
That does make sense. At first read I was saying in my mind there is no way I could program each little dude to have its own AI but then I started thinking, I know real shocker, if your dude is just standing there and an enemy unit passes by, would you want your guy to just let him walk by?
for this sort of a problem. In each Unit class, set another Unit class called target. and if the unit target is equal to null, then he can have a new enemy target. but if he currently has a target check range of enemy then he will run after or attack his current target.