[ON SALE - 50% OFF] Emerald AI 2024 - Universal AI Framework

Emerald AI 2024 is a completely rewritten and redesigned universal AI framework suitable for a variety of AI and game types. Its multi-component design gives developers the flexibility to use only the features they need and allows for an organized and manageable workflow. Emerald AI has undergone extensive testing to give you reliable and polished feeling AI.

For a brief rundown on some of the differences between Emerald AI 3.0 and Emerald AI 2024, see here.

*Current Emerald AI 2.0 or Emerald AI 3.0 users get a 50% discount for Emerald AI 2024. Ensure you are logged in on the Asse Store to see the discount.

Emerald AI 2024 is available on the Asset Store

Demo | Documentation | Roadmap | Discord

:star:Free Updates:star:
Once you own Emerald AI 2024, you will never have to pay to update. All future updates, even major ones (2025, 2026, etc.), will always be free.

:star:Demo Scenes:star:
There are 21 included example scenes each showcasing a specific feature or functionality.

:star:Setup Manager:star:
The Setup Manager makes the AI setup process easy and allows users to specify the components they would like to add to their to be created AI. This consists of two lists; one of required components and one for optional components. This allows users to only use the features and components they would like to use so they don’t have to manage or worry about the ones they are not.

:star:Animation Viewer:star:
The Animation Viewer allows users to quickly see an AI’s animations in real-time, right within their scene of the Unity Editor, with a timeline, slider, and various settings. The animations come from an AI’s Animation Profile (explained below) where all their animations are stored. This extension also allows users to quickly create Animation Events using a list of Emerald AI preset events. When selecting the desired Animation Event, finding the desired time on the timeline, and pressing the Create Animation Event button, an event will be created and autofill in most of the information according to the selected event. Tooltips will also explain what each event does along with what the parameters are responsible for.

:star:Animation Profiles:star:
Animation Profiles are objects that hold all of an AI’s animations and an Animator. Each time an animation is applied, it updates the attached Animator (so users don’t have to apply them manually). They can also be shared across multiple AI!

:star:AI Duplicator:star:
The AI Duplicator allows users to copy the settings from one AI and apply them to others. This can be all components or a single component. For AI that have the same named bones, this also allows users to copy complex settings such as Inverse Kinematics and all of an AI’s ragdoll components and colliders, if desired. This allows many AI to be created in seconds saving tons of development time.

:star:Documentation:star:
The Emerald AI 2024 Wiki is an entire website dedicated to documentation. It covers every component and feature, as well as guides and tutorials, to ensure users harness the full power of Emerald AI. It also uses OpenAI, trained on the Emerald AI Wiki, to help generate answers to support questions you may have.

:star:Footstep Detection:star:
The Footsteps Component gives AI the ability to play footstep sounds and effects based on the detected surfaces. Surfaces can be customized through Footstep Surface Objects. Both textures from Unity Terrains and tags from game objects can be used.

:star:Modular Combat Actions:star:
Combat Actions are modular actions an AI can use while in combat. The included Combat Actions (dodge, block, strafe, switch target, and more) were all created using this modular system. Users can also code their own custom Combat Actions, if desired.

:star:Strafing Support:star:
The optional ability for AI to strafe around their targets and generate attacks helping them catch their targets off-guard.

:star:Reactive Dodging Support:star:
The optional ability for AI to detect and dodge incoming projectiles and melee attacks, when within range of an enemy. This also works for player attacks.

:star:Reactive Blocking Support:star:
The optional ability for AI to detect and block projectiles and melee attacks, when within range of an enemy. This also works for player attacks.

:star:Recoiling Support:star:
The optional ability for AI to play a recoiling animation if a target blocks during an attack.

:star:Weapon Collision Support:star:
The Weapon Collision Component allows an AI’s weapon’s collider to deal damage to targets. This can also be used for other collision-based attacks like an AI hitting their targets with their bodies or a charge attack.

:star:Multiple Weapon Type Support:star:
Allows AI to switch between two weapon types. This can be two ranged weapons, two melee weapons, or a combination of both. How an AI switches its weapon type can be based on distance from their target or by time.

:star:Modular Abilities:star:
Modular Abilities allow users to modify various modules to help create many different kinds of abilities, spells, attacks, and more. There are 9 included ability categories (Bullets, Grenades, Melee, Ground Projectiles, Area of Effect, Aerial Projectiles, General Projectiles, Teleporting, and Arrow Projectiles) with more coming with each update. All users have to do is supply their own particle/sound effects and Emerald AI will handle everything else through its ability editors. Users can also program their own abilities by either using some of the included modules or by creating their own entirely.

