FAI – Fish AI & Flocks is a thoroughly documented, incredibly performant, highly optimized AI system, that includes a powerful flocking system for all types of swarms/flocks with easy-to-use editor windows.
-Latest version – 1.0.0
Render pipeline compatibility:
The Built-in Render Pipeline is Unity’s default render pipeline. It is a general-purpose render pipeline that has limited options for customization. The Universal Render Pipeline (URP) is a Scriptable Render Pipeline that is quick and easy to customize and lets you create optimized graphics across a wide range of platforms. The High Definition Render Pipeline (HDRP) is a Scriptable Render Pipeline that lets you create cutting-edge, high-fidelity graphics on high-end platforms.
Additional compatibility information:
- Currently works on all render pipelines but the fish animation shader isn’t supported on HDRP/URP, however, it be added in the coming updates
Description:
- FAI is the most powerful underwater AI system currently on the Unity Asset Store. It contains not only a system that can be used to simulate a broad underwater ecosystem (salmons, sharks, whales…) but also a powerful and deeply optimized flocking system that can run +20,000 units at the same time at +100 FPS.
- Models, materials, and animations are from the “Underwater Life Deluxe” asset by Janpec.
Technical Details:
reFeatures of the AI system:
Main:
- An all-in-one script contains 4 behaviors and many features to control AIs.
- 4 main behaviors (Aggressive, Neutral, Passive, Passive Flee)
- Flee or keep attacking on low health.
- Wandering.
- Attack other entities.
- Recognize and don’t attack or flee from entities of the same type.
- Forget the enemy once far enough and after a set number of seconds.
- Damage enemies either from script or animation events.
- Attack chance.
- Field Of View and Line of Sight enemy detection.
- Attack and movement animations blending.
- Sounds for different AI states.
- Optimized to only work once visible on a camera.
- Assign event listeners with no coding required.
- Field of view visualization in editor.
- Spawning.
Navigation:
- A written-from-zero navigation system for smooth movement.
- Smooth steering.
- Obstacle avoidance.
- Move only when inside water volume.
Vitals:
- Damaging.
- Health.
- Health regeneration.
- Resistance.
- Body decomposition.
- Supports ragdoll.
- Play sounds on death.
Features of the Flock system:
- Complex flocking behavior is based on 4 simple behaviors (Align, Separate, Cohere, and Follow).
- Obstacle Avoidance.
- Water surface contact avoidance, Health, Body decomposition, Spawning, and Optimizations. 80% of the processing runs on the GPU (4 main behaviors), while 20% runs on the CPU (Obstacle avoidance) for best performance.
A simple shader to procedurally animate the movement of fish.
Editor:
- Extremely easy-to-use and well-designed editor windows to help you create AIs and flock units in minutes.
Demo:
- A simple script to control some of the demo scenes’ properties (Spawned flock counts, camera movement speed…)
- 3 modeled, animated, ready-to-use AIs: Whale (Neutral), Shark (Aggressive), and Mahi Mahi (Passive Flee).
- 2 ready-to-use Flock Units: Mackerel and Emperor Angelfish.
- 1 Demo scene for AIs.
- 1 Demo scene for Flock Units.
- A water enter/exit script controller to create the underwater illusion.
- An over/under the water-based audio system (Head fish sound only when the camera is underwater).
Dependencies:
- Post Processing Stack
I am actively working on adding more features but I can’t promise anything about their release date, here are the top priority ones: Fixed Flock Group Count, Fixed Frame Rate Update(Optimization), and Flocks Attacking/Fleeing AIs.
Disclaimer:
Please note that we intend these files for learning purposes or as a trial before purchasing the full commercial version. Using these assets for commercial purposes without proper licensing is strictly prohibited.
Check Unity Asset Store for more info: https://assetstore.unity.com/packages/tools/behavior-ai/fai-fish-ai-flocks-205636
Explore our more assets.