Animal Behavior Kit support thread

Hi everyone,

The Animal Behavior Kit has been released in the Marketplace! You can get it HERE.

Description

The Animal Behavior Kit comes with many behaviors to create a living ecosystem for your games.

Ground animals have several roaming and engage (aggressive) behaviors. Animals search for food and water (Need System), look for mates (Breeding system), and can even go to a home location at night to rest (Day / Nigh Cycle). They can also die from hunger or thirst, or simply from getting old. They can form groups and act together against threats or simply run away. Ground animals can also be tamed and commanded by Players with a flexible Taming System!

The kit comes with an AI Director that lets you easily setup events triggered by Players to create cut-scenes or show Players something specific. You can also use this to spawn bosses after certain conditions are met. The kit also comes with a fully-featured Population Control BP. This system allows you to specify a range of animals per species and the system will keep the population within the ranges by spawning more animals or killing animals. You can also use individual Animal Spawners to control when certain animals appear in your level.

The kit also comes with birds and fish that can navigate solo or as groups. These animals are very light on performance and are meant to add life to your levels.

All major systems are actor components, making the behaviors modular - combine any number of systems to create your customized AI!

All functionality is multiplayer ready and the kit has a proximity system to disable animals that are far from the Players - allowing you to have hundreds (or thousands) of animals in your scene and keep performance high!

Technical Details

Roaming Behaviors - Idle, Random Location in NavMesh, Random Location in Bounds, Random WayPoint, Follow Path, Go to nearby POI, Go to Homebase

Engage Behaviors - Flee, Hide, Defend, Attack

Major systems Included:

  • Day/Night Cycle (Active / Rest behavior)
  • Taming System
  • Need System (Hunger / Thirst)
  • Custom Need System
  • Group Behavior
  • Breeding System
  • Grow Old
  • Natural Death
  • Spawn Loot
  • Full Population Control per species

Number of core Blueprints: 74

Network Replicated: Yes

Supported Platforms: Win/Mac/Linux

Documentation: See Tutorials

Support: [EMAIL=“coquigamestudio@gmail.com”]coquigamestudio@gmail.com/ Discord](CoquiGamesSupport)

Change log

Update 1.1

  • Changed all internal tags to start with “abk_.” This makes it easier to integrate with other MP assets that also use tags by reducing “tag collision”

  • Created a Tag Reference that lists all internal tags used by ABK

  • New Custom Events

  • All companion commands

  • Breeding events

  • Taking damage

  • Animal Spawner - now has new options to despawn animals when the Player ends the overlap on the trigger. This allows you to spawn and despawn animals at runtime easily

  • Fixed several reported bugs

  • UPDATE FILES: All.

Update 1.2

  • [NEW] Decay System now fully tested and replicated
  • Natural Death is now compatible with Population Control
  • Predictive System now does a check before moving the animal based on a tag. Automatically avoids water
  • Added option to “Stop Movement” while attacking for additional flexibility
  • Food Spawner can now spawn food limited to a volume
  • Population Control - New Cull Options added. Now you can kill animals by age, engagement or even inactivity!
  • Population Control - Added support for multiple actors in the scene, each controlling their own populations. This makes it easy to control population in different “biomes” in your game
  • Behavior Defend got several enhancements and is now more consistent with Attack
  • New Custom Events added - Animal is Hiding, AI Director Reached Target, Day Cycle events, Movement Obstruction
  • DayNight Cycle - you can now pause all systems while the animal rests (like aging for example) (optional)
  • DayNight Cycle - you can now hide the mesh of ground animals while resting
  • Added option to stop movement when the Engage Animation plays, giving more flexibility
  • Animation Improvements - Added “CurrentAnimation” struct that lets you know which animation is currently playing, as well as other useful information. You can use this to add custom code per animation. Example - each attack animation does a different amount of damage
  • Animation Improvements - New animation type “Specific” allows you to add your own logic and pass the animation index to the BP. This effectively lets you control which animation plays based on game play logic! Example - Only play a certain animation if the animal is close to death
  • [NEW] Auto Group Manager - this new BP scans your scene and automatically creates groups for your animals based on species and specific parameters! This works in concert with Population Control to now allow your spawned animals to automatically form groups!
  • Separated the POIs for prey and predators, effectively letting your prey go to certain POIs, while predators go to another (no shared POIs)
  • [NEW] Obstacle Avoidance System added to ground animals. Now animals will modify their collision if they get stuck. Eventually they will teleport to their initial location if they get stuck for a long time. This prevents “kiting” exploits to your AI!
  • Over a dozen bug fixes and small enhancements!
  • UPDATE FILES: All.

