Visual tool for Ability system (Integrating Behavior Designer Lite into UCC)

chrisk

Active member
Hi, Justin,

This is related to HFSM below.

I'm certain the Ability System is what UCC makes really unique and it needs the best possible treatment.
We all know you are planning to have lots of new Abilities in the future and right now Ability System is also the most complicated and hard to figure out system. I can't imagine having 50 Abilities or more in the Inspectors list view to keep the correct order and understand what's going on.
To make it easier for you and the user, I proposed some visual tools.

The more I think about this, it makes more sense to use a visual tool. HFSM would be nice but initially, just BT tool will be good enough. The lack of HFSM can get by using "Blackboard" variable with some hardcoding but there aren't that many states right now. You just need two State variables, I think.
Locomotions States: (Idle, Jump, Move, Ride, and etc.)
and Item States: (Idle, Reload, Use and etc.)

As an example, a Ride Ability, the most complicated ability right now, using BD, you can layout sequences of Abilities very clearly. Right now, it's almost impossible to describe what's happening with just using Inspector's Ability list. (It first moves to a target position, calls EquipUnequip ability, mounts to the ride, and the calls EquipUnequip again, and reverse the sequence for an unmount) You have to dig through the code to figure out, but it's still not that easy because there are several other dependencies to other Abilities.

What's amazing is that you already have everything that you need, to start/stop ability by code. It's just that you will need to break them into smaller tasks. Instead of hardcoding Ability calls to another Ability in the code, you will layout the sequences in BT task however you want. It can clearly show what's going on and you can make new Ability very easily by assembling new sequences. This way, it will be so much more powerful than the current system.

So my suggestion is, create BD lite for UCC users and you don't have to have HFSM right now. It would be nice but it's will be an overkill for just two State variables for now. You can take plenty of time to make a good HFSM tool.
And if you want more functionalities, such as Create New Ability, you will have to purchase the full BD. (I think it would be crazy not to buy BD then^^)

I think doing what I suggest would be a weekend job since you are the author of both BD and UCC. You already have everything and you just have to make Abilities simpler. ^^

Cheers!

ps. Yeah, testing and tweaking would probably take another weekend. I know it's easier than said than done but it should save you lots future hours and for users too. ^^
 
Last edited:
If we were to take this on I want to make sure it's done correctly and not something that is added in the most convenient way. In this case behavior trees are not the correct solution so I would want to ensure I have enough time for it to be done correctly.
 
Sure. I'm sure it will require some careful thinking.

FYI, I ran into an Asset called "Game Creator" which is doing what I'm talking about.
Scroll down to about a half of the page and you will see them working on integrating Behavior Tree.
https://forum.unity.com/threads/game-creator.482850/page-11

Game Creator is taking a building block approach to let the user quickly new Abilities out of a smaller set of functions and I think it's much more modular in my opinions.

Hope it helps.
 
Top