Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

AI Behaviors Made Easy! (Walker Boys)

Discussion in 'Assets and Asset Store' started by profcwalker, Apr 22, 2012.

  1. Eyehawk

    Eyehawk

    Joined:
    Dec 24, 2012
    Posts:
    288
    Thanks Daisy! This worked really well :)
    From further reading, it seems that follow is pretty much deprecated, so I won't use that state any more.
     
  2. Eyehawk

    Eyehawk

    Joined:
    Dec 24, 2012
    Posts:
    288
    Has anyone figured out how to do a roaming/wandering state? I had a look on Aron Granberg's astar - and there is a random path method which would work well. Has anyone had a go at that?
     
  3. Eyehawk

    Eyehawk

    Joined:
    Dec 24, 2012
    Posts:
    288
    Hi Guys, is there a more comprehensive manual around somewhere? There are a few options like checkmode, and cache point, but they don't seem to be explained anywhere?
     
    bonkorama likes this.
  4. will_brett

    will_brett

    Joined:
    Feb 16, 2013
    Posts:
    208
    Still stuck on making a custom trigger. My bool is changing but it doesn't seem to be working. heres my code please someone help. Im still learning to code and this has stumped me. Thank you

    If i click the actual game object and look at the trigger in the patrol state which is the state im trying to trigger there is a tick box and if i click it which i assume is the manual way of setting it to true the object does start to patrol. Debug.Log is also telling me that the bool is true when i click the gui button so I assume that the issue is with this section:

    Code (csharp):
    1. protected override bool Evaluate(AIBehaviors fsm)
    2.     {
    3.         if(_buttonPressed == true)
    4.         {
    5.             Debug.Log ("ButtonPressed");
    6.             return true;
    7.         }
    8.         else
    9.         {
    10.             return false;
    11.         }
    12.     }
    Here is the full script:

    Code (csharp):
    1. using UnityEngine;
    2. using AIBehavior;
    3. using System.Collections;
    4.  
    5. #if UNITY_EDITOR
    6. using UnityEditor;
    7. #endif
    8.  
    9. public class ButtonClickTrigger: BaseTrigger
    10. {
    11.     public bool _buttonPressed = false;
    12.  
    13.  
    14.     public void MyClickFunction()
    15.     {
    16.         _buttonPressed = true;
    17.         Debug.Log ("Button Was clicked", gameObject);
    18.         Debug.Log (_buttonPressed);
    19.     }
    20.  
    21.     protected override void Init()
    22.     {
    23.  
    24.     }
    25.  
    26.     protected override bool Evaluate(AIBehaviors fsm)
    27.     {
    28.         if(_buttonPressed == true)
    29.         {
    30.             Debug.Log ("ButtonPressed");
    31.             return true;
    32.         }
    33.         else
    34.         {
    35.             return false;
    36.         }
    37.     }
    38. #if UNITY_EDITOR
    39.     /*
    40.     // Implement your own custom GUI here if you want to
    41.     public override void DrawInspectorProperties(AIBehaviors fsm, SerializedObject sObject)
    42.     {
    43.     }
    44.     */
    45. #endif
    46. }
     
    Last edited: May 1, 2014
  5. Eyehawk

    Eyehawk

    Joined:
    Dec 24, 2012
    Posts:
    288
    Have the Walker Boys gone on holiday? I haven't received a reply to my questions even by email for weeks :confused:
     
  6. Eyehawk

    Eyehawk

    Joined:
    Dec 24, 2012
    Posts:
    288
    +1 I agree with divides

    Walker boys, I'm sure most of us didn't require an instant response but as a general courtesy to your paying customers you should at the very least just let us know that you're currently busy and set some expectation on when you can respond. Leaving emails and forum questions unanswered for weeks is not cool.

     
  7. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,459
    This used to be a great asset with fantastic support. I guess now it's considered abandon ware.
     
  8. daisySa

    daisySa

    Joined:
    Dec 29, 2011
    Posts:
    341
    Not sure why it's silent. The product is not abandon ware, they've just released an update (1.7.5).
     
  9. NathanWarden

    NathanWarden

    Joined:
    Oct 4, 2005
    Posts:
    663
    Hi everyone,

    Sorry for not responding sooner. It seems I only get emails occassionally when this thread is updated instead of every time. I try and be as prompt as possible which is usually best if you email me directly.

    You can reach me at nathanwardenlee@icloud.com (which is also in the Contact Us or Report a Bug menu option).

    Thanks,
    Nathan
     
  10. Eyehawk

    Eyehawk

    Joined:
    Dec 24, 2012
    Posts:
    288
    Thanks for your reply Nathan.

    It will be a good idea to replace profwalker's email with yours in the asset readme.txt, as he doesn't seem to respond to questions.

     
  11. NathanWarden

    NathanWarden

    Joined:
    Oct 4, 2005
    Posts:
    663
    If this is a single player game where all enemies are against the one player you could possibly make an Attack Component (such as ExampleAttackComponent) that resets the collider whenever the attack occurs. This is not a complete script, but simply shows the logic.

    Code (csharp):
    1. using UnityEngine;
    2. using AIBehavior;
    3.  
    4. public class SwordAttack : MonoBehaviour
    5. {
    6.     public Collider swordCollider;
    7.  
    8.     public void Attack(AttackData attackData)
    9.     {
    10.         swordCollider.enabled = true;
    11.     }
    12. }
    Excellent suggestion, thanks for pointing that out. It will be there in the next update.
     
  12. Eyehawk

    Eyehawk

    Joined:
    Dec 24, 2012
    Posts:
    288
    Hi Nathan, is there a way of implementing a roaming state?
    I've seen a Random direction path in AG's Astar. What would be the best way of implementing this?
     
  13. NathanWarden

    NathanWarden

    Joined:
    Oct 4, 2005
    Posts:
    663
    Hi Eyehawk,

    I just replied to your email, but thought of another way to handle wandering also. Besides for setting up a custom wandering state and hooking into Astar, you could also add another patrol state and maybe call it "Wander". Next, set up a scattered group of patrol points. Then set those as the points for your patrol waypoints. Finally, set the "patrol mode" and "continue patrol mode" both to random. This will give a random wandering effect.

    This may or may not give you the result you're looking for, but is an out of box solution.

    Thanks,
    Nathan
     
  14. Eyehawk

    Eyehawk

    Joined:
    Dec 24, 2012
    Posts:
    288
    Hi Nathan, thanks for your reply.

    Actually the solution you've proposed might be a simpler and easier one for me to implement. The map is a randomly generated one, but I could put the points everywhere and then after random times elapse I could make the AI seek a new waypoint at random so it doesn't get stuck on a wall, or have a trigger in place to detect the AI having zero velocity for too long (i.e. it's stuck on a wall).
    Thanks again :D

     
  15. NathanWarden

    NathanWarden

    Joined:
    Oct 4, 2005
    Posts:
    663
    Awesome, I'm glad that will work better for you :)
     
  16. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    you can do that, left the animation empty, it will generate a warning "xx animation not found", then you can make it check for tag "train station", then when you enter the train station range make it switch to idle or slow down states then check for speed to be 0 and back to idle.

    for the cars behind i would not suggest to add ai controller too, just rigidbody, block their rotation in two axes maybe try to add some rigidbody joint. same way to do a chain in unity: http://docs.unity3d.com/Manual/class-HingeJoint.html
    it will look more "train" and its easier to setup
     
  17. SuperNewbee

    SuperNewbee

    Joined:
    Jun 2, 2012
    Posts:
    195
    Hi - Could anybody tell me if the HURT and HEAL states are still in the latest version? I can't seem to find them in my state list. I really could use the heal state.

    Thanks
     
  18. uforoboso

    uforoboso

    Joined:
    Dec 11, 2013
    Posts:
    14
    ALL YOUR DEMOS ARE BELONG TO NOT AVAILABLE

    no, seriously.. I'm interested in your asset, but none of the webplayer demos on dropbox are working.. please re-upload them so a potential buyer can test the asset before buying............
     
  19. Soumikbhat

    Soumikbhat

    Joined:
    Nov 23, 2013
    Posts:
    110
    Hello, I purchased this asset on the sole grounds that it supports mecanim unlike other ai assets....

    Do you have video tuts on integration of mecanim with this asset? I saw a lot of tuts using legacy animations though...
     
  20. Soumikbhat

    Soumikbhat

    Joined:
    Nov 23, 2013
    Posts:
    110
    Hello all, I've one problem. My NPC does not walk in the patrolpoint route..it just keeps walking straight...Any idea why?
     
  21. SuperNewbee

    SuperNewbee

    Joined:
    Jun 2, 2012
    Posts:
    195
    Hello.

    Can anybody tell me if the Cross fade in and out and transition time feature works with legacy animations? I seem to work fine with mecanim animations. I think it does not work with legacy animations but could somebody confirm this for me? . Thanks
     
  22. pinchmass

    pinchmass

    Joined:
    Jul 2, 2012
    Posts:
    156
    Hi had your asset for ages and love it by the way quick question, is their a way I can send a message (or trigger some code in an external script), I want to do this from the dead state (so I can use it as a score).

    Also as a request, could the audio clip slots be arrays so I can add multiple clips to play randomly (like the animation options on some states)

    cheers in advance
     
  23. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    Looks great can you update the demo links, theyre not working! Thanks :)
     
  24. Sendatsu_Yoshimitsu

    Sendatsu_Yoshimitsu

    Joined:
    May 19, 2014
    Posts:
    691
    I'm curious, how optimal is your implementation? My project currently has 500-700 actors all running AI, and this looks like a pretty robust system, but I don't know if it can handle that amount of load.
     
  25. Electric-McEwan

    Electric-McEwan

    Joined:
    Jan 31, 2014
    Posts:
    1
    Hey Guys,

    Purchased the package last week and am really impressed. Great work.

    I am looking to create a flying enemy, that can settle on walls and ceilings and walk around. Do you have an advise?

    Thanks in advance for your support.
     
  26. NathanWarden

    NathanWarden

    Joined:
    Oct 4, 2005
    Posts:
    663
    Hi, thanks for the interest in AI Behavior :) I just set up a scene and spawned 700 characters using the legacy animation system. Below are 3 screenshots to show you that AI Behavior is very performant in and of itself, however you'll likely run into some issues unrelated to the AI system itself like draw calls and animation.

    Also, sorry if this is more info than you wanted, but I'm sure a few people may find this useful as well.

    First, here is a screenshot of 700 characters all visible and running AI Behavior. It only has 10 FPS which is pretty bad. But, AI Behavior shows that it's using almost 0.0% of the processing time. The main two issues here are draw calls and animation (skinned mesh renderers).

    Screenshot from 2014-08-15 01:45:58.png

    Next, below is a screenshot where all of the time was going to animation by setting it to "always animate" so it'll still run when offscreen. The camera is turned away so we can get rid of the performance hit from the draw calls. We're now getting 30 FPS which still isn't ideal. Still, only 0.1% of that time was actually being taken by AI Behavior.

    Screenshot from 2014-08-15 01:23:23.png

    Finally, below is a screenshot of the same setup where animation only actually animates when the renderers/AIs are visible. It has a much better framerate at 70+ FPS and AI Behavior still only accounts for 0.1% for the 700 AI's. Unity's navigation is now taking most of the time and 6ms for 700 nav mesh agents is doing pretty good).

    Screenshot from 2014-08-15 01:40:17.png

    Note that I'm also running this under Wine in Linux, so if I was running this natively under Windows there would likely be a slight, but negligible, performance increase.

    All of this is simply to show that even for 700 objects your main pain point will not be AI Behavior itself nor Unity's navigation system. I'm not sure what setup your game will have, but draw calls and skinned mesh renderers may give you a bit of trouble, so you'll want to plan for that from the start.

    Hope this helps :)
    Nathan
     
  27. NathanWarden

    NathanWarden

    Joined:
    Oct 4, 2005
    Posts:
    663
    Hi Electric.McEwan, Chad or I will try and get back to you tomorrow with the email you wrote us.

    Thanks a bunch,
    Nathan
     
  28. Sendatsu_Yoshimitsu

    Sendatsu_Yoshimitsu

    Joined:
    May 19, 2014
    Posts:
    691
    That was an awesome reply, thank you for taking the time to write out such a detailed response! :)

    The only other question I have is much simpler- currently I'm making quite heavy use of utility-based AI, every tick my FSM checks each NPC's statistics, weights them (hunger is prioritized over bathroom when they're tied at 50, bathroom is prioritized when they tie at 75), and chooses whatever course of action is most highly prioritized. Would AI Behaviors easily support similar logic, or is it largely intended for all transitions to go state-state without a central 'thinking' state?
     
  29. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    Little question, if i want to convert this into a networked version.

    how would you proceed?

    in AIBehaviour.cs:

    publicvoidChangeActiveState(BaseStatenewState) use this as an rpc to switch state?

    it will sync animation too as i understand ?

    is it possible to block the triggers from Aibehaviour.cs? but having triggers only work if its the masterServer that own the object.
     
  30. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    sent you an email, in 1.7.7, the look at target is broken, does not face smoothly as before. would you nice if you fix this
     
  31. NathanWarden

    NathanWarden

    Joined:
    Oct 4, 2005
    Posts:
    663
    Hi Sendatsu,

    You would probably need to make a custom trigger type for the values you mentioned and then use it in the global triggers. The global triggers essentially act as the central thinking system that I believe you're asking about.
     
  32. NathanWarden

    NathanWarden

    Joined:
    Oct 4, 2005
    Posts:
    663
    Hi Damien,

    I'll take a look at the rotation issue tomorrow and fill you in.

    As far as server setup, I think that would be heading in the right direction by using the ChangeActiveState method if you want to still use AI to some degree on the clients. It will sync animations as long as you only use one animation per state. Some states allow more than one as well. If it's the case that you've used 2+ animations on let's say the idle state, you'll need to also sync animation via server command because the AI system uses Random.value to choose between the animations.

    As far as triggers go, the least messy way I can think of without changing any AIBehavior code directly would be to make a new trigger called something like ServerTrigger with a static boolean in it. If you put that trigger at the bottom of each nested triggers list, and have it's result be the isServer boolean then it will only proceed down the rest of the triggers if it's true.

    Code (csharp):
    1. using AIBehavior;
    2.  
    3. public class ServerTrigger : BaseTrigger
    4. {
    5.    public static bool isServer = false;
    6.  
    7.  
    8.    protected override void Init()
    9.    {
    10.    }
    11.  
    12.  
    13.    protected override bool Evaluate(AIBehaviors fsm)
    14.    {
    15.      // Logic here, return true if the trigger was triggered
    16.      return isServer;
    17.    }
    18. }
    Of course, you could also handle this a few other ways, such as modifying the AIBehaviors class to have an isServer boolean and changing lines 223 through 235 and maybe some other things I may not be thinking of at the moment. This would be less setup per AI, but the small downside with this is that if there are any updates from us you want to do you'll need to reimplement your server code.

    Code (csharp):
    1. if ( isServer )
    2. {
    3.       for ( int i = 0; i < triggers.Length; i++ )
    4.       {
    5.             if ( triggers[i].HandleEvaluate(this) && triggers[i].transitionState != null )
    6.             {
    7.                   currentState = triggers[i].transitionState;
    8.             }
    9.       }
    10. }
    11.  
    12. // If the state remained the same, do the action
    13. if ( !isServer || currentState.HandleReason(this) )
    14. {
    15.       currentState.HandleAction(this);
    16. }
    There are probably several places where it'll need to be more complex than this, but this should hopefully be a starting point.

    If I personally was making a server based game I would probably turn off AI altogether on the client side and have a separate system that told the AI's their positions, actions, animations, etc, but it probably depends on how accurate you want it to be.

    Hope this helps,
    Nathan
     
  33. nemosbg

    nemosbg

    Joined:
    Aug 22, 2014
    Posts:
    2
    Hello! I bought the product today, but it seems like it doesn't work really well for me. I am just a newbie, therefore, I assume I missed something small and that cause me all this trouble. I will be more than happy, if you can show me my mistake. I am trying to make the character to patrol. I am just drag and dropping the prefabs from the package. I use scene_01, avatar_complete and patrol_points_group_1. Then I am going to patrol points group and I drag and drop patrol_points_group_1. Then I change the initial state of avatar_complete to patrol. Sadly, when I hit play I only see the character running at one place. I tried with making empty objects myself, if you have info, which can be of any help I will be grateful. Thanks in advance!
     
  34. NathanWarden

    NathanWarden

    Joined:
    Oct 4, 2005
    Posts:
    663
    Hi nemosbg,

    From what it sounds like is that you made a new empty scene and dropped scene_01 into it. If this is the case you simply need to mark the scene_01 object hierarchy as static and then under the Window menu choose Navigation. In the window that comes up press "Bake"

    While you can incorporate any navigation system, AI Behavior uses Unity's internal navigation system by default.

    Let me know if you need additional help.

    Thanks,
    Nathan
     
  35. nemosbg

    nemosbg

    Joined:
    Aug 22, 2014
    Posts:
    2
    Hello! The scene was already set to static, but after "baking" it everything is working correctly. Thank you very much for your reply.
     
  36. NathanWarden

    NathanWarden

    Joined:
    Oct 4, 2005
    Posts:
    663
    Awesome, glad to hear it!
     
  37. nm8shun

    nm8shun

    Joined:
    Jul 14, 2007
    Posts:
    476
    It's been a while since I purchased AI Behaviors, and things have changed a little bit. Hoping to get some guidance here.....

    I'm working in JavaScript. I've moved the Plugins folder out to the Assets folder, and most parts of AIBehaviors are working. However, when I used the ExampleAttackComponentJS and uncomment it I get:

    The name 'AIBehaviors_AttackData' does not denote a valid type ('not found').

    The C# version of the script works; and looking at past projects using older versions of AIBehaviors I didn't have this problem. What have I done differently this time, or what has changed.

    Just for reference here's the script as it currently stands (and doesn't work):
    Code (csharp):
    1. //movethepluginsfoldertotheassetfolderthenuncomment
    2.  
    3. importUnityEngine;
    4. importSystem.Collections;
    5.  
    6. classAIAttackScriptextendsMonoBehaviour
    7. {
    8. varprojectilePrefab : GameObject;
    9. varlaunchPoint : Vector3= newVector3(0.15f, 1.22f, 0.53f);
    10.  
    11. functionMeleeAttack ( attackData : AIBehaviors_AttackData ) : void
    12. {
    13. Debug.Log("Meleeattack");
    14. }
    15.  
    16.  
    17. //functionRangedAttack ( attackData : AIBehaviors_AttackData ) : void
    18. //{
    19. //varlaunchPosition : Vector3= transform.TransformPoint( launchPoint );
    20. //varprojectile : GameObject= GameObject.Instantiate(projectilePrefab, launchPosition, transform.rotation) asGameObject;
    21. //varprojectileComponent : ExampleProjectile = projectile.GetComponent( ExampleProjectile );
    22.  
    23. //projectileComponent.damage = attackData.damage;
    24. //}
    25. }
    26.  
     
  38. nm8shun

    nm8shun

    Joined:
    Jul 14, 2007
    Posts:
    476
    Additionally, in previous versions there was a separate Range and Melee attack states. Now this appears to be collapsed into on Attack state. How do I use this single attack state if there is both a Ranged and Melee attack for a particular character?
     
  39. NathanWarden

    NathanWarden

    Joined:
    Oct 4, 2005
    Posts:
    663
    Hi nm8shun,

    Probably the cleaner thing to do would be to move the entire root "AIBehavior" folder into the "Standard Assets" folder since it will compile the Editor scripts as well before it will look in any other Assets. Then use your js scripts in a regular folder. I just updated the js scripts and will push them up to the Asset Store in the next update. Below are the updated scripts in the meantime.

    Ranged Attack and Melee Attack code was exactly the same in that version, so we just made a single class "Attack" and when you make a new AI we automatically make two attack states, one called Ranged Attack and the other Melee Attack. You can then use whatever triggers you want to make them behave properly.

    ExampleAttackScriptJS.js
    Code (csharp):
    1. // move the root AIBehavior folder to the "Standard Assets" folder then move this script into any regular folder and uncomment.
    2. /*
    3. import AIBehavior;
    4.  
    5. class ExampleAttackComponentJS extends MonoBehaviour
    6. {
    7.    function MeleeAttack ( attackData : AttackData  ) : void
    8.    {
    9.      Debug.Log("Melee attack");
    10.    }
    11.  
    12.  
    13.    function RangedAttack ( attackData : AttackData  ) : void
    14.    {
    15.      Debug.Log("Ranged attack");
    16.    }
    17. }
    18. */
    CharacterAnimatorJS.js
    Code (csharp):
    1. // move the root AIBehavior folder to the "Standard Assets" folder then move this script into any regular folder and uncomment.
    2. /*
    3. import AIBehavior;
    4.  
    5. private var anim : Animation = null;
    6. private var hasAnimationComponent : boolean = false;
    7.  
    8.  
    9. function Awake()
    10. {
    11.    anim = GetComponentInChildren(Animation);
    12.  
    13.    hasAnimationComponent = anim != null;
    14.  
    15.    if ( !hasAnimationComponent )
    16.    {
    17.      Debug.LogWarning("No animation component found for the '" + gameObject.name + "' object or child objects");
    18.    }
    19. }
    20.  
    21.  
    22. function ReceiveAnimation(animState : AIAnimationState)
    23. {
    24.    if ( hasAnimationComponent && animState != null )
    25.    {
    26.      var stateName : String = animState.name;
    27.  
    28.      if ( anim[stateName] != null )
    29.      {
    30.        anim[stateName].wrapMode = animState.animationWrapMode;
    31.        anim[stateName].speed = animState.speed;
    32.        anim.CrossFade(stateName);
    33.      }
    34.      else
    35.        Debug.LogWarning("The animation state \"" + stateName + "\" couldn't be found.");
    36.    }
    37. }
    38. */
     
  40. nm8shun

    nm8shun

    Joined:
    Jul 14, 2007
    Posts:
    476
    Hi Nathan...thanks so much for your help so far. Things did clean up quite a bit when I moved the entire AIBehaviors folder to the Standard Assets folder - I can indeed use JS now with AIBehaviors; however there appears to be some problems with how the Editor folder works.

    With everything in the Standard Assets folder, when I click on a character with AIBehaviors, I get:

    Instance of AnimationStatesEditor couldn't be created. The script class needs to drive from ScriptableObject and be placed in the Assets/Editor folder.
    &
    Instance of AiBehaviorsEditor couldn't be created. The script class needs to derive from ScriptableObject and be placed in the Assets/Editor folder.

    When I take the Editor folder (from within AIBehaviors (that is in the Standard Assets folder)), and bring it out the base directory of the Assets folder, all the icons (plusses, minuses, up and down arrows) disappear. The hotspot is there if you guess, but the AIBehaviors UI is all messed up within the Inspector window.

    How should this be organized?
     
  41. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    i have made a prefab of my enemy, it has its animation and mesh as a child of the Ai GO but when i select it in the project asset view it give me this error and create an "AnimationStates"
    :
     
  42. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Hi Nathan.

    I am interested in purchasing this plugin, but I have few questions before I can make a decision.

    1. I saw somewhere in this thread, about pausing ability of the behaviour that it isn't out of box feature. Is it still so? My game uses time.scale to control pause of the game so I am wondering if this AI behaviour will respect the time.scale and actually pauses the processing of the state as it should. ( because it seems like it has time related triggers etc )

    2. Is it possible to modify the attackdata so that I can assign more than one property value? This .. ofcourse means I may have to write a custom inspector ( or something like that ) but I wish to know if this is possible. This is important as sometimes "attack" could mean more than just a simple float damage being applied. It could mean damage + mana drain + etc ... multiple effects can be applied so I wonder if data structure can be modified to accommodate that.

    3. Also, say when AI is attacking, if player doges fast enough so the attack should "miss" , does it respect that kind of situation or do I need to handle that myself? (otherwise, even if player is far away after AI begun attacking, damage would still be applied)

    Thanks
     
  43. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    I wonder if this thread is being watched by Dev or nor anymore. Seems to be taking pretty long time for some responds.
     
  44. motheartist

    motheartist

    Joined:
    Nov 6, 2013
    Posts:
    3
    Just a quick question. If I would use those AI states of yours on AI controlled characters and wanting to change their state, team and their other attributes such as their position / movement / speed only by player input (mouse strategy like control with keybindings for states (idle, seek, attack etc.) what would be the best way to do this? Playmaker in combination a good example? I'm not so much into writing my own codes for now. I would appreciate a quick and simple answer if this can be handled merely easy or not just for me to determine wether to purchase your pack or not :) Thanks in advance, looks very promising to me already!
     
  45. nm8shun

    nm8shun

    Joined:
    Jul 14, 2007
    Posts:
    476
    Hello.....?

    Big problems with the default installation when using JavaScript....Please, any guidance is needed here. Great package of tools, but three weeks between responses seems a bit slow.
     
  46. radiantboy

    radiantboy

    Joined:
    Nov 21, 2012
    Posts:
    1,633
    Has anyone made an fps with this? Id love to see it :) Im thinking of getting this, Im just wondering how good the AI is for FPS games.
     
  47. ArtR

    ArtR

    Joined:
    Sep 27, 2011
    Posts:
    48
    Hey devs,

    I have purchased your tool and I have really enjoyed it so far. I have recently hit a wall when trying to use the AttackState with mecanim. I cannot for the life of me get the animation I assigned to the state to play. I have set the previous state (Engage) where the unit engages the character and when it gets to a certain distance it switched to the Attack state... it does get to the attack state and the attack callback works fine, but the animation will not play! Also I cannot see the animation when sliding the attack time slider (using both mecanim and standard attack states).

    Please help!!!
     
  48. giraffe1

    giraffe1

    Joined:
    Nov 1, 2014
    Posts:
    300
    I am considering buying this asset. Is it still supported? Will it work in Unity 5?
     
  49. Doctor_Neuron

    Doctor_Neuron

    Joined:
    Nov 27, 2014
    Posts:
    7
    It doesn't work in Unity 4.6. The editorGUI is broken so you won't be able to edit most of the foldouts, thus you won't get it working, so I doubt it will work with Unity5, but I see an update coming.
     
  50. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    no and no, does not work on 4.6 and no playmaker actions, but you can definitely write yours