Search Unity

[RELEASED] Love/Hate: The Emotion-Driven Relationship System

Discussion in 'Assets and Asset Store' started by TonyLi, Mar 24, 2015.

  1. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Nope storybricks happen just after.

    the generation is rather simple and some aspects are arbitrary, but the goal is to end up with a generic game GDD generator.
    I want to make partially true this april fools joke :D https://blogs.unity3d.com/2012/04/01/semantic-game-builder-interface-to-be-integrated-into-unity/
    But I have some clean up to do, some category mix things that are separate (like level structure (ex linear) also having elements of level navigation (on rail). MY goal is to break iteratively every arbitrary terms into even more generic aspects, so genre would be generated by mechanics generation rather than adhoc list. I find the story parameter to be a bit confusing to read right now, I'll see when I replace the generic terms with generated objects, and actually complete a full story instead of example of generated elements.

    Yes I have a view on your asset to when I will be available to work fully on these things again, no need to reinvent the wheel lol!
     
    Last edited: Apr 12, 2018
    TonyLi likes this.
  2. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    hopeful likes this.
  3. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    May Madness Sale Ends Tomorrow

    Tomorrow is your last day to get Love/Hate for 30% off in the May Madness Sale. It's the easiest way to add procedurally-managed relationship and emotion simulation to your project's characters.

    Quest Machine is also 30% off, and the Dialogue System for Unity is 50% off.
     
  4. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    So the last day to buy on sale is the 11th, not the 12th?

    UPDATE: Ah, I see the asset store itself says the last day of the sale is tomorrow, so that confirms it. :)

    (I thought I'd read in some Unity message that it ended on the 12th, but I guess it really ends on the 11th.)
     
    Last edited: May 10, 2018
  5. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    I'm pretty sure it ends on May 11 at 23:59:59 PST, but don't take that as the official word of course.
     
  6. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    I see what's happening. Unity has ads that appear in articles I read online, and they say the sale ends on the 12th. Which is kind of accurate, but not really. If you intend to buy something, the last day to buy is the 11th. If you're thinking you have until the 12th, you will be disappointed.

    They did this with their last big sale, too, IIRC. I was thinking I had one more day to buy stuff and had a nice full shopping cart, but the sale ended a day early and so I didn't buy any of those things. I just dumped them out of my cart.
     
  7. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    You weren't the only one. Several publishers have suggested a countdown timer like they used to have with sales. It's possible that they just haven't been able to implement it yet with all the changes to the store.

    Anyway, for anyone who has Love/Hate in their cart, play it safe and just click the "buy" button now. ;-)
     
    TeagansDad and hopeful like this.
  8. uberwiggett

    uberwiggett

    Joined:
    Jun 26, 2015
    Posts:
    105
    Picked up the trilogy during the sale, very happy I did!
     
    TeagansDad and TonyLi like this.
  9. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Thanks! :)
     
    twobob likes this.
  10. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Reminder: The May Madness Sale ends today! Get Love/Hate for 30% off.
     
  11. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    More info about Power Level

    Someone had a good question about faction members' power level values, so I thought I'd post the info here, too.

    Power level is an optional value. It influences dominance. Let's say there are three characters:
    • Knight, power level 2
    • Captain (ally), power level 3 (higher than Knight)
    • Goblin (enemy), power level 1 (lower than Knight)
    If the Knight witnesses his Captain defeat an enemy, the Knight will gain extra dominance. This is because the Captain is more powerful than the Knight, and so is kind of like a role model.

    If the Knight witnesses a lowly Goblin attack the Captain, the Knight won't lose as much dominance as usual. This is because the Knight is more powerful than the Goblin, so he regards the Goblin's action with less seriousness.

    By default, faction members have power level 1. You can override this by assigning a function to the faction member's GetPowerLevel delegate function. Many of Love/Hate's integrations override GetPowerLevel to return values from the integrated asset. The ORK Framework integration, for example, returns the faction member's ORK character level.

    Faction members also have a self-perceived power level, which by default is the same as their real power level. You can override this by assigning a function to the faction member's GetSelfPerceivedPowerLevel. For example, an overconfident character could have a higher self-perceived power level than their actual power level.

    The Quest Machine integration also uses power level to determine what rewards to offer the quester. Targets with higher power levels give more XP and higher value rewards.
     
    hopeful likes this.
  12. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Love/Hate 1.9.0 Released!

    Version 1.9.0 is now available on the Asset Store!

    Version 1.9.0 Release Notes
    • Minimum version is now Unity 5.3.6.
    • Improved: Deeds can now specify who can evaluate them.
    • Improved: Faction Manager: Added instance property, Allow Only One Faction Manager checkbox.
    • Improved: Faction Member Debugger: Added Visible checkbox, option to auto-destroy if not debug build.
    • Improved: Save System: Added SaveSystemMethods.LoadOrRestart.
     
    Teila, twobob and hopeful like this.
  13. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    \\o// LOVE / HATE FTW!!!
     
    TonyLi likes this.
  14. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Love/Hate 1.9.1 Released!

    Version 1.9.1 is now available on the Asset Store! This is mostly a maintenance release that adds small ancillary features for the included save system. But it does now also include a unitypackage containing optional Assembly Definition files for those who want to really minimize recompile times.

    Version 1.9.1 Release Notes:
    • Input Device Manager: Added Always Auto Focus, Detect Mouse Control checkboxes.
    • Save System: Added Binary Data Serializer.
    • Save System: Added saveStarted, saveEnded, loadStarted, loadEnded events that your scripts can use.
    • SaveSystemEvents component to hook up events in the inspector.
    • Save System: Fixed slot number error in DiskSavedGameDataStorer.
    • Added unitypackage containing optional Assembly Definition files.
     
    twobob and hopeful like this.
  15. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    This is my fave addon ever.
     
    TonyLi likes this.
  16. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Love/Hate 1.9.2 Released!

    Version 1.9.2 is now available on the Asset Store!

    This version introduces support for Ludiq's Bolt visual scripting as well as various API enhancements.

    Version 1.9.2
    • Added: LoveHate static helper class.
    • Fixed: Removed editor warning in EditorNote.cs.
    • Save System: Added SaveSystem.instance
    • Save System: Added AnimatorSaver.
    • Bolt support: Added.
    • PlayMaker support: Added Get/Apply Saved Game Data actions.
     
    BackwoodsGaming and twobob like this.
  17. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    BEST ASSET EVER.
     
    superwendel, TonyLi and hopeful like this.
  18. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Sep 10-17 Out of Office

    I'll be traveling September 10-17, 2018. I'll still be checking email and forums daily and will do my best to reply to support requests quickly, but responses may take a little longer than usual.
     
    BackwoodsGaming and twobob like this.
  19. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    upload_2018-10-11_7-38-14.png
    If we choose WebGL. Beta 18.3.b5. I probably did something stupid
     
  20. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @twobob - The upcoming version 1.9.3 accommodates Unity 2018.3's change to .NET 2.0 Standard. I PM'ed you an advance copy.

    It's now possible in Unity 2018 to disable the Physics2D package. Love/Hate 1.9.3 wraps 2D support code in:
    Code (csharp):
    1. #if USE_PHYSICS2D
    so if you're using Physics2D you'll need to add the scripting define symbol USE_PHYSICS2D. If you're not using 2D, Love/Hate will now be even leaner. :)

    Also, Unity 2018.3b1 - b5 has a bug. (I've already reported it. It should be fixed when 2018.3 becomes official.) The full compiler condition is:
    Code (csharp):
    1. #if USE_PHYSICS2D || !UNITY_2018_1_OR_NEWER
    The beta will report this error when you import:
    Code (console):
    1. InvalidOperationException: Stack empty.
    2. System.Collections.Generic.Stack`1[T].ThrowForEmptyStack () (at <92a280c01ddb426e95c910bc7d259bc9>:0)
    3. System.Collections.Generic.Stack`1[T].Pop () (at <92a280c01ddb426e95c910bc7d259bc9>:0)
    4. UnityEditor.Scripting.ScriptCompilation.CSharpNamespaceParser.ApplyOp (System.Char op, System.Collections.Generic.Stack`1[T] values) (at C:/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/CSharpNamespaceParser.cs:290)...
    because the editor previewer has trouble understanding anything but very basic compiler conditions. It actually compiles just fine, though.
     
    twobob likes this.
  21. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    thanks man. Superheroic as ever
     
    TonyLi and hopeful like this.
  22. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Love/Hate 1.9.3 Released!

    Version 1.9.3 is now available on the Asset Store.

    Important Note: In Unity 2018+, it's now possible to disable the built-in Physics2D package. For this reason, Love/Hate plays nicely and doesn't assume that Physics2D is enabled, which would cause compiler errors if it's disabled. If you're making a 2D project in Unity 2018+ or want to play the 2D demo scene, select menu item Tools > Pixel Crushers > Common > Misc > Enable Physics 2D Support to tell Love/Hate that you're using 2D. If you're using Unity 2017 or older, you can skip this.

    (On the plus side, if you're not using 2D, Love/Hate is now even leaner because the compiler will conditionally exclude all 2D-related code.)

    ORK Framework users: Please import the updated ORK Framework Support package. It fixes the GetTemperament step and adds a GetEmotionalState step.


    Version 1.9.3 Release Notes:
    • IMPORTANT CHANGE: On Unity 2018+, you must define scripting symbol USE_PHYSICS2D to use 2D physics.
    • Fixed: FactionMember.FindRumorInMemory wasn't matching target faction correctly.
    • Fixed: Faction Member inspector was showing 1 + memory count.
    • Fixed: Trigger Event and Collision Event components now handle >32 tags.
    • Improved: Updated for .NET Standard 2.0 compatibility.
    • Improved: FactionManager now delays check for faction database until Start. (Prevents check warning if you create your FactionManager at runtime in code.)
    • Improved: Added Assign Unique Keys menu item for Saver components.
    • Improved: Added Control Graphic Raycasters checkbox to Input Device Manager.
    • Improved: Timed Event now has option to time by # of frames.
    • Save System: Animator Saver now saves animator parameters.
    • Save System: If Active Saver activates inactive target, it now also tells target's other savers to apply data.
    • ORK Framework: Fixed GetTemperament. Added GetEmotionalState.
     
    Last edited: Oct 26, 2018
    hopeful and twobob like this.
  23. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Love/Hate 50% Off in Cyber Week Mega Sale

    Love/Hate is 50% off in the Asset Store's Cyber Week Mega Sale!

    Love/Hate, Quest Machine, and the Dialogue System for Unity all have cross-compatibility, and all are on sale this week.

    Andrew at the Asset Store posted a great spreadsheet that lists every single asset in the Cyber Week Sale. See it here. Or go directly to Love/Hate.
     
    twobob likes this.
  24. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    LIKE LIKE LIKE. BUY THIS
     
    hopeful and TonyLi like this.
  25. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    As the Cyber Week Sale is coming to a close, I've received a handful of emails asking what Love/Hate does. I thought I'd post my reply here for any who want more info:

    Love/Hate is an AI solution with a specific purpose. It's useful on its own, but it's especially powerful when used alongside other AI solutions to give them information to make better decisions.

    Each Love/Hate AI has a personality and a memory. It judges actions that characters (including the player) take in the world, remembers the actions, and updates its relationships to other characters. It can also automatically share its memories when it runs into friends (i.e., gossip), and perform some basic functions like play an animation when seeing other characters (e.g., smile or frown based on relationship).

    When used alongside another AI solution, it can tell that other AI solution when it has witnessed an action so the other solution can do something in response. And the other AI solution can get information about relationships to decide what to do. For example, the other AI solution can decide whether to help or attack the player depending on whether the player has been nice or mean to its friends.

    This gives NPCs the ability to react dynamically based on the player's actions rather than hard-coding their factions at design time. If the player acts like a villain, good NPCs may shun or attack the player. If the player acts like a hero, good NPCs may help the player.

    A good example is Quest Machine, which can dynamically generate new quests in addition to running human-written quests. Using Quest Machine's Love/Hate integration, if the player has been acting like a villain, a quest giver could generate a quest to rob traveling merchants. But if the player has been acting like a hero, the quest giver could generate a quest to safeguard traveling merchants.

    Reminder: Love/Hate is 50% off in the Cyber Week Sale, which is ending soon.
     
    Last edited: Nov 30, 2018
  26. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    Here's how I see it.

    Basically, LH helps AI develop and act off of motives, kind of like how a hunger system could direct an AI to different behavior based on the level of hunger, by increasing aggression, decreasing alertness, or slowing movement rate.

    It allows the developer to set up their own motives, like greed or altruism, which can then guide behavior.

    LH uses a faction system and a witness system, so that a character's AI can behave according to faction, and can change the weight on its motives as a result of witnessing events, and consequently can "learn" to behave differently than other members of the faction based on what they've witnessed. So, for example, a character could "learn" through witnessing events to be more sympathetic to the player, or less.

    If a character was hungry and witnessed a food event, it might make them take an action which could be based on other motives set up by the developer. Like, would the character try to sell their services in exchange for food (bartering)? Would they attempt to steal the food, or be aggressive and enter combat, in order to take the food? Or would they simply ask for the food (non-aggressive)? LH can work behind the scenes to help orchestrate whatever behavior you want in your game.
     
    Last edited: Nov 30, 2018
    twobob and TonyLi like this.
  27. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
  28. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Unity Christmas Giveaway 2018 - Free Pixel Crushers Assets December 4

    Sign up for the 2018 Unity Christmas giveaway: http://christmas.devdog.io

    December 4 is Pixel Crushers day, with over 15 Pixel Crushers assets being given away, including Love/Hate.
     
  29. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
  30. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
  31. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
  32. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    Hi @TonyLi Is there any deals for quest machine/dialogue system owners with love/hate? I'm just evaluating it now and I think it will be good fit for the Gorilla troop and possibly other animals down the line. Can't believe I missed two mega sales.on this asset I was sure I had on my list but got no email Is grrr.
     
    Last edited: Dec 11, 2018
  33. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @AndyNeoman - Unfortunately the options available to Asset Store publishers are quite limited. The only capability available to us is to define one asset as an "upgrade" to another.

    I've set up the following "upgrades":

    If someone owns a license for the Dialogue System, they can subtract 50% of the Dialogue System's price from Quest Machine (i.e., get it 50% off).

    If someone owns a license for Love/Hate, they can subtract half the price of Love/Hate from the Dialogue System price.

    Since Love/Hate's regular price is already lower than Quest Machine or Love/Hate, it's not possible to set up an "upgrade" to it.
     
    AndyNeoman likes this.
  34. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938

    No worries @TonyLi I will support your excellent assets and customer service no matter, but it's always worth a question :).
     
  35. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Thanks! It doesn't hurt to ask. We publishers are always asking the Asset Store team for new discount options and the like, so it might happen once their hands are a little less full.
     
    AndyNeoman likes this.
  36. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Love/Hate 1.9.4 Released!

    Version 1.9.4 is now available on the Asset Store!

    This version lets you import and export your faction databases to CSV and JSON.

    The CSV feature is especially handy if you're managing large numbers of factions, since you can load them into a spreadsheet application to tweak and balance numbers. Love/Hate's CSV import is flexible. You can configure it to import custom layouts, such as those created by Stay At Home Devs' Game Data Editor.


    Version 1.9.4 Release Notes:
    • NOTE: On Unity 2018+, you must define scripting symbol USE_PHYSICS2D to use 2D physics. (Tools > Pixel Crushers > Common > Misc > Enable Physics 2D Support)
    • Added: CSV export/import.
    • Added: JSON export/import.
    • Fixed: String-to-float conversion in .NET4 is now culture invariant.
     
  37. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    Hi @TonyLi Im trying to get a understanding of implementing love hate with ICE AI. Ive add the packages and set the faction manager and added the components to ICE AI. Is there a different method for getting ICE to do greetings and gossip? ICE animator controller does not have transitions so not sure how to set the parameters to work for greeting trigger.

    Is there any further reading on integration between the two get a understanding on sending information when a behaviour is completed in ice.
     
  38. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @AndyNeoman - ICE support is going to be iffy since ICE itself is deprecated and no longer supported. However, I'll do my best to help from the Love/Hate side.

    ICE controls everything that NPCs do in-scene. An ICE NPC has a list of interactions, such as attacking the player or running away for healing, that can be active or inactive. The interaction controls animation, movement, etc.

    Love/Hate observes what happens in the scene and tells ICE what to control. One of the ways it does this is the Enable Interactions By Affinity component. When an NPC witnesses a deed, it checks the relationships defined in Enable Interactions By Affinity. If any of them meet the conditions, it enables or disables the specified interaction. In the example below, if the NPC has negative affinity to the player (i.e., hate), it enables ICE interaction [0].

    upload_2018-12-19_9-27-11.png
     
    AndyNeoman likes this.
  39. AndyNeoman

    AndyNeoman

    Joined:
    Sep 28, 2014
    Posts:
    938
    Yeah, I got that far, and ICE is all well setup in my scene, it's the love/hate observing what happens with the interactions i'm trying to get my head around. IF for example I make a nest for an AI, or give it food/affection. How do I tell Love/hate this has happened to change its affinity. My player is a silverback gorilla and has to look after his females, increasing his bonding until finally he can mate.

    I had my own system which was a bit basic so I'm trying to transfer it to love hate. I also use your quest machine to manage the tasks/activities you can do for the females so I'm trying to work out the best way to sync all the info between the assets and change the females behaviour options accordingly.
     
  40. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi - To tell Love/Hate that the player has committed a deed such as making a nest, define your deeds in a Deed Template Library asset. Add a Deed Reporter component to the player. When the player commits the deed, call the player's DeedReporter.ReportDeed() in a script or use the equivalent visual scripting action in PlayMaker, etc. If you don't want to bother with a Deed Reporter and Deed Template Library, you can call FactionManager.instance.CommitDeed() manually and provide all of the deed info in the parameters. Nearby females will judge the deed and update their affinity to the player. Females will also remember the deed and tell it to any faraway females that they encounter (as long as they're friendly).

    If your female is controlled by ICE, use an Enable Interactions By Affinity component to enable or disable ICE behaviors on the female.
     
  41. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Hi Tony! Any chance Love/Hate will work with a simple VR game?
     
  42. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Hi @Teila! Yes, that's no problem.
     
    Teila likes this.
  43. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I am very happy!! Thank you.
     
  44. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Sure thing! If you have any questions about setting it up in VR, just let me know.
     
    Teila likes this.
  45. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Thanks again, Tony. I will do that. :)
     
  46. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Updated Integration for ORK Framework

    The Love/Hate Extra Downloads page has an updated integration package for ORK Framework 2.21.0.
     
  47. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Love/Hate 1.9.5 Released!

    Version 1.9.5 is now available on the Asset Store!

    Version 1.9.5 Release Notes
    • Updated assembly definition files to include Wrappers; renamed Common to PixelCrushers.
    • Fixed: MessageSystem bug when removing listeners while sending a message.
    • Fixed: UIPanel timing bug when animations cause outgoing panel to overlap incoming panel.
    • Improved: Editors now handle issues with outdated third party assemblies more gracefully.
    • Save System: Calling LoadGame() w/Save System > Save Current Scene unticked now also updates internal saved game cache.
    • Save System: ScenePortal.UsePortal() is now virtual.
    • TextTable: Large text areas now word wrapped.
    • ORK Framework: Updated for ORK 2.21.0.
     
  48. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Love/Hate 1.9.6 Released!

    Version 1.9.6 is now available on the Asset Store!

    It adds a nice convenience feature suggested by a Love/Hate user. If a faction member's Eyes transform isn't assigned, it will check if it has a Mecanim avatar. If so, it will use the avatar to determine the eye location. When using the default "CanSee" method, Love/Hate uses the faction member's eye location to run raycasts to determine if the character can witness deeds.

    Version 1.9.6 Release Notes:
    • Changed: Shortened folder names.
    • Added: InputDeviceMethods utility component to access InputDeviceManager in inspector.
    • Improved: If faction member's Eyes transform is unassigned, checks Mecanim avatar.
    • Fixed: MessageSystem no longer throws error if sending message from object that's being destroyed.
    • Fixed: RuntimeTypeUtility API change to address iOS issue.
     
    hopeful likes this.
  49. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,702
    Love/Hate 1.9.7 Released!

    Version 1.9.7 is now available on the Asset Store with updated support for Emerald AI 2.2.

    Version 1.9.7 Release Notes:
    • Text Table: Performance improvement when editing large tables.
    • UI: Panels remember last selection instead of reverting to first selectable. Added UIPanel.monitorSelection bool to temporarily disable this functionality.
    • Save System:
      • Position Saver now updates NavMeshAgent if present.
      • Assign Unique Keys menu item now also disambiguates existing duplicates.
      • Fixed error message “Some objects were not cleaned up” when stopping playmode when Save System doesn’t have data serializer or data storer.
    • Opsive Character Controllers: Updated support for version 2.2.1; fixed bugs in saving inventory & attributes.
    • Emerald AI: Updated support for version 2.2.
     
  50. wood333

    wood333

    Joined:
    May 9, 2015
    Posts:
    851
    Eliot ai indicates it has Love Hate integration. I find no mention of Eliot in the Love Hate user guide.