Search Unity

  1. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Let us know a bit about your interests, and if you'd like to become more directly involved. Take our survey!
    Dismiss Notice
  4. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  5. Want to see the most recent patch releases? Take a peek at the patch release page.
    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:
    546
    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:
    187
    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:
    546
    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:
    546
    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:
    546
    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:
    546
    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:
    4
    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:
    546
    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:
    4
    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:
    546
    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:
    546
  15. DragonFist22

    DragonFist22

    Joined:
    Mar 28, 2018
    Posts:
    4
    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:
    546
    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:
    546
    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:
    546
    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:
    546
    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:
    929
    @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:
    546
    @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:
    929
    @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:
    546
    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:
    929
    Ok. Can code but may need to change text fields by level by talent in runtime?
     
  25. cygnusprojects

    cygnusprojects

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

    Duffer123

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

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    929
    @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:
    546
    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:
    546
    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.