[RELEASED] Ability & Combat Toolkit

ABC is a toolkit which allows you to easily add weapons and create abilities from melee attacks to magic spells with no coding required. ABC also comes with a wide variety of combat related functionality.
Asset Store[ ](http:// Ability & Combat Toolkit | Game Toolkits | Unity Asset Store)
“ABC gives you the power to make any ability you dream of a reality.”

https://www.youtube.com/watch?v=g4dWbfPvoBs
With simplicity in mind ABC has been designed to implement easily into your existing or new games using only 2 components. One which is used to setup and controls features like activating abilities. The other to interact with ABC - for example to take damage from an attack.

With over 50 ability effects and a multitude of options and functionality you can get creative and further increase the potential of your games. Add an unlimited number of effects from inflicting damage and buffing stats to moving objects.

Unless a flurry of attacks in a combo, have an ability bounce around targets, detonate a bomb with a click of a button, setup for FPS and have the player switch through guns to fire, create pick-ups which provide buffs, setup an ability to fly to the sky and then come crashing down on your target, setup a barrier which throws any enemies away that touches it, activate an unlimited number of projectiles at once. The possibilities are endless!

ABC doesn’t stop with just creating Abilities for your games - it also has a whole host of combat related functionality including AI, Health & Mana Management, Target & Auto Target System, Stat Creation, Interactive toolbars and much more.

As an extra ABC also comes with free graphics, characters, animations, audio sounds and icons and premade weapons, abilities and effects. ABC also comes with a very easy to use character creator which can get characters combat ready in just a few clicks

Asset Store | Website | Demo | Documentation | Tutorial | Twitter

A selection of Combat Features provided by ABC Includes:

  • Ability Creation and Management
  • AI
  • Health/Mana System
  • Target and Auto Target System
  • Automatic Object Pooling
  • Stat Creation
  • Scroll-able Abilities
  • Full Animation Control
  • Death System
  • Over 50 Ability Effects
  • Optional Battle Circle System to stop all enemies attacking at once
  • Hit Reaction System
  • Fully Interactive Icon Toolbar/Book
  • Export & Import System
  • Graphics, Animations and Audio Assets
  • Ammo & Reload System
  • 2 Playable Demos
  • Additional components created for the demos i.e third person movement script
  • UI System showing target info, health/mana, ability activation progress and more
  • Ability Grouping allowing abilities to become enabled/disabled on certain events
  • Plus more!

Contact
For any queries, feedback or suggestions for future features then please feel free to post in this thread or get in contact by sending an email to: DiceLockStudio@gmail.com

Screenshots

Showcase
Examples of games using ABC. If you want to showcase your own games here please send an email to dicelockstudio@gmail.com. More showcases of games that have used ABC can be found here
https://www.youtube.com/watch?v=VMxnXweNPOU

4 Likes

Version Changes
#### v2.0 ####
**** Character Creator & Global Weapons/Abilities/Effects ****

  1. Added a character creator portal to quickly setup players, enemies and friendly npcs

  2. Added global weapons, abilities and effects. Adding global elements to entities will now show a (*), changing the global element will have the change applied to any entity the global element is added on.

  3. Added preset global weapons, abilities and effects

**** Demo ****

  1. A new demo has been created

**** New Functionality ****

  1. Added AI Rule Cooldown which will trigger a cooldown after use between a random min and max value. Whilst on cooldown the rule can’t be used.

  2. Added functionality to randomise GUI effect text and increase size depending on effect potency

  3. Added functionality to only apply travel duration if originator activating the ability has a set tag

  4. Added an interval value to ability On-Stay collision to better time how often an ability applies effects

  5. Ability End Graphics can now be set to use effect graphics

  6. Improvements made to Animation Runner clips so they now transition and blend more smoothly

  7. Added functionality to convert all tags set for abilities and other functionality , i.e ‘Target’ tags can be converted to ‘Enemy’ during play

  8. Added fold out to hit animations and allowed for more then 1 animation clip to be added to one hit reaction

  9. Added Push On Axis effect

  10. Added SetStatValue effect

  11. When AI is enabled, setting to disable triggers now disables idle switch, weapon switch, target confirm,
    reload, block, parry triggers etc

  12. AI Navigation, Tags can now be set which will make the entity switch to idle mode if that tag is being navigated too, for example a friendly putting his weapon away to follow the player

  13. Default indicators are now added on new ability creation

  14. Added functionality to apply game type modifications to ability

  15. Added functionality to scale ability, effect and end graphics via a value

  16. Added an option to delay hit animations

  17. Added functionality to declare at what % of the initiation animation the ability & collider will appear in game. i.e fire graphic will always appear 60% way through the animation clip

  18. Added functionality to speed up or slow down an attack or ability activation through a slider

  19. Added functionality to detach initiation graphic from parent for better weapon trail effects

  20. Miss chance now makes the entiy rotate to another direction to current target when doing melee attacks

  21. Added functionality to shake camera on initiation

**** Bug Fixes ****

  1. Bug Fix: Fixed a bug where applying a stat adjustment effect multiple times would not revert back to correct base state after effect wears off

  2. Bug Fix: Fixed a bug where minus interval adjustment on abiliteis was not correctly applied

  3. Bug Fix: Fixed a bug where effects would not work on some OS culture settings

  4. Bug Fix: Hit Animations will now correctly play when entity attack is interrupted

  5. Bug Fix: weapon override animations now correctly applies to AI Navigation

  6. Bug Fix: ABC Animation Runner can now be used with no animations in the Animator

  7. Bug Fix: Dragging items onto the editor will always save and no longer revert back to the previous value

  8. Bug Fix: Disable Movement Component used by ABC now correctly blocks AI Navigation for a small duration

#### v1.6 ####

**** Abilities new Functionality/Amendments ****

  1. Abilities can now be set their own graphic indicator when using ‘Ability Before Target’ for example in MOBA/Top Down games where an ability is selected before a target/world position/mouse direction.
  • World Indicators show the area of effect the ability will impact
  • Range indicator circles can be used to show the range the ability can be casted in
  • Mouse indicators can show the direction the ability will be fired in on mouse click
  • Default indicators can be added by pressing the default icon next to each setting.
  1. Initiation Speed Percentage has been added with effects to modify this. Speed up your attack rate/animations or slow it down with abilities

  2. Melee attacks, selected target (with always travel on) and forward target projectiles now allows you to select additional rotate behaviours when no target selected for examples, rotate to camera center, mouse direction, current direction. Allows for top down game styles where attacks follow the mouse.

  3. Starting Position ‘On Self Tag’ will now prioritise equipped weapons over unequipped weapons with the same tag

  4. Abilities can now be assigned tags to easily filter and group them in the inspect ability list

  5. Performance improvements have been made to abilities with ‘OnStay’ set as their ability collision type.

  6. Ability collision details have been added to the diagnostic log

**** Impact Juice new Functionality/Amendments ****

  1. StopHit on impact settings have been added
  • Allows for stop hit/lag to be added on attack collisions to add more juice to your games
  • Will for a duration set stop the movement of the attacker/enemy to effect for a bigger hit
  1. Added a delay setting to freeze time on impact setting

  2. Added a impact setting to shake the entity hit on impact, will make the object jitter for more hit juice

  3. Added an impact setting to change colour on impact for more hit juice, this can also be applied from an ability effect.

**** Animations new Functionality/Amendments ****

  1. Animation Clips used with ABC’s animation runner now blend between for a more smoother animation experience

  2. Avatar Mask setting for ABC’s animation runner has now been added to every animation, easily drag in an avatar mask to only have the animation run on for example the top half of the character

  3. Animation override setting has been added to weapons, this allows you to override the idle/walk/run/jump animations with a animation clip. Setup just one idle/run animations in the Animator and have these clips setup in the Animator overriden with a new clip depending on the weapon equipped. Allows less setup to be made in the Animator.

  4. Crosshair Override Animation added to weapons, useful for FPS/TPS. Allows for a different animation to play when the player is focusing/aiming. The global crosshair override animation can still be set if you don’t want an animation per weapon.

**** Weapons new Functionality/Amendments ****

  1. Setting added to disable all abilities attached to other weapons when equipping a weapon, allows for you to disable all abilities attached to other weapons leaving abilities like spells to always be enabled.

  2. Added a show/hide gameobject list to weapons, any gameobjects in this like will be enabled when the weapon is equipped and disabled when unequipped, useful to add any UI in here that relates to each weapon.

  3. Added a button to automatically create weapon pickup objects for weapons, simply click this button and a new gameobject/prefab will be put into your scene which can be used to pick up weapons by your characters.

**** AI new Functionality/Amendments ****

  1. Improved AI so it handles ability combo’s better

  2. Added more then one tag to AI Navigation, this can be set to follow the tags in order or randomly. By using the ordering you can set for friendly NPCs to follow your character until an enemy is near in which it will then navigate towards it to attack if tag order looks like following: enemy > player

  3. Improved AI targeting so potential targets are ordered by closest range and made it so AI rules check the current AI Navigation target first before the other potential targets, i.e who the AI has focus on

  4. if an AI is using Line of Sight (i.e enemies won’t know your there until they see you) they will now become alerted if hit before they see your character.

**** Misc new Functionality/Amendments ****

  1. Adding a new UI Icon will now automatically create an icon button in game already linked, simply move this icon in your scene or modify it as you wish.

  2. The current Tab/Settings selected now persists and will now reset when managers are opened

  3. Manager windows have been changed to tab type to allow for you to add more then one manager into the same window

  4. Pressing the button to convert a soft target to a target whilst already targetting an entity will now untarget them, i.e press space bar to target and press again to untarget.

**** Bug Fixes ****

Bug Fix: Raycast abilities could not be activated on self, this has now been fixed

Bug Fix: Red text would show on buttons when deleting an effect until the game is next played

Bug Fix: Example camera demo script no longer collides with abilities, camera will also now stop rotating when in ability before target mode to allow the player to easily select the target or world position to activate the ability on

Bug Fix: Fixed a bug where applying travel duration would cause an error

Bug Fix: Face Target required will no longer error on melee attacks

Bug Fix: AI Navigation Animation Runner will now not run more smoothly

Bug Fix: Hit that stop movement will now stop any AI Navigation Destination Behaviours (Walking round character etc)

Bug Fix: Weapon Drop/Pickup now handles better when the drop/pickup duration is set to 0

Bug Fix: UI Icons can now handle when the gameobject has an image component and not a raw image component

Bug Fix: Fixed a bug where you was unable to target select the player

#### v1.5 ####

  1. Added weapon Blocking & Parrying to ABC
  • Weapons can now block attacks, mitigating or reducing damage
  • Parrying can be triggered to prevent an incoming attack. If done at the right time a counter attack can be activated
  1. Added Emerald AI Integration

  2. Updated Editor Colours For Dark Theme

  1. Added a setting to configure for a specific hit animation to activate when an ability hits another entity
  • If a specific animation doesn’t exist then an additional setting can be flagged to play a random animation instead
  1. Added an option to only activate preparing animation if entity is moving towards target.
  • Allowing for entities to walk to target during preparation before attacking but if already close no walking animation will activate
  1. Combo triggers have been added to ABC, configure for an ability to only activate after a series of inputs have been entered by the player
  • Example A + A + B will trigger a special attack
  1. Added an effect setting which when ticked will only add and activate the effect if the effect was applied from an ability splash

  2. Added a new AI Rule to equip a weapon

  3. Added a new AI Rule to weapon block

  4. Added a new setting to modify game speed on initiation and on collision

  5. Updated target selection so it is more accurate in busy scenes

  6. Added layer masking setting to target select

  7. Added new GC actions

  • Enable/Disable Weapon
  • Enable/Disable Ability
  1. Refactor of ABC_IEntity to easily allow for methods and properties to be overriden
  • Can override with your own functions and integrations, further releases will then not overwrite
  1. Cleaned up warnings that appear on first download

  2. ABC Can now become a child prefab

  • Allows for Abilities/Weapons in ABC to be a child prefab, this prefab can be added to as many objects as you want.
  • Doing so you can create a central ability system which allows for changes to the prefab to be applied to many objects.
  1. Improved performance for better FPS across the system

  2. Improved Camera Shaking for a more smooth and satisfying shake

  3. Added AI Navigation to the core system

  • Entities can now wander and run to target.
  • Once target is reached they can be setup to rotate around or move back and fourth giving more life to the AI
  1. Health/Mana now shows when soft target is applied

  2. ABC Pool will now persist across scenes

  3. When an entity has no health they will now be untargettable

  4. When an entity has no health they will no longer be able to activate abilities or navigate using AI functionality

  5. Improved effect on hit position so it now accurately plays the effect in the correct position in relation to the entities bones

  6. Added a setting to stop movement and ability activation when switching weapons

  7. Added a setting which will attach the ability to the entity on hit until the abilities duration is up

  • Allows for sticky bomb abilities
  • Allows for arrows to stay attached to the entity when hit
  1. Bug Fix: Fixed a bug where game would not build correctly

  2. Bug Fix: Effect graphic default duration will now be 2 instead of 0

  3. Bug Fix: Fixed a bug where values would reset on ABC Game Creator Actions

  4. Bug Fix: Fixed a bug where re-enabling an entity would not correctly setup weapons

  5. Bug Fix: Enable/Disable integration buttons will now correctly show if the integration is enabled or disabled

  6. Bug Fix: Fixed a bug where group filtering would show abilities attached to the group when they were not assigned

  7. Bug Fix: Bullet time no longer reduces FPS

  8. Bug Fix: Fixed a bug where gravity and travel delay would not reset when the abillity is next activated

  9. Bug Fix: Fixed a bug where game would projectile would not correctly ignore entity collision

  10. Bug Fix: Changing object name in the editor will now correct update the name in the reference variable (stopping any saving/loading bugs)

#### v1.4 ####

  1. New Weapon Functionality
  • Configure for your characters to equip/unequip weapons
  • Link abilities/attacks to weapons to become enabled when the weapon is equipped, linking abilities with weapons (sword attacks can be used when sword equipped etc)
  • Linked groups with weapons so when a group/weapon is enabled/equipped the weapon/group can be equipped/enabled
  • Display in UI which weapon is equipped
  • Weapons can have ammo/reloading which abilities can consume. Once out of ammo abilities will not activate until reloaded or more ammo is picked up
  • Added enable/equip weapon effects applied by abilities
  • Added adjust weapon ammo effects applied by abilities
  • Functionality included to drop/pick up weapons (weapon pick ups can also be imported so if one character drops a weapon another character can pick it up without having it already setup in their ABC settings)
  • Ammo also updates on weapon pickup/drop
  • Weapon swap functionality allows for you to cycle through weapons using mouse scroll/keys
  • Added an Icon Type which when pressed will equip a weapon
  • Added a filter dropdown to the ability list section, allowing you to see and configure abilities which are linked to weapons/groups
  • Updated Demos to use new weapon functionality for reference
  • Updated Save/Load functionality to include new weapon functionality
  • Updated Animation functionality to allow animations to run on weapons if chosen too
  1. Added Toggle Gravity effects which can be applied by abilities

  2. Added a setting which will allow for abilities to ignore any prepare time adjustments added by effects (if ‘slow’ effect increase time to activate abilities, if this setting is set it won’t affect that ability)

  3. Added a setting to set a max amount of times an effect can duplicate on an entity (if set to do damage every x amount of seconds this setting can cap how many times it will be applied)

  4. Added functionality which allows for entities to miss the target when activating ability projectiles/raycasts. A miss chance can be set i.e miss the target 20% of the time. The miss chance can also be adjusted by ability effects (blind spell etc). Abilities can also be set to never miss ignoring the miss chance setting.

  5. Improved the ability preparing/progress bar so it now more accurately fills letting the player know how long is left to prepare/cast the ability.

  6. The ABC_IEntity class is now partial allowing you to override the methods to easier integrate with your projects which won’t get overwritten on new updates

  7. Added functionality to move the entity to target when preparing or initiating an ability/attack allowing you to make attacks where the character jumps to the target before striking

  8. Improved ID’s of all weapons/abilities/groups etc to allow for that instance to always have a unique ID, allows for easier setup and integration with effects if the weapon/ability is moved to another character.

  9. Bug Fix: Boomerang functionality now correctly returns the ability back to it’s starting position

  10. Bug Fix: AI now correctly detects which effects are on potential targets when running through conditions to activate abilities

  11. Bug Fix: Fixed a bug where on stay collision was not correctly picked up

  12. Bug Fix: Fixed a bug where the interrupt current animation tickbox on hit reactions could not be selected

  13. Bug Fix: Improved copy of abilities/weapons/groups to ensure no data is not copied over correctly

  14. Improved object moving physics from effects (push etc)

  15. Bug Fix: Fixed a bug where always travel did not apply to additional starting position abilities

  16. Bug Fix: Restrict movement from activating attacks will no longer overlap if another ability has started before the restrict movement ends

  17. Bug Fix: Stopped -adjust health from attacks from healing entity if the entities defence was higher then the damage done

  18. Improved adjust ability interval so it accurately increases or decreases the interval before another attack can be activated after the current one initiates

  19. Bug Fix: Fixed a bug where swapped icon would not be correctly placed when loading from a save

  20. Bug Fix: Fixed a bug where images would not load correct when game save is loaded

  21. Bug Fix: Graphic log duration will now default to 5 when starting new (was previously 0)

#### v1.3 ####

  1. Added functionality to randomise the potential targets which are retrieved when the AI system decides who to use abilities on

to use abilities on

  1. Bug Fix: Fixed an issue where the camera shake would not revert camera back to the correct position

  2. Added the new ABC Animation Runner system which allows you to select animation clips which will play without using Unity’s Animator. This means you do not have to set up anything in the Animator to play animations relating to ABC. This will further increase the potential of ABC integrating with other assets.

#### v1.2 ####

  1. Bug Fix: Scroll abilities with persistent positions now setup correctly if character started game in idle mode

  2. Added Zoom-In functionality to third person additional script

  3. Bug Fix: ABC can now correctly select targets when Game Creator event system is being used

  4. ABC now integrates with Game Creator Asset created by Catsoft Studios. The following integration functionality has been added:

  • Activate Abilities from a Game Creator Action
  • Adjust Game Creator Stats/Attributes
  • Link with Game Creator Health/Mana Attributes
  • Add and Remove Game Creator Status Effects
  • Trigger Game Creator Actions/Conditions from Ability Collisions
  1. Functionality has been added to allow for you to set additional starting positions for an ability - An extra Ability object will be created for each Additional Starting Position - The object is an additional duplicate of the normal Ability object and will operate in the same way - This functionality can be used for example to have 2 fireballs fire from both hands or for melee attacks to have each fist apply damage.

  2. A duration setting has been added for Stop Movement on both Preparing and Initiation - You can now choose to stop movement for a set duration when preparing and initiating. If 0 is defined for the duration then the movement will start again automatically as soon as the preparing/initiating animation has finished

#### v1.1 ####

  1. Added lock on to third person additional script

  2. Added functionality to save/load the game through the new ABC_SaveManager component

  3. Fixed a bug where the editor would not allow you to select all animator types from the dropdown

  4. Added Ability Activation/Activation Completion Event Calls which allows other scripts to subscribe to ABC and be notified when an ability activates or has completed activating.

IMPORTANT: Due to the new ABC Save/Load functionality all Unity DataTypes (GameObject, Texture, Image etc) has had to go through a rework so they could be referenced persistently. This allows for the new ABC save/load system to correctly load game data. Due to this any previously set values will be reset once v1.1 is downloaded.

It is recommend that you do not download this update on projects which have already started unless you do not mind resetting some of the values in ABC like the ability graphics.

I have been asked if I can create a Discord channel for all things ABC as another avenue for anyone to get in contact so they can provide feedback, suggest roadmap ideas, showcase what they have created, get support and generally have a nice chit-chat.

I have just created the channel which I will be improving bit by bit over the next coming weeks - for now come in get comfortable and lets talk all things ability and combat :smile:

1 Like

EDIT 25/11/2019: A Chance to win a voucher in the giveaway has now ended. Thank you all to those that applied.

Here is the newest showcase which displays a boss battle which was created using ABC:

Looking forward to hearing from you all!

Entering contest:

I want enemies to have a plethora of options when it comes to engagement, so I’d like to give your asset a go.

1 Like

That project looks awesome Neviah! How long have you been working on it for? :smile:

I’ve been toying with the idea of creating a (old school)-fallout-like, magic-wielding Rabbit-Royale RPG, whatever that may be. In any case, I think your asset would be perfect for that :slight_smile:

Since April of this year… I’ve been slacking XD

1 Like

I am working on Biotopia 3D, which is a open world sandbox RPG.

One of my main Problems is that that my enemies and animals are still stupid.

I am interested in a voucher!

My usecase would be:

A script or a prefab where I can set a type like Monster, Carnivore or hermivore. A player property.

Monsters attack the player always, carnivores if you are too close or directly in their view, hermivores just wander and run away if too close.

Monsters also attack hermivores sometimes, carnivores attack hermivores sometimes.

A public property for energy, endurance and mana. Possibility to just wander around, follow Player (or hermivore etc), run away from player or monster etc. Maybe patrol etc.

And this in a randomly created world with colliders. Maybe waypoints optional, I do not need them. Maybe some navigation id optional, for me it would only be interesing if it worked in a random environment, too. Avoiding obstacles etc.

May can set lists of animations for standing, attacking, walking running.

Fit to the ground for animals. etcetc. If I get a voucher and these kind of things are of any interest, I can write more about it and help with testing and Feedback.

Already retweeted: x.com

1 Like

This is one of the best systems I’ve seen regarding combat design. I think its versatile and support is very good!

1 Like

I’m looking forward in seeing if you can get ABC integrated with UCC. Also this is my post for the giveaway. :stuck_out_tongue:

1 Like

Magic-wielding Rabbit-Royal RPG is quite the combo! Would love to see the progress on that :smile:

Just been checking out your YouTube videos, looks like you have definitely been working hard on the project. With AI in ABC you can set it up so entities only attack other entities on certain conditions so this is something I feel you will definitely benefit with from reading your description. Good luck for the voucher giveaway :smile:

Thanks Andi :smile: good luck for the giveaway!

100% feeling the same, hopefully I can hear back from UCC soon. Good luck for the giveaway :smile:

1 Like

Doesn’t look like you have been slacking, its really impressive what I saw. The smallest of progress bit by bit is often the best way to finish a project so you don’t burn out! Good luck for the voucher giveaway. :smile:

1 Like

This is amazing, i’d love to see some more melee and archer type combat. I am in the process of putting together a 1 man MMORPG. This would be an amazing asset to add to my project

Thanks Simpuhl, I will try and put together some more melee and archer type examples in future. ABC is quite flexible so there shouldn’t be any reason why you can’t create almost any type of melee or archer type combat you want!

If you have any attacks in mind and not sure if they can be created in ABC then post here and I will let you know if it’s possible :smile:

Good luck for the voucher giveaway!

1 Like

Some type of tactical strike/space laser from above could be interesting. If you watch just 1:00-1:30, there is a representation that kind of works

The somewhat timeless anime missile barrage could also be interesting and be modded to be just about any type of particle or flying object.

Continued good luck with your development.