Unit modules description =========================================== **RTS Kit** uses a module system to customize game units and buildings, and there is a list of primary modules below: ======================== ============ Module Description ======================== ============ Unit Core module of any unit. Contains primary unit info and links other modules together. AIAgent Represents an AI of the unit. It can handle player/AI orders like move to position, attack/follow target, etc. Damageable Makes an object possible to take damage. This component contains unit health info etc. IMovement GroundMovement, FlyingMovement — these modules represent a unit's movement system. If you want to allow a unit to move, add one of these modules. IAttack SimpleAttack, ShellAttack — these are attack modules. A unit which has any of these modules gets the ability to attack other units. Turret This module is needed for vehicles like tanks to rotate their turret towards targets. Production Allows this object to build units or buildings. Harvester Allows a unit to gather resources. Refinery Allows harvesters to give the gathered resources to the owner player. EffectsModule Allows playing built-in supported unit effects. AnimationsModule Allows playing built-in supported unit animations. ElectricityModule Handles work of the Electricity mechanic, if it is used in your game. FogOfWarModule Handles work of the Fog of War mechanic. Infantry Handles some infantry logic. Selectable Represents a unit which can be selected by the player (most game units, usually). Carry*/CarryableModule Handles units that can carry other units inside themselves. ======================== ============ There can also be more undocumented modules, depending on the asset version. A unit module is a simple C# class which is added to the **Unit** component from code when the unit is spawned ingame. Most settings of these modules are located in the **Unit Data** asset fields. You can create your own modules and connect them to existing ones, if needed. This is described in the **Programming** partition.