Search Unity

Eliot AI - NEXT GENERATION of AI tools [NOW RELEASED]

Discussion in 'Assets and Asset Store' started by eliot-ai, Oct 18, 2018.

?

What would be the best thing to add to Eliot next?

  1. New type of Nodes based on machine learning

    39 vote(s)
    27.3%
  2. Eliot Hub - place to share your Eliot Behaviours and Skills

    30 vote(s)
    21.0%
  3. Copypasting parts of Behaviours

    5 vote(s)
    3.5%
  4. Embedded UI system for displaying Agent's stats

    11 vote(s)
    7.7%
  5. Support of 2D Sprite-based worlds

    14 vote(s)
    9.8%
  6. Groups and formations of Agents with a single goal

    29 vote(s)
    20.3%
  7. Agent's stats system that can affect the power and other settings of the Skills

    15 vote(s)
    10.5%
  1. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    53
    Il try that i guess, just sucks to downgrade i guess, im using some off the functions in the beta.


    Doubt it, since i tested on clean projects for all versions so far :)
     
  2. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    53
    Still the same issue =/ only works with .NET 3.5 with me, tried to update Microsoft Studio as well.
     
    Subliminum likes this.
  3. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    53
    Value not found
    UnityEngine.Debug:Log(Object)
    Eliot.Repository.JsonObject:get_Float() (at Assets/Eliot AI/Eliot/Repository/JsonObject.cs:346)
    Eliot.Repository.JsonFactory:Serialize(EliotBehaviour) (at Assets/Eliot AI/Eliot/Repository/JsonFactory.cs:440)
    Eliot.BehaviourEditor.BehaviourEditorWindow:Reverse(Object) (at Assets/Eliot AI/Eliot/BehaviourEditor/BehaviourEditorWindow.cs:785)
    Eliot.BehaviourEditor.BehaviourEditorWindow:OnEnable() (at Assets/Eliot AI/Eliot/BehaviourEditor/BehaviourEditorWindow.cs:134)
     
  4. Subliminum

    Subliminum

    Joined:
    Nov 9, 2017
    Posts:
    101
    Hmm, well that is frustrating. Are you using your Unity/Build in English as well? It could be that there is an issue with global serialization of Json values.Otherwise i'm out of ideas, so hopefully Eliot AI can provide a fix. If i can replicate the error i will let you know what i find.
     
    psych77 likes this.
  5. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    53
    Yeah using english build. Replicating is easy ;) Download 2019.1 beta newest or some other version inside unity hub, and put on .NET 4.X ;)
     
  6. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    So here is the result of yet another attempt to replicate the bug in unity 2019.1
    .NET 4, pressed cts+s many times, selected Save many times. Didn't get the bug.
    upload_2019-4-14_19-41-23.png

    I can understand your frustration, cause I can't even replicate the bug. Otherwise I would be able to point to the error...
    Try to install .NET 4.7.2 Developer Pack. I had problems with the latest versions of unity before having it installed.

    It means that some information about the behaviour is broken. The information is read from a json string. I'm pretty sure that .NET version has nothing to do with this particular error since the nodes are created manually from a compressed json instead of being deserialized directly into object. Probably either you have edited a behaviour's josn string directly or the editor has tried to deserialize an empty behaviour.
     
  7. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    53
    Well now i dont understand anything.. because i made like 10 clean projects imported eliot alone in different versions, and always got the same message in .NET 4x.

    While if i changed to .NET 3.5 it stayed in tact. And i have .NET 4.7.2 developer pack installed.

    upload_2019-4-14_19-9-15.png
     
    Last edited: Apr 14, 2019
  8. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    You have the "allow unsafe code" and "use incremental GC" options turned on. I don't know how they work, but you might want to try and make the settings look like the default ones one by one. Maybe one of them is causing the bug.
     
  9. psych77

    psych77

    Joined:
    Mar 1, 2017
    Posts:
    53
    Hmm didnt change anything, think ive tried pretty much everything inside unity editor. It seems like its related to something else. Maybe visual studio settings no clue really.
     
  10. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    I wish I could help better... The nodes are gonna be serialized as native unity objects in the new version so the issue's gotta be eliminated by then. Hope you can find the solution soon and share it with us, I'm curious myself to know that causes that behavior.
     
  11. dontonka

    dontonka

    Joined:
    May 15, 2013
    Posts:
    20
    Hello, I just purchased this plugin yesterday, just imported it in my project, and have a bunch of compilation error, which is kind of frustrating. Hope the dev can give me a workaround for this soon. I'm using Unity 5.6.6f2.

     
    eliot-ai likes this.
  12. dontonka

    dontonka

    Joined:
    May 15, 2013
    Posts:
    20
    ok i have resolved the issue. I had an old package of Pathfinding with the same Node class, and it was clashing with the one with Eliot. I removed that package and all those error are gone.
     
    eliot-ai likes this.
  13. dontonka

    dontonka

    Joined:
    May 15, 2013
    Posts:
    20
    Ok i have a little issue. I have my agent with a very simple behavior. (SeeEnemy:no --> WanderAround, yes: RunToTarget). But I only have that agent in the map, so the target is set to himself, but this seems to be the same in your tutorial.

    The problem is that the agent is doing the Walking animation, but the game object is not moving. Somehow, if I check the "Inert" property, that resolve the issue for a little moment and the game object move. Then it stop again after a little while, I uncheck "Inert", and start moving again, then sometimes play Idle animation (then it stop moving which is normal), then walk again until it stop moving again. It stop really at random place on the map, it doesn't seems to be caused by the map.

    I wonder where could be the issue. Anyway let me know if this ring some bells anyhow.

    Eric
     
  14. Subliminum

    Subliminum

    Joined:
    Nov 9, 2017
    Posts:
    101
    It could be related to your Motion Engine setup, which Motion Engine are you using? If it works without the SeeEnemy? observer (entry>wanderaround) Ensure your Unit component has a name in its Team variable to prevent the Agent from detecting itself as an enemy.
     
    eliot-ai likes this.
  15. dontonka

    dontonka

    Joined:
    May 15, 2013
    Posts:
    20
    I use NavMesh. I tried with only entry-->wanderaround. That work for a bit, but then same issue, the agent stop but walking animation is still going on. On another run, same issue as before, do this since the start, checking Inert and unchecking it when the problem occurs resolve the problem temporarily. The agent has also a team assigned.
     
  16. dontonka

    dontonka

    Joined:
    May 15, 2013
    Posts:
    20
    Debugging. The code below in red return false (so success is false) so instead of returning another random point to move on, it return the current position, which is why it is blocked. Now looking why this API is returning false.


    private void RandomPoint(Vector3 center, float range, out Vector3 result)
    {
    NavMeshHit hit;
    bool success;
    if (_agent.Waypoints != null)
    {
    var point = _agent.Waypoints.RandomPoint();
    success = NavMesh.SamplePosition(point, out hit, 1.0f, NavMesh.AllAreas);
    }
    else
    {
    var randomPoint = center + UnityEngine.Random.insideUnitSphere * range;
    success = NavMesh.SamplePosition(randomPoint, out hit, 1.0f, NavMesh.AllAreas);
    }

    result = success ? hit.position : _transform.position;
    }
     
  17. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    It returns falsebecause it couldn't find a point on the NavMesh that is close enough to the generated random one. You could try to add the following line after that red one:

    if(!success) RandomPoint(center, range, result);

    This will make the code run again and try another random point if the previous one can not be projected onto the NavMesh. You could also try to increase the third parameter of the NavMesh.SamplePosition method (atm it's 1.0f, you can try something like 5f)
     
  18. dontonka

    dontonka

    Joined:
    May 15, 2013
    Posts:
    20
    Ok instead for now i do what the Unity example indicates, which is to keep 1.0f but looping 30 time over the call, this seems to give better result, but somehow im still facing the issue, which seems to be caused by another flaw in the code base. I'm spending more time than anticipated on this, I'm a little surprised i would have think this is more battle tested for the reviews and price, anyway, it allow me to learn your sdk and navmesh, not bad i will most likelly need to amend it for my need anyway.
     
  19. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    30 times can't guarantee the correct result. Recursion can though, as it will search until it finds the proper point. It might cause problems like stack overflow though. You can also try this instead. It is not constrained by distance and will return a position on the NavMesh regardless.
     
  20. dontonka

    dontonka

    Joined:
    May 15, 2013
    Posts:
    20
    Well, FindClosestEdge can also fail, so in theory, I would need to loop also to be sure it works, in the end, both would work. So, for now, I'm sticking with the current API, but looping 100 times, very unlikely that this will fail.

    Finally, my other problem was because of my lack of understanding of NavMesh. Basically, my baked path was in a place not accessible by the AI (on the roof), and that was making the AI stop when it reaches that position on the floor, but since the Y was never meet for the target, it keeps trying to move towards, but just remains where it is. The solution was to remove those inaccessible paths from NavMesh.
     
    eliot-ai likes this.
  21. dontonka

    dontonka

    Joined:
    May 15, 2013
    Posts:
    20
    Hello, I have the same behaviour and skill now setup on my AI as in your tutorial @eliot-ai . works well, and start understanding the power of this sdk :).

    I was wondering, when the AI is in the range to attack, it start attacking , but at the sametime it continue walking towards the target which is a little issue. I would like the AI to stop walking towards the target when he gets in range and start attacking, how would I do that?

    my understanding here is that it continues until it reach the target last target set on the navmesh. like if i increase the melee range (6), i can see when it start attacking, if i move my player away a bit, the AI will go exactly at the position I was when it started attacking.

    any help will be welcome
     

    Attached Files:

  22. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    If you take a look at the settings of your Skill, you should be able to see the "Freeze Motion" option. If you set it to true, that should prevent the Agent from moving while using the Skill.

    That seems correct. Everything seems to be fine int the Behaviour. Have you added the melee attack skill to the Agent?
     
  23. dontonka

    dontonka

    Joined:
    May 15, 2013
    Posts:
    20
    Indeed that seems to works, thanks! I thought I had tried it and was not working. In the meantime, I had added SetSpeed(0) in the method LookAtTarget, was that a way to fix it too?
     
  24. dontonka

    dontonka

    Joined:
    May 15, 2013
    Posts:
    20
    Is there a way to Copy And paste part of a behavior in the moment in order to create more complex behavior faster?
     
  25. Subliminum

    Subliminum

    Joined:
    Nov 9, 2017
    Posts:
    101
    Sadly no, that should be coming in a future update as well as being able to set ints/floats in nodes and hopefully some animation similar to how the Unity Animator functions.

    I have recently switched to Unity 2019 on a new computer and Eliot works for me with none of the issues like you have described. I'm also using NET 4.0. Other then uninstalling and reinstalling Unity and your IDE i'm not sure what else you could try to fix this :(
     
  26. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    This is partly what the "Freeze Motion" option does.

    As of version 1.2.1 (current) you can't do that. However, this feature is already implemented and will be present in the next update.
     
    dontonka likes this.
  27. maydragon

    maydragon

    Joined:
    Aug 27, 2018
    Posts:
    8
    Hello.

    In Eliot AI's store's page it says that Eliot is integrated with Ultimate Character Controller (UCC). Is there a tutorial or demo scene where I can understand how it's done? I read the manual of Eliot and managed to place some AI agents, but I still have no idea how I would properly integrate with UCC.

    Thanks.
     
  28. jstallingssr

    jstallingssr

    Joined:
    Sep 13, 2018
    Posts:
    7
    Hi everyone. Really loving this asset. I've already been able to do so much with it in just a little bit of time. I went through the first tutorials and they were super helpful.Getting the (Legacy) animations working was a little tricky, but I was able to get them to work after some trial and error.

    Now I'm trying to get Mecanim animations working, as I read Legacy is not recommended going forward. And I'm struggling mightily to get Mecanim working. Can anyone point me to a succinct set of instructions for applying these animations to an Eliot unit?

    Thanks!

    Joe
     
  29. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    Hi @maydragon, there is a document in the root folder called "Eliot Integration.pdf". It describes the actions needed to be taken by a user to get the integration up and running. Most of it is already there and you just need to do a few things that can't be done automatically. The integration includes the interation between UCC character and an Eliot agent.
     
  30. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    Hi @jstallingssr, if you could explain what it is what you're struggling with in more details, I'd be able to provide more information.
     
  31. dontonka

    dontonka

    Joined:
    May 15, 2013
    Posts:
    20
    When are you planning to release your next update exactly ?
     
  32. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    665
    Hey there folks. I'm looking for a new AI solution to integrate with UCC. We like the system but kind of hate how motion works in UCC as its all hard wired and hard to get AI to work with it(just moving agents was a major task with other AI packs). Has anyone here successfully integrated Eliot with UCC? How well does this work? This AI looks great, I want to pick it up but I know with UCC's difficult motion system, integrating AI with UCC can be a challenge. Thanks.
     
  33. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    hi @dontonka, I would be really happy to be able to answer that question exactly. I can't tell the exact date but I can list some of the features that are planned and their current status:
    - copypasting parts of behaviours [implemented]
    - zooming in and out in the Behaviour Editor [implemented]
    - realtime visualization of the processes in the behaviour graph, highlighting the nodes and transitions (implemented)
    - nodes are highlighted with different colors depending on the kind of exceptions occurring while the node is running [partly implemented]
    - ability to create custom categories of actions and conditions (implemented)
    - assign a Skill to the node by simply picking one of the created Skills or dragging and dropping a Skill in an appropriate field [implemented]
    - ability to easily create custom nodes [implemented]
    - none of agent components is mandatory so agents don't need to handle and calculate an inventory (or any other component) if it doesn't need to be used [partly implemented]
    - adding arbitrary resources to an agent (health, energy, mana, shield, you name it) and having an option to generate UI for each of them [not implemented]
    - replacing Agent's Settings with a generic attributes holder, elements of which can be accessed through API [not implemented]

    There are a few other features that are being tried out, but I can't tell if they are gonna land themselves in the update. If they are useful and efficient, I'll include them as well.

    Also there is one BIG feature that I do not want to talk about just yet, it's gonna be a really cool surprise :D
     
    Subliminum likes this.
  34. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    What kind of integration are you looking for? If you want an interaction between a UCC character and an Eliot Agent (like damaging each other) - that is implemented. If you want UCC characters to be run by Eliot, that has not happened yet.
     
    Tethys likes this.
  35. jstallingssr

    jstallingssr

    Joined:
    Sep 13, 2018
    Posts:
    7
    @eliot-ai here is my current situation.

    I have an Orc character with Rig - Animation Type - Humanoid in a typical t-pose. Controller and Avatar are assigned. I drag the character into the scene, and press play. Orc idles. So far so good.

    Create a new agent in Unit Factory. Assign Graphics and Ragdoll from Orc prefab. Assign Eliot Behaviour that informs the Orc to wander around (Entry transition invoke motion, wander around). Create agent, and turn off original (source) Orc.

    In Agent inspector, set Animation Mode to Mecanim. Assign Idle animation from Orc's (original/source) prefab (idle animation). Assign Walk animation from Orc's (original/source) prefab (walk animation). In the new Orc Agent/Clone (Orc > __graphics__ > ORC(Clone)), assign the Orc's Controller. Leave all other settings at default.

    When I press play, the Orc idles, but does not walk/wander around. I also get the following error: NullReferenceException
    Eliot.AgentComponents.AgentAnimation.Init (Eliot.AgentComponents.Agent agent) (at Assets/Eliot AI/Eliot/AgentComponents/AgentAnimation.cs:109)
    Eliot.AgentComponents.Agent.Start () (at Assets/Eliot AI/Eliot/AgentComponents/Agent.cs:577)

    Any help would be appreciated, thank you!

    Joe
     
  36. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    Hi Joe, if you are using mecanim, you're supposed to use the relevant options right below the ones that you've probably used. I assume you've used the settings under the Legacy header. You need to use the ones under the Animator header. You don't need to specify the clips, only the names of Animator parameters used for moving forward and sideways (optional).
     
  37. jstallingssr

    jstallingssr

    Joined:
    Sep 13, 2018
    Posts:
    7
    @eliot-ai -

    Well, one thing I figured out is that I needed to manually add the Animation component to the original prefab (it was only showing Transform and Animator by default). So I added the idle and walk animations.

    I also forgot to bake the mesh. :( Doing that got the Agent moving - yay!

    The last I'm trying to figure out is how to have the Agent actually use the proper animations. Right now it is just 'skating' across the mesh. Does anything like amiss to you in my Inspector panels? (This is for root Orc object, and OrcClone inside the Orc gameobject).

    Screen 1 https://app.box.com/s/4h5em0lfpdbjh5dqius6tqhzel7kfwd9
    Screen 2 https://app.box.com/s/f8ndg9hkk72r8im2wwyqv1azacl834jo

    Again, thank so much!

    Joe
     
  38. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    First of all, you don't need to have both Animation and Animator components on your Graphics object. You just need one of them. Looks like you want to stick with Animator. To get it up and running, you need to configure your Animator Controller (currently it's OrcTestController) to bind the animations of moving forward to a float variable (you can call it "Speed"). If you want to use root motion, do that as well for the sideways animation and bind it to another float variable, e.g. "Turn"
     
  39. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    227
    Hello,

    This may have been asked before,

    Going over the Top Down Shooter I noticed, Soldier (range), Soldier Melee, and StandingSoldier.

    Is Eliot not capable to have both ranged and melee attack for an AI NPC?

    Thank you
     
  40. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    Eliot can handle both in a single behaviour. This can be achieved by simply adding a node that checks the current state. This separation into two behaviours is done to make it simpler to focus on each of them separately as it is very easy to just switch between behaviours at the runtime.
     
  41. Tethys

    Tethys

    Joined:
    Jul 2, 2012
    Posts:
    665
    Thanks for the response. I am looking for an AI solution that moves the characters AND can use the functionality built into UCC NPC's. UCC NPC functionality seems to be written with selling Behaviour Trees in mind - I have had a heck of a time trying to use his NPC with my current AI solution due to the way movement and other stuff is kind of locked down into his proprietary system. Good luck with the integration and I'll watch for it to be complete.
     
    eliot-ai likes this.
  42. jstallingssr

    jstallingssr

    Joined:
    Sep 13, 2018
    Posts:
    7
    Thanks @eliot-ai. Still trying to get this working, but thanks for heading me in the right direction.

    Joe
     
  43. DanielSnd

    DanielSnd

    Joined:
    Sep 4, 2013
    Posts:
    358
    Hi there, I just finished reading the tutorial and I didn't see anything showing how to integrate the skills with existing health/etc code. Is there a tutorial about that that I'm missing? Tried to find something in the manual but so far haven't seen anything related to it.
     
  44. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    If you select a Skill, you should be able to see the options in the Inspector. If you set "Affect Health" to true, and "Health Affection Way" to "Reduce", the skill will use a value between "Min Power" and "Max Power" values to damage the target. You can also heal target by picking "Add" instead of "Reduce".
     
  45. DanielSnd

    DanielSnd

    Joined:
    Sep 4, 2013
    Posts:
    358
    The thing is my player isn't an Eliot AI, my player is my own code with its own health code and its own projectile code. How do I get a Eliot AI Skill to affect my own player health code? Is Eliot AI only for visual programming or can I extend the skill class with my own code so it can talk with my previously existing code for health/projectiles etc? I would also like for my player projectiles to affect Eliot AI's health, how can I communicate in my code with Eliot AI's health? I didn't see any of that in the tutorials and in my quick skimming of the manual also didn't see it so I'm a little confused about it.

    My game is online multiplayer so ideally I would be able to replace all of the "Affect Health" in Eliot with my own health system that is ready for multiplayer syncing, same with my projectile system so that the Eliot Skills can spawn my multiplayer ready projectiles.

    - Edit -

    Finished reading the manual, it seems that what I'm looking for is under "5. Interfaces". So instead of using a skill I would make my own action interface to be executed to attack my player or spawn my own projectile, right? Would be nice to have an example somewhere of an integration with an external health system.

    - Edit 2 -
    Downloaded the project, "IntegrationDamageHandler.cs" seems to show me what I need to let the AI damage my own health code, still need to figure out how to get it to spawn my networked projectiles, looking at the interfaces I found "InventoryActionInterface" and "MotionActionInterface", their method seems to give me a reference to the agent, will experiment with it later to see what I can do with it.

    "IntegrationUccHitscan.cs" seesm to show me what I need to let my own projectiles damage the Eliot AI with: "hitCollider.gameObject.GetComponent<Eliot.AgentComponents.Agent>().Damage(Mathf.RoundToInt(amount));"

    - Edit 3 -
    The projectile code is pretty simple, will actually change my own projectile code to have the same invocation method and make Eliot use it instead of its own projectile.cs, that should solve my projectile spawning problem and I'll be able to use the skill system.

    - Edit 4 -
    Can change the resources.cs to use my regular health code :D nice!
     
    Last edited: May 3, 2019
  46. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    If your character has any MonoBehaviour on it that passes the damage, like void Damage(float), then you can use the name of that method in the "OnApplyMessageToTarget" field in the Skill's settings. The Eliot Agent component itself has a method called Damage, so you can call it and pass the damage.

    You can also use that as an example, maybe that's gonna work even faster since it will utilize the direct method calls instead of using reflection.

    "InventoryActionInterface" and "MotionActionInterface" are the classes that define the groups of actions. The actual actions are inside the "StandardInventoryActionInterface" and "StandardMotionActionInterface" classes. You can extend the code by, for example, creating your own "CustomMotionActionInterface" that inherits from "MotionActionInterface".
     
  47. MastermindInteractive

    MastermindInteractive

    Joined:
    Jun 13, 2014
    Posts:
    86
    Hi I want to integrate an alert cool-down or "Wait" mechanic much like the AI in many games. As an example: The lightning bolt that appears over the head of enemies in Dishonored to show you how alert they are before they begin an attack. Or the exclamation point in Metal Gear Solid. I'm trying to add this wait period to my enemy when he sees the player. Do you recommend using a skill for this? I tried using a skill because it also allows me to add a sound effect and particles, but the enemy just keeps repeating the skill over and over again and running the tasks below it. I want the action to run for a few seconds and then activate everything below it. Is this possible?
     
  48. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    If that waiting action is repeated for a static amount of time every time, the best option is use a Loop with the condition group set to time. Connect the purple transition to a skill that spawns the special effects, and connect the white transition to the first node of the branch below.
     
    MastermindInteractive likes this.
  49. Mohamed-Anis

    Mohamed-Anis

    Joined:
    Jun 14, 2013
    Posts:
    81
    Harlow, general questions on the roadmap for eliot (saw there was one at the end of http://www.eliot-ai.com/).

    1. Support for pathfinding outside of Unity NavMesh?
    2. Custom perception system so as to be able to perceive above and below too (In reference to Tutorial 4 on youtube where the dragon perception height needs to be changed). An API to hook up a new perception system will be nice
    On the whole looks good and intuitive.. though wondering how else this can be extended
     
    Tethys likes this.
  50. eliot-ai

    eliot-ai

    Joined:
    Oct 3, 2018
    Posts:
    148
    1. At the moment there is support outside NavMesh. A* Pathfinding Project Pro is supported as well.
    2. With the next update I'm planning to make perception more abstract so that it can be extended and will add more options to it.
     
    Mohamed-Anis likes this.