Search Unity

  1. Unity 2019.1 is now released.
    Dismiss Notice

Talentus - Talent/Skill Trees

Discussion in 'Assets and Asset Store' started by cygnusprojects, Jan 24, 2018.

  1. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Talentus_social.png

    Talentus is a talent/skill tree asset for Unity allowing you to create and maintain skill/talent trees the easiest way. An intuitive editor is making sure the creation of the tree is a breeze, the wizard let you design a playable UI directly based upon the design and the engine makes sure everything is tight together at runtime.


    FEATURES
    Design
    - Extended custom editor to design a talent/skill tree
    - Support for multiple categories within one tree
    - Can be used for any design
    - Multiple levels possible for one skill (and cost)
    - Support for multiple branches within one tree

    Runtime
    - Wizard to translate the design in a working UI
    - Engine capable to support all possible skill trees and conditions
    - Extendable engine allowing you easy integration within your own project.


    Editor preview:
    EditorScreen.png

    Runtime preview:
    Runtime.png


    Not included

    Skill icons, I only provide an alphabet for testing. A lot of good skill icons can be bought on the asset store. Within the promo and video I used some icons by Super Game Asset.

    Note: some scripting/programming knowledge is needed to integrate it into your own project, however I provided examples and scripts to guide you. An extended manual is also provided within the package.
     
    Last edited: Feb 9, 2018
  2. Neviah

    Neviah

    Joined:
    Dec 1, 2016
    Posts:
    192
    I like it so far. Was definitely looking to use something like this in my project. You don't happen to have a leveling system in there too by any chance, do ya? XD Like some fake int level, int maxLevel, int currentExp, int maxExpForCurrentLevel and increase the exp until you get a level, which in turn gives you a skill point to use.
     
  3. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Thank you for the interest, a leveling system (xp rewarding) should be that hard to code. Maybe something I consider for a future asset or add-on (will surely not be part of Talentus though, keeping the focus on talents/skills).
     
    Neviah likes this.
  4. blitzvb

    blitzvb

    Joined:
    Mar 20, 2015
    Posts:
    284
    Hey,

    Can this be used for a tech tree (ala civ) with time to completion instead of skill points?

    Thanks in advance
     
    Last edited: Feb 13, 2018
  5. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Hi @blitzvb,
    The system is just called skill points but it is actually just a number, it can be called whatever you want in the UI. The cost factor of the talents/skills are measured using the same kind of numbers. So I guess it can be done but to be sure do you have a link to a youtube video demonstrating those kinds of tech trees? So I can make sure we are talking about the same thing.
     
  6. blitzvb

    blitzvb

    Joined:
    Mar 20, 2015
    Posts:
    284
    sure, here a screenshot:

    Techtree_optics_beeline_(Civ5).png

    So each tech have :

    - An icon
    - A Name
    - A number of turn to complete
    - A text Description
    - Things that it unlock (could be an invisible string with ID numbers)
    - researched or not yet researched.
    - A connection to the next tech (Note that some have three possibilities)

    Only one tech can be active at at the time.

    Fo you think all those info can be configured?

    thanks in advance.
     
    Last edited: Feb 14, 2018
  7. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Hi,

    It will not work out of the box, as I now getting what you mean with a tech tree. You select a tech and it takes a number of turns to be researched right? Talentus does currently only support a researched or non-researched state (skill available or not), there is no concept of 'in researching state'. Can you have a tech active in multiple domains? You have agriculture in the image but I'm guessing there are others with yet another tree attached?
    Nevertheless this looks like something I will be delving into and see if it would be feasible to incorporate in a future update.
    No promises though, looking into it if it wouldn't break the fundamentals of Talentus.

    Edit: did some research and came to a showstopper: when a tech is completely researched and has multiple next techs as children, what should happen then? Are turns lost while the gamer is deciding on the next tech? Is this somewhat automated and all children are researched? This is surely adding a lot of complexity and will not be easily done.
     
    Last edited: Feb 14, 2018
  8. blitzvb

    blitzvb

    Joined:
    Mar 20, 2015
    Posts:
    284
    yes

    no. only one at a time. it's just because it's the first node in this civ tech tree.

    the user have to select a non researched tech or it cannot continue.
     
  9. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Ok, thanks. Will get further into it and see if it can be implemented in a future release.
     
    blitzvb likes this.
  10. DragonFist22

    DragonFist22

    Joined:
    Mar 28, 2018
    Posts:
    5
    I'm very interested in this. Been looking for something that would simplify the creation of such skill trees. I'm not opposed to the pricing, but was wondering if there was a "lite" version or a "non-commercial use" demo version to allow evaluation before purchase. I'd hate to spend $75 to find that I can't use it for my project for some reason.

    My main area of questions are around this part "- Extendable engine allowing you easy integration within your own project."

    For example, how exactly are skill nodes in the tree hooked to one's skill implementation? Are these just UI trees for the skills or does this create the scriptable objects that can be customized with one's game stats, method calls, etc.?
     
  11. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Hi @DragonFist22,

    Thank you for your interest in Talentus Pro, I know the price is rather steep and because of the full source code policy I can't provide any demo version without fully exposing the product. After debating a lite (closed source) version didn't make sense as it would limit the extensibility of the framework to much.
    But to come to your question: The editor and engine does provide the minimal amount of data structures needed to have a functional skill tree. The wizard does generate a template with UI elements and example scripts attached to each of them (currently working on extending this to connections as well). The heart of the system is the evaluator which does lift the hard work in validating each talent if they can be bought or not. As their is full source code and Talentus is a framework it's completely open to extend towards your own needs, see it as a starting point or use the generated UI depending on your needs.
    If you like and it would help making your decision, I can make the documentation public on my website.

    if you have specific questions please let me know.
     
  12. DragonFist22

    DragonFist22

    Joined:
    Mar 28, 2018
    Posts:
    5
    Thanks for the fast response.

    Definitely, the documentation would probably help in determining what fits my needs. At this point in my project, the UI aspects are of less importance (though that will eventually be needed). What I've be looking for is something that eases the creation of the skills/talents themselves within a tree. I can easily see from the video that it handles the tree building side of that fairly well.

    The part that isn't clear to me is whether it would help with the attached data and method calls. Like if I create an abstract class from which talents derive with things like float mana/stamina cost, cool down time, damage modifier, animation clip etc. and methods such as Use(), and have a talent class created off of this and be editable in the editor, etc.

    Another asset ( https://assetstore.unity.com/packages/tools/visual-scripting/the-skill-112242 ) has similar functionality, but unfortunately doesn't work (has various null references and invalid input from popup errors). This looks a lot more polished and I have no issue with the pricing. I'm just making sure it is what I think it is.

    Thanks again.
     
  13. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Hi @DragonFist22,

    Ah, now I completely understand your use case. Not at my office right now but I'll see if it's possible to do what your are trying to achieve and get back to you (could be this evening or during the course of this week though).
     
  14. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
  15. DragonFist22

    DragonFist22

    Joined:
    Mar 28, 2018
    Posts:
    5
    Thanks on both counts. I'll look over the documentation and look forward to seeing what you come up with.
     
  16. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Hi @DragonFist22,
    Sorry you did have to wait before I could give you a reply, but as promised here we go.
    Talentus has 2 possible solutions for coping with your use case:
    1. Alter the code of the TalentTreeNodeBase to add you custom fields, adapt the editor code for that object type. This however will pose issues if you will update the Talentus Pro asset as your code would be overwritten.
    2. A more eligant and easier way is to create a monobehaviour script with you fields and attach it to the Talent UI Prefab. Using the TreeEvaluated event (available as of 1.1.0, currently in testing) you can check if you should alter the state of a talent.
    Looking at your use case (the properties and methods you described) I would personnaly go for seperate skill objects global to your game, and keep a list of those enabled by hooking in a script of the actual tree. In such a case you keep the skill tree evaluation seperate from the actual skill gameobjects (specific date, particle systems etc).

    Hope this answer is to your satisfaction and allows you to make a decision on which asset to buy from the store.
     
  17. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Version 1.1.0 is now available:

    - Added support for optional connections
    - Rewritten the Talentus Tree Evaluator to support AND and OR connections
    - Connections in the UI do have a reference to the connection, from and to talent objects
    - Connections in the UI can now be colored according to their type (Required, Optional)
    - Connections in the UI can be gameobject prefabs (through the UI wizard).
    - Extra talent and connection script can be added using the UI wizard.
    - Connections do get a proper naming when generated with the UI wizard.
    - Added an event when the tree has been evaluated.

    Read more about it on the manual.
     
  18. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Version 1.2.0 is now available:

    - Fix bug where the color of a circular connection wasn’t set properly.
    - Added the ability to have a respec on talent/skill base.
     
  19. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Hi all,

    will be enjoying some time off as of today till August 10th, so support can be very slow or non existant during that period. Will be getting back to you as of August 11th.
     
  20. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,016
    @cygnusprojects ,

    Looking at buying this Asset...

    Any chance of some support in later release (or is support already in place!) for:-

    1) different description per 'level' of Skill?;

    2) text of what is required for next 'level' of Skill?
     
    Last edited: Aug 7, 2018
  21. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    @Duffer123, thanks for your interest in Talentus Pro. If it are only text fields you are requiring to be implement for such case that can easily be done (target is the end of August/ begin September for the next update roll out).
    You also asked through mail to have different screens for one tree. This will not work as their is a clear dependency between the skills/talents. However if you have for instance 3 independent skill trees you can create 3 trees and generate the UI for all those. It's up to you to adapt the UI to get those in tabs though (shouldn't be that hard). Note that Talentus Pro is requiring some programming skills if you want to use it at the fullest possibilities. I'm providing a framework (with full source) as stated in the description of the asset.
    In case of any further questions please shoot, I'll try to answer them asap (when wifi/network allows during my out of office).
     
  22. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,016
    @cygnusprojects ,

    Excellent - so you can implement different text for each level of a talent (but up to us to define what that text is at runtime or in editor)? Is that with next update?
     
  23. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Hi @Duffer123, I'll foresee your request in the framework myself and release it by end August/begin September (so indeed the next update). So there will be a possibility to fill in those fields in the editor. It will be up to you to get those values in you UI using the API, I'll make sure a sample will be provided on how to do that.
     
    Duffer123 likes this.
  24. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,016
    Ok. Can code but may need to change text fields by level by talent in runtime?
     
  25. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    That's also possible, like with all fields within Talentus.
     
    Duffer123 likes this.
  26. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,016
    Excellent thx again
     
  27. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,016
    @cygnusprojects ,

    A couple more questions:

    1) can you create separate talent trees for say 4 different characters - each character has their own talent trees?;

    2) could you put various parts of any talent tree on different tabbed panels on a canvas?; and

    3) can you save out and load in current talent trees for a party of characters with some coding?
     
  28. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    1) Yes, you can - you'll need to code which tree to show for which character though.
    2) No, due to the fact that connections between talents do set their availability. If the parts of the tree don't need any connection/condition you can create separate trees though and put those in tabbed panels (something you will have to manage).
    3) Yes, loading and saving trees is demonstrated in an included example.
     
    Duffer123 likes this.
  29. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Version 1.3.0 is now available.

    This version contains:
    - Fixed focus bug when switching to another skill while editing a field in the inspector.
    - Added an explanation field to the talents. Can be used to store anything as text.
    - Added a description field to all the cost levels.
    - Added an overload on the CanbeUnbought method so all bought skills can be passed along iso fetched on every call, see the Tree Respec Example scene to find out the usage. This will lead to performance gains when you respec skills in big trees.
    - Fixed a bug on the CanBeUnbought event capturing leading to performance gain.
     
  30. TempestMK4

    TempestMK4

    Joined:
    Feb 13, 2018
    Posts:
    2
    Hey, just bought the asset and I'm having a couple of issues. The biggest issue is that buying talents while running the game in the Unity IDE permanently marks the talent level in the database as "bought." This means that every time I run the game now, the node is always marked as bought until I open the database file and uncheck the box on every single cost layer. It works fine if I compile the project and run it separately, but hitting the run button at the top of the IDE immediately loads my talents from a save file and marks them all as bought again.

    The other issue is that the editor seems to be trying to save to the database on every single edit. This includes saving every single time I press a key while adding descriptions and examples. You should consider adding a save button instead of saving on every single edit, since my computer lags really badly while I try to build trees.

    Are you still supporting this asset? It looks like the last update was quite a while ago. Either way it seems to work well for the most part.
     
  31. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Hi @TempestMK4,

    Thanks for buying Talentus Pro. It's still in development and a small update will be released during the course of January (some reworked examples).
    To get to your issue(s): Unity is indeed keeping the state of the talents between sessions (resets on actual exit of Unity). This is expected behavior as they are scriptable objects in the end. You can however press 'R' in the example (please check the code) to reset all object to their initial state. However as you are indicating 'bought' iso 'isbuying' I guess you do call the Apply() somewhere on every UI interaction, or maybe you just mean clicked for buying. Reading your last line 'since my computer lags really badly while I try to build trees.' I don't see the link though (guess you mean designing?). Are you talking about the editor saving? This is indeed the case, the editor isn't able to 'save' on demand because of the scriptable objects (so it happens on the fly). The lag can occur because of the grid down (you can disable the grid in the settings, see the manual). Let me know if fiddling with the setting is fixing the lag.

    Kind regards,

    Wim
     
  32. TempestMK4

    TempestMK4

    Joined:
    Feb 13, 2018
    Posts:
    2
    Hey,

    My issue is that if I run the game in the Unity IDE, and I buy a talent, that talent has now been permanently marked as bought within the Unity project itself. This means that I have to go through and un-buy my talents after I am done testing before I release since those purchased talents get compiled into my release build. I added a simple method that marks all of the talents in my tree as unbought if no save file exists, which gets me around the issue for now.

    My issue with the editor is that it lags really badly since it is trying to save on every single edit, whether this is a frame of movement on the talent objects or every single keystroke in the text fields of the talent assets. Everything just kind of grinds to a halt while I type or try to move stuff. I only use the editor to create the talents and connections now, and I edit the assets manually to fill in the text and icons and reposition the talents in the tree. I feel like there has to be some way to fix this, but I've never tried to create a custom Unity editor.

    I also have issues with how talents are saved and loaded on the back end. Every talent seems to be keyed off of its name when loading a talent tree from strings using the LoadFromString method, so multiple talents with the same name collide. There needs to be a separate ID field that does not affect the displayed name field, so that multiple talents can have the same name. This also allows the user the change the talent names and not have to also change all of the code that looks up the status of those talents.

    I've managed to work around all of the issues for now, but it's taken some time. Building out talent trees takes a long time. I would like to see a way to copy and paste several talents at a time, either to the same tree or to a different tree. The engine portion of the asset seems to work well, and the UI generator that adds the talent trees to the game scenes is easy to use.
     
  33. Carmexx

    Carmexx

    Joined:
    Jul 29, 2014
    Posts:
    62
    Hi, does the asset support saving via easysave format i.e. encrypted ?
     
  34. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    You can use any kind of saving/loading with Talentus. I provided a pure text based example but as long you can save string variables you're good to go. Note though this is something you will have to write, Talentus is a framework so some developer experience is required (as stated in the asset store page).
     
  35. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Nice to hear you are somewhat out of the woods, although not satisfied with the editor performance. I would like to get deeper into this as you are the first person reporting this (the others get away with it by setting the editor grid off). I used all common/best practices to design the custom editor though so I would expect nothing serious is causing the performance drop. How many talents/skills are in your tree? I had a customer with more than 100 and improved the asset to make sure it was running fine. Make sure you are at least using version 1.3.0 as serious performance gains were implemented going forward.
    If you are willing you can send me your tree (and invoice id) to the support mail address (in the documentation) and I can have a look.
    Anyway I myself am not that happy with the UI and I've put a complete redesign on the roadmap (especially now that Unity will overhaul their UI anyway in 2019 versions).
    I'll check the loading with talents having the same name, not though saving/loading is only an example as such and should be replaced by your own logic or external asset.
     
  36. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    630
    Pleased to announce the latest version of Talentus is available on the asset store:

    Version 1.3.1 (January 2019)
    - Fixed the cached tree example to make sure when loading a saved tree is properly populating the cache.
    - Added a EvaluateAllRespecConditions() example to show how you can trigger an UI update for all the bought talents.