:star:Sound Detection:star:
The Sound Detection Component gives AI the ability to hear unseen targets. When player targets enter an AI’s Detection Radius, their movement and velocity are tracked to simulate noise levels. If a player is moving fast enough, it will increase an AI’s Threat Amount which will trigger a list of modular user set reactions.

:star:Location Based Damage:star:
Allows internal colliders on an AI to receive damage and have customizable damage multipliers, such as headshot doing more damage than hits to limbs.

:star:Create Any AI:star:
Create any kind of AI such as AI with guns, punishing bosses, soldiers with guns, guards, monsters, villagers, mages, archers, bandits, creatures, animals/wildlife, zombies, companions, pets, hovering robots, and so much more.

:star:Built-in Combat Text System:star:
The optional global Combat Text Manager allows damage to be displayed via damage text UI around targets. There’s tons of customization options and several options for how the damage text is animated.

:star:Root Motion Support:star:
Root Motion supported allowing an AI’s movement to be driven by their animations.

:star:Inverse Kinematics:star:
The Inverse Kinematics (IK) Component gives AI the ability to look at targets with their head, body, and weapon. It also allows hand placements on two handed weapons, if desired. Both Generic and Humanoid Animation Types are supported.

:star:Behaviors:star:
The Behavior Component controls how an AI will react to detected targets. Aggressive, Coward, Companion, Cautious, Pet, and Passive AI are all possible. If desired, users can also code their own behaviors by overriding various functions.

:star:Line of Sight:star:
Allows AI to only attack or flee from targets that are within their line of sight. This also keeps AI from being able to detect targets through walls or objects.

:star:Built-in UI:star:
The UI Component allows AI to have health bars, display an AI’s name and level, and combat text. The settings allow users to customize the color, images, size, and position. The UI system will automatically apply your settings and rotate towards your player’s camera as needed.

:star:Built-in Waypoint System:star:
The Waypoint System allows users to set a series of waypoints for an AI to follow/patrol. AI will still react to targets using their behaviors while following their waypoint paths and continue to follow them after their target has been killed or escaped. Waypoints can be set, added, manipulated, and cleared all from within the Emerald AI Editor using custom handles and icons.

:star:Built-in Object Pooling:star:
All objects created with Emerald AI are created from an object pool so objects are recycled and not instantiated. The object pool can automatically expand when needed and can be used for custom code.

:star:Built-in Events:star:
The Events Component has 18 Unity Events for added functionality. Events can be used to call custom code or Emerald AI’s own API.

:star:Built-in Slope Alignment:star:
The optional Alignment feature will align AI to the slope angles of the terrain and other surfaces. Users can specify the speed and maximum angle amounts.

:star:Ragdoll Support:star:
Emerald AI supports ragdolls and can seamlessly transition between an AI’s current animation and their ragdoll on death.

:star:Auto Optimization System:star:
The Optimization Component optimizes AI by disabling certain scripts and functionality when an AI’s model is culled or not visible. There is also an option to use an LOD Group for AI who have multiple levels or portions of meshes.

:star:Powerful Easy to Use Editors:star:
Everything is explained right from within each editor via tooltips and help boxes.

:star:Animations:star:
Emerald AI supports over 100 animations an AI can use, allows users to change an AI’s animations right from within the Animation Profile editor, and will automatically create and update an AI’s Animator Controller. Each animation has its own animation speed control. Emerald’s Animation Events allow for perfectly timed attacks and added functionality.

*Assets from the Boss Fight and Bullets and Grenades Demo videos are not included.

1 Like

Hey, guys, Who used this tool, please, share your experience.
I would like to know a bit about the capabilities of the tool. I couldn’t find the needed info (I probably need to go through all the documentation. I’ve read a brief overview). Probably, my questions will not be appropriate for such a tool, but I’m kind of a newbie in AI, and specifically for this tool.

  1. There are a couple of ways doing the AI - GOAP, Behaviours Tree, HTN, Utility AI, FSM. Which one do we have in this tool? Or we don’t need them here? Or is this not an appropriate question for such a tool, and should we use any of these approaches separately from this tool?

  2. What are the limitations of this tool? Is it bound to 3D, or is it possible to use in 2D too? Maybe it is more suitable for some specific types of games?

  3. What about performance? Is it performant enough for mobile development, or is it better not to use it for mobile games?

  4. Is there such a thing as pathfinding? Or this is something we need to provide ourselves (There are plenty of good assets for this functionality).

  5. If you also have experience with version 3, I would appreciate hearing your feedback (I own Emerald 3, but never used it) - what is the biggest diff for you? What about performance in comparing?