Update 1.2.1

  • BTT_Rest -> Add Valid check for HomeBase - this prevents an invalid reference
  • Add Home Base assignment per species on Population Spawner!
  • Improved Comp_DayCycle
  • Improved Comp_LookForMate
  • UPDATE FILES: BTT_Rest, BP_PopulationControl, BP_Comp_DayCycle, BP_Comp_LookForMate

Update 1.2.2

  • Population Control - Added a check for no Home Bases. Now the BP won’t try to assign it if empty (fixing a warning)
  • UPDATE FILES:** BP_PopulationControl**

Update 1.2.3

  • Renamed BP_Struct_AnimalBase_AnimalDetail and BP_Struct_Population_SpeciesDetail to fix 2 packaging errors that were preventing a successful package
  • BP_AI_Director -> Added a check to make sure no warnings are displayed if the animal arrays are empty
  • UPDATE FILES: BP_Struct_AnimalBase_AnimalDetail, BP_Struct_Population_SpeciesDetail, BP_AI_Director

Update 1.3

  • Animals now more accurately attack prey by stopping on overlap and matching the prey’s speed
  • Animals do a trace prior to moving to a new location to make sure they can go there. This eliminates the need for water blocking volumes
  • Added new way to modify the Engage Behavior of animals via a function
  • [NEW] Activation Manager System - The Proximity Trace is moved to the Player for a much more efficient system made to work for open worlds
  • Animal Spawner - Animal spawner triggers can now auto-populate nearby spawners. Spawners also more efficiently despawn animals once Player is out of the trigger area. Several improvements to support open world games
  • Improvements to allow animals to more accurately attack a much larger prey / target. These changes allow animals to spread out among a large surface area (instead of clustering)
  • Taming System - Converted to the Advanced Taming System. It contains general code improvements to make system more portable. Added ability to tame more than 1 pet. Added Pet Summon / Dismiss with save functionality. Added New Custom Pet Command (Example: “Fetch”). Added ability to control Pet
  • Added a LootTable to the SpawnLoot component. This allows the developer to add as many items as they want with their corresponding percent chance to spawn. The loot now spawns at a random vector near the animal
  • Proximity System - - There are now more options to customize your inactive animals with big improvements in performance (more than twice the FPS on local tests!)
  • Added ability for animals in a group to be affected by other systems and then return to the group. Example - animal can now break from the group to go eat and then return to its original group
  • Player Character BP - Moved a lot of the custom code to the components allowing for a much easier migration process
  • Added a First person character BP
  • Population Control - added ability for Population Control to detect Players nearby a spawner and not spawn animals there if that is the case. You can now specify a male to female ratio per species. There is also a new Blutility that populates all your spawners automatically based on species
  • Animals now use a random idle time from a range each time they stop, instead of a static value each time. This allows for more randomness among the same animal types!
  • Added support for turn animations! You can easily configure your animation blueprint with a 2D Blendspace to use walking turn animations. Simply enable the option and grab a Yaw value to drive your blendspace!
  • Breeding System - added change where you can now specify the range where offspring will spawn around the mother
  • Day Night Cycle - BP now modifies the Skylight intensity following a curve based on the time of day. This results in darker nights and gradual intensity increase until it reaches noon
  • Added Random Appearance to the animals - now your animals can choose a random scale and material to add more variety to your scene
  • Improvements to the Need System - You can now add specific IDs to the food and water to allow animals to search for specific food / water actors in your scene!
  • [Experimental] Advanced Engage Method - it allows you to specify an Engage Behavior per tag. This gives you much more flexibility in the way animals react to each other in the scene. For example: You could have the Spider attack the deer, but flee the bears.
  • Added a TroubleShooter BP to help you debug issues with ABK. I also created a more detailed written guide to help with commonly found issues
  • Tons of small improvements to the core systems and several bug fixes and quality of life changes
  • UPDATE FILES: All - Follow Migration Guide

Update 1.3.1

  • Animal Spawner - Added a small random delay before spawning the animal to prevent all spawners in the level from activating at the exact same time. This provides smoother performance when spawning many animals at the same time
  • Added new Inactive Option “Disable All Components (Aggressive)” and “Disable AI Controller” - with these new options your animals are even more performant while inactive!
  • Added new debug options to the Need System component - allowing you to easily debug the search for nearby water and food
  • Ground Animals - Added improvement to support dead enemies that do not despawn from the level (keep the corpse visible)
  • Bug / Warning Fixes: Fixed several bugs found since the 1.3 release that were causing warnings in the editor

Update 1.3.2

  • Fixed a small issue with multiplayer that caused clients to have a null reference when using the Activation Manager
  • Added batch spawning to Population Control - this smooths out the frame rate if there are many animals that need to spawn at a time
  • Performance Improvement - Added automatic disabling of the camera components to all ground animals and only activate them when they are possessed (controlling a companion)
  • Fixed an issue when sometimes the AI dies but still appears to follow its target while dead.
  • Added a new Dog Companion - it comes with all necessary animations and a 2D blendspace showing how to set this up in ABK to support turn animations!
  • UPDATE FILES: Comp_Animal_ActivationManager, BP_PopulationControl, BP_BTS_SetAIState, BP_GroundAnimalBase, BP_MainPlayerController

Hi everyone,

The 1.2 update is now LIVE! Please make sure you reopen your launcher and download the latest update!

Hi !

First congrats for the System, it’s kind of complex and worth every penny. ! Now, My issue is that , after I followed the tutorial series up to video 4, I decided to implement that in my own project.
So, I copyed all your folders into an folder called “Animal Behaviour” inside my project, and I just place an dimple Doe deer( prey) into my level ( set on debug / roam behavior), and nothing happened on play. The deer just sits still into Idle animation.
On opening my project i got the errors from the attached pic

Need to mention that my prj is an Motorcycle symulator, so my Pawn is a Vehicle Class Pawn ( and the reason that i use your sys is that I want Animals to jump on the road in front of the racer)

What to do to activate the deers behavios in my Project

thanks

I have the same problem in my project. Help us please!

Hi Chishabk,

Sorry you are having issues - please go to Edit - Editor Preferences and enable “Environment Query System” then restart your project. Also, add the tag “abkPlayer” to your player BP :). I just posted an in-depth Migration Guide, so please take a look and follow along to make sure everything works on your project.

Migration Guide

Hope this helps!

Hi D.Lakes,

I just saw your comment on the MP page - glad everything is working now :). I would still advice you take a look at my Migration Guide to make sure you set up everything correctly.

Thanks!

Migration Guide

Hi Coqui!

thanks for quick reply! That is support:)! I kind of miss this video , and i thought I’ve checked them all. In meantime, I solve it by myself by changeing my rider (wich is attached to the bike) collision type from Vehicle to Pawn . Now That I have this video, I will check it and do it properly
thx again for fast reply

You’re welcome! Glad I could help :slight_smile:

Hi! If I add 2-3 idle animations, the actor performs only the blendspace’s idle animation. Why??? Can someone help me? tnx

Hi D.Lakes, even though we already fixed the problem via Discord, I wanted to reply here in case someone else has the same issue :slight_smile:

If anyone is having this issue, make sure you verify you are adding the montage with the correct animations!

Hey, I’ve bought your pack for a little museum project, and it’s lovely. I have an issue when using sublevels though: Apparently the AI only works when the Boundaries & Navmesh are in the Persistent level. But I’m working with multiple sublevels & World composition. Which means my animals don’t roam. any sugestion how to fix this?

Hey there,

This sounds like an issue with the general navmesh placement in your sublevels. Can you DM me via Discord so I can try to help you? CoquiGamesSupport

Cheers!

Is there a discord server for this pack?