01
Unit Control
Players can select one unit by left-clicking and then click destination directly to move it; NavMesh agent component is applied to units; Mouse positions are converted to world position. Similarly, left-clicking an enemy will command troops to attack. ActionController enables players to give commands to different units at the same time. Code efficiency could be improved by reducing the use of Find function and object names.
02
Unit Selection
Players can select one unit by left-clicking and then click destination directly to move it; NavMesh agent component is applied to units; Mouse positions are converted to world position. It could be improved by reducing the use of Find function and object names.
​
By applying onMouseDown, onMouseOver, onMouseExit and changing material colour, the game provides players with a visual feedback when selecting game units via mouse clicking
03
Component-based Structure
The component-based design increases code reusability. For example, Unit class can be used as a component on all dynamic entities in the game, which controls the movement and attributes such as health.
04
Possible Improvements
UI could be further polished. There were no bullets in game so players can't tell whether a unit is attacking or not. Bullets or firing animation could be added.