Thank you in advance!

  1. There are 6 preset behaviors included (aggressive, coward, passive, cautious, companion, and pet). Users can customize these behaviors by creating their own behavior script that derives from the EmeraldBehavior class. I have plans to expand this with custom behaviors (without needing to program) with a future update. However, the included preset behaviors should work for most use cases.

  2. It is limited to 3D, but would also work for a top-down 2.5D.

  3. It is performant and there’s an included Optimization Component that disables AI and their components if they are not visible by the camera or if they’re culled to further improve performance.

  4. It uses Unity’s NavMesh system.

  5. You can see a list of some of the differences and improvements to version 3.0 here: https://black-horizon-studios.gitbook.io/emerald-ai-wiki/getting-started/difference-between-emerald-ai-3.0-and-emerald-ai-2024

Just a heads-up that the forum link on the Unity store page still links to the old 3.2 version forum.
@BHS

Thanks, I’ll get the link updated.

Also the emerald ai in your signature links to emerald 2.0 instead of the 2024 version

Emerald AI 2024 is currently 50% off for Spring Sale!

I am trying to implement a wall climbing agent using emerald ai i baked the navmesh across the walls and used navmesh link to connect the wall but the agent does no rotate like it should

After upgrading to Windows 11, Emerald AI freezes when playing.å‡ēŗ§åˆ°Windows 11åŽļ¼Œēæ”ēæ AIåœØēŽ©ęøøęˆę—¶ä¼šå†»ē»“

Hey, im using strafe action on my AI but when my AI want to strafe he is just playing strafe animation on place, whithout moving while strafing. Is strafe only suported for root motion ? im using navmesh not rootmotion.

The built-in alignment feature is limited to 60 degrees. If you want an AI to align to walls, you would need to write a custom script to do this. I can look into adding support for this though.

I’m not sure why updating to Windows 11 would change anything, but feel free to email me with more information so I can look further into this.

Strafing currently only supports Root Motion, but I plan on adding NavMesh support with the next update.

So… #1, this should be stated clearly in the documentation. Haven’t been able to find it anywhere but here. #2, I guess NavMesh support didn’t make it into the latest update after all?

Also, any cautious seconds above 0 seems to make the ai cautious ad infinitum. With an aggressive behavior type, my ai is cautious long beyond the cautious seconds, and doesn’t flee when the health level is reached.

Yes, my apologies for that. I’ll be sure to add this with the upcoming update, which should be ready in a couple weeks.

I tested this and everything is working properly on my end. Can you please provide a video of this?

I would recommend adding a Debugger Component to your AI to ensure there are no obstruction between the AI and its target. This will display additional information to the Unity Console to help with identifying the issue.

I’m using the debugger; there isn’t any obstruction being logged, however see below.

Edit: Video

Edit 2: The AI is re-detecting the target every second, which seems to be calling ResetState() each time, effectively keeping it stuck in a loop.

Edit 3: It seems to be CancelCombat() in DetectTargetTracker due to target obstruction, despite not logging any obstructions.

Edit 4: It’s losing the target between SetDetectedTarget and CheckForObstructions.

Edit 5: It’s because DetectTargetTracker is running before CheckForObstructions, while TargetObstructed still = true, so it cancels combat. Then it detects the target again, runs DetectTargetTracker, and once again cancels combat.

Edit 6: I’ve added && EmeraldComponent.DetectionComponent.CurrentObstruction to line 264 in EmeraldBehavior as a quick fix; no idea if it’s going to break anything though.

Additional question: Is it possible to keep the animator on after death so the ai can loop the death emote?

@BHS what happened to the NavMesh Offset?.

Strange, I have tested this multiple times and I cannot recreate your issue.

One thing I noticed is that your damage effects are happening above the target, which indicates your Target Position Modifier position might be above where your AI’s collider is. This can also lead to a false obstruction detection. Ensure that you assign a bone to your AI’s Target Position Modifier (typically the AI’s spine for quadruped rigs) and that your AI’s line of sight lines (visible from the debugger component) are hitting the AI’s collider.

Not having the Animator disabled on death would require a minor modification to a function. Within the CombatManager script, comment out the line that disables the Animator controller within the DisableComponents function.