RTS flow field movement system

Update 1.6
This is my RTS movement asset, it uses vector flow fields to direct troop movement.

Quick Start
-----------


Drag the FlowFieldManager prefab, located in the Prefab folder, into the scene hierarchy. Attach the Unit script, located in the Script folder, onto your unit and drag the reference to the UnitType scriptable object, into the Unit script on your unit. Make a prefab of this unit. You should now be able to directs your units with flow fields.

Documentation
-------------


This is a unit movement asset, but there are other features that I added to aid the development. Camera control and unit selection system.

The FlowFieldManager
The FlowFieldManager is a singleton that is responsible for dynamically creating, enabling, pooling and resizing the vector flow fields. It also manages flow field vector object pool and managing unit groups.
There are a few variables in the inspector: Show Flow Fields - shows or hides the vectors in the flow field. FlowField Prefab - The reference to the flow field prefab.
Ffv Prefab - The reference to the vector prefab that will populate flow field. Unit Selection Max - The maximum units you can select at a time.
Circle Selection Max - The maximum size that the section circle can have.
Padding for Vectors - how much padding to add around the outside of the flow fields when setting size.

FlowField
Goal Prefab - The reference to the target position the vectors point to.

Units
Units are affected by the flow field vectors. There are a two fields in the inspector.
Unit Type - A reference to an instance of the UnitType scriptable object. It contains data for movement speed, turning speed and unitType name.
Unit Selection Sprite - hides/shows when unit is selected/deselected.

Obstacles
Any object that does not contain a Unit script is regarded as an obstacle. This is not a complete all in one solution, the units would still benefit from some basic Ai and obstacle avoidance.

Selecting Units
To select a single unit just click on it. To select multiple units or deselect a unit hold down the control key.
The unit selection system has the ability to select multiple units and to save and recall those selections. You use the top number keys 1-0 and the control(or shift if in editor mode) to save the current selection, you press the corresponding 1-0 key to recall it.
Draw selection, click at the center of a group of units, drag away to increase circle size.

This has been developed in 2D for 2D.
If there are any bugs or problems with using this asset don't hesitate to leave a comment or send message. Thanks.