VERSION 1.9
 
GAC has a very simple and easy to learn workflow. Once you get the hang of it; which you should in minutes, your workflow will be smooth and production will skyrocket. To jump in immediately and start using GAC, follow these steps: 
 
  • Drag the GAC.cs script from the GAC folder onto the Game Object OR add the script from the component menu.
 
  • The Animations Setup menu will be the first menu that comes up initially, this is where to start. 
 
  • GAC will set itself for Legacy or Mecanim Animation Controller type based on what type of Animation Component is on the Game Object (Animation or Animator). There is the option to switch between each type depending on what to use later and GAC will add/remove those components automatically when needed.
Switching between Animation Controller types resets all of GAC's settings. GAC will throw a warning when this is about to happen.
  • GAC allows the choice between 3 different Movement Components. These are CharacterController3D with Rigidbody and 2D with Rigidbody. The Rigidbody components of course allows for the use of Physics with GAC. Also if 2D with Rigidbody is selected, this tailors GAC to work with 2D restrictions; so use this mode if creating 2D games. The other 2 modes represent 3D games.
  • Select the amount of Activators the GAC System will be able to use from the popup menu. Activators are basically inputs (or input combinations) to use for games like on a controller/keyboard etc. For E.G. Activator 1 - A button. The more activators added, the more buttons can be used to create more complex combo setups. Max amount of activators available to use is 100 (will increase limit if necessary and only should be done when not affecting game performance). The Source Code can also be edited for whatever needs are necessary!
GAC will give a warning when reducing the amount of Activators already added just as a precaution to prevent deleting combos and Activator inputs that were setup, which GAC will do if necessary activators are removed.
  • Based on the Movement Component Type selected above, GAC will provide feedback when it needs that component to be added or removed. When the button is green, then it is a required component that can be added by clicking the button. You can also remove the component be clicking it's button when red.
  • For optional use is the Range Mode Tracking. By default, GAC adds targets to the Target Tracker for hit detection as soon as they are enabled in the scene. With this mode, set GAC to only add targets when they get within a radius and remove them when the are not. This will also help with performance when needed.
The position of the Tracker Radius changes from Z axis to Y axis when in 2D with Rigidbody Move-ment Component  mode.
Specific to  2D with Rigidbody  Movement Component mode, is the Facing Direction Setup. This helps GAC automatically know when a 2D character is facing left or right using the current scale value of the game object (GameObject Transforms in the top-most section of the inspector). The Right Facing Scale looks for what scale is being used to represent the character facing right (only either 1 or -1), so set this. The Flip Anchor Amount sets the anchor position of where the game object's transform will rotate from (Middle, Left, Right including extremes of each); this requires a bit testing and eyeing to see what fits.  
  • GAC needs what are called Animation Slots to use to create combos and these slots house specific animations with their own attributes. To begin adding Animation Slots for use, click the  NEW ANIMATION SLOT button. Subsequently, by adding at least 1 animation, each slot will have a + button to add more slots below them. 
If the NEW ANIMATION SLOT button is not available, it is because there are no animations available to use either from the Animation or the Animator Component. Check to make sure animations are ready for use in GAC from those components. 
  • Use the Play Mode popup menu to choose between Normal or Cross-fading of animations for smooth blending. If Cross-fading is chosen, adjust the Blend in time.
  • An animation needs to be set to this slot for use. So select an Animation from the popup menu then click the APPLY button to set the selected animation. This means that animation owns the slot (vice-verse) and the animation cannot be applied to another slot. Clicking the EDIT button allows the removal of that animation from the slot.
GAC allows the use of only one animation to create combos. This allows the repeating of the animation in a combo when necessary. Of course it is more creative to use multiple different animations in a combo and also looks more STYLISH!
GAC prevents the removal (clicking EDIT button) of animations from slots if animation is being used in a combo. To solve this just remove the animation from the combo first. GAC will provide a warning when this happens.
  • A Combo needs to have what is called a Starter Animation that initializes the combo; the first animation in the combo. Choose at least one of the Animation Slots to use to start a combo (Any and all Animation Slots can be used as starters if necessary) by click the USE AS STARTER button. This selection can be made later on after finishing the other steps below. The next option is the USE AS CHARGING IDLE button, which is used the declare that the specific Animation Slot is a Charging Idle animation that is going to be used in Charge Activators. More info on Charged Activators can be found in the Activators Setup page.
  • Linking an animation in a combo requires the player to successfully send an input event within an animation’s frames. The Link Slider allows the setting of the frame range for the player to be able to connect their animations in a combo. Set this up for the Animation Slots that are going to be used to link to other Animation Slots.
  • Each Animation Slot also has a Delayed Animation option that allows for even more complex combos specifically ones that are triggered when an input event is delayed. E.G. A, A...(wait)...A. To use this, click the DELAY ON (See above) button and set the Delay Frames range with the slider (just like the Link Slider). There is also a timer that counts down from 0.5 to determine the window allowed for more input from the player. 
For debugging purposes, the Delay Countdown turns green whenever it is within the set limits of the slider.
  • For optional use is the Move Slider. Turn this on by clicking the MOVE ON/OFF button if you plan on moving the character during certain animation frames. 
  • The Move Amount (X, Y, Z only shows in CharacterController or 3D with Rigidbody Movement Component; with 2D with Rigidbodyonly X and Y axis are shown of course) option works when the Move Slider is turned on. Set this for the distance to move the character during animation. 
  • Now we are almost finished setting up our Animation Slots for use, next is to begin setting up GAC's Hit Detection. If not planning to use, click the Combos Setup button on left to skip to the Combos Setup steps.
The following steps involve use of GACs Target Tracker Hit Detection System, so if you have your own hit detection system you can skip these steps: 
 
  • For optional use is the Hit Detection. Turn this on by clicking the HIT ON/OFF button. Use the slider to set the frame range on when to check for hits. When hit is on, the following steps are unlocked to use.
  • In the Affect Layers section, choose what layers the Animation Slot should affect with a hit.
  • Set the max distance the Animation Slot should affect using the Affect Distance section. 
  • Set the max angle the Animation Slot should affect using the Affect Angle section. There is also an optional Height mode; click HEIGHT ON/OFF button  to use height in helping to detect a GameObject to hit; perfect for attacks that only affect flying or ground enemies.
The Angle Position option shows up when using 2D with Rigidbody Movement Component. Set to adjust the position of the Hit Detection angle.
  • The Damage Animation Number section allows the choice of a specific damage animation setup on a Target Tracker. Use this to have different reactions to each specific animation. This is defaulted to 1. You can also set it to randomize between all the different damage setups.
  • Use the FOCUS GIZMO button to visually see the cone range that the Animation Slot will affect in the Scene View. This is Cone Range is of course based on the attributes set in the Affect Distance and Affect Angle setups. Customize the Gizmo Color for easier representation of all the Animation Slots
The following steps discuss setting up the animations in a combo using the Combos Setup Menu
  • Make sure Activators have be added at this point in the Animations Setup Menu. If not, do so now. Select the amount from the Activators popup.
  • Select the Combos Setup menu. The Starter Animations popup will have all the Animations Slots set to Use As Starter available. This should have been done in previous steps above; otherwise GAC will provide warning when no animation is available to use to start a combo. If there was an Animation Slot set to use, add one to the combo system by clicking the ADD STARTER button.
  • Now that a Starter Animation is added, begin adding combos to this starter by clicking the ADD COMBOS button, subsequently remove this Starter Slot by clicking the DELETE STARTER button when needed.
Any animation under this Starter Animation group will ALWAYS start off with that Starter Animation for a combo.
  • Now that a Starter Animation is added, one option is using a Normal Combo Link by clicking the ADD ANIMATION button that adds a normal animation spot or a Delayed Combo Link by clicking the ADD DELAY button that adds a Delay Animation spot to begin customizing your combo.  Also customize combos by giving it a specific name which can help finding the combo easier when necessary and have a lot of combos. Click the ADD NAME button and when finished click SET NAME button.
  • In the Animation Spot, select the Activator and Animation to use.  Click the EDIT button to change that slot if needed. Delayed Animation Spots are marked by the D on the left and colored Blue. A green C! button will ONLY appear when Context Variables are setup in the  Context Menu to be used. Set these variables to allow the Animation Spot to play only if the Context Variable conditions are met. Maximum of 5 variables can be used per Animation Spot. Come back to this step after the  Context Menu  steps below are completed.
Another Animation Spot cannot be added without first clicking the SET button to place that animation on the sequence.
The APPLY button will not work for the Animation Spot without clicking SET button for the added Context Variable Spot first.
Click the EDIT button on any Animation Spot in combo to make changes. GAC will keep a record of the animations that are in higher sequences and place them back into their respective sequences when that Animation Spot has been SET again.
  • After setting the first Animation Spot, continue to add Animations Spots to create your combo. You can add different combos under that Starter Animation Slot group.
A different animation for a separate combo cannot be on the same sequence (unless the sequence is a Delayed Animation, but the rule still stands with 2 Delayed Animations having different animations on same sequence). This conflicts with what GAC will allow to play for that sequence. GAC will notify with warning if this happens. To rectify this, change the Activator number used; GAC also prevents Play mode from starting if not fixed. 
The following steps go into accessing  the GAC-PAC window to see the flow of all the combos setup:
  • Now lets go check out our combo setups in a visually readable format by using the GAC-PAC Window located in Window>Great Animation Combos (GAC) > Preview Animation Combos (PAC). This is great for also testing out the combos to see how they play into each combo link. See the         GAC-PAC Window         page for more info.
GAC-PAC Window
GAC-PAC has an ACTIVATORS button that shows or hides the Activator numbers used to start the animation in that specific combo. Also each animation box has an Activator label (marked with Red number) on bottom left and a Delayed Animation label (marked with a Blue D) on the bottom right. This provides more helpful information for the combos.
The following steps go into setting up the Activator Slots to trigger an input event using the Activator Setup menu:
  • Click on the Activators Setup Menu. There will be a The Activators popup menu that provides basic Inputs that come with Unity including Keyboard, Mouse, and Button events. Select whichever input you want to use and click the NEW ACTIVATOR button to create an Activator Slot for this event. See the         Activators Setup         page for more info.
Activators Setup
GAC also natively supports the use of other Asset Packages that leverage their own input events systems. Current packages supported are InControl and Control Freak which are sold separately on the Unity Asset Store. More support for other input event packages are on the Roadmap that include NGUI, EZGUI, CF-Input and Rewired. If you have an events package you want to see supported let me know, I will do my best to accommodate your request.
GAC API Reference
  • Custom coded input events can also be used with GAC. See the PlayTheAnimation() API example  on the       GAC API Reference      page that shows the use of the Unity Keyboard Input Event in code.
Activators Setup
  • Based on the type of Activator Slot created, there are going to be different options of setup. See the           Activators Setup         page for more detailed information. After attributes are finalized in the Activator Slot, click the SET/APPLY button to start using this Activator in the combo system.
  • When Context Variables are available to use, the Activator Slots will have an arrow on the Activator type section's name (see below with K for Keyboard and red color code). Click this button to open up the options to choose if to ADD CONTEXT or HIDE CONTEXT. Adding a Context Spot makes it available to be setup for that specific Activator. Come back to this section after getting through the Context Menu steps below. Maximum of 5 Context Variables allowed for each Activator Slot.
  • Another modification of an Activator that can be created are Charged Activators. These allow you to hold an input down to 'Charge' it up then release it at the set time to trigger that Activator Slot. To set these up, change the Input State of the Activator to HOLD state. Now click the arrow on the Activator Slots Activator type section's name (see below with K for Keyboard and red color code) and the option to ADD CHARGE will be available.
The Activator Slot's Input State MUST be set to HOLD, otherwise the option to ADD CHARGE will NOT show up.
The following steps go into setting up the Context Variables to create conditions using the Context Setup menu:
  • So the basics have been done in creating the combos using GAC. Next up is to add more advanced options for combos. Click on the  Context Setup menu.
  • The Context Variables section will be available to allow the selection of multiple different Context Variable types to add and use to put conditions on Combos and Activators. Select from String, Int, Float, Bool and Mecanim Parameter options, depending on the specific use case. This section has to be planned through on deciding the type and name of variables to use. Select the type and click the NEW CONTEXT button to add. Adjust the Context Slot options and SET it for use. Head back to the previous steps for Combos and Activators to add the Context Variables that were setup here. 
GAC API Reference
  • Now to update the Context Variable values, a little bit of coding must commence. Using the UpdateContext() API on the       GAC API Reference   page will update each value of the Context Variables in whatever situation that needs it. For e.g. The health points of the character is registered in the Context Variables section, so when the character's health gets to 30%, allow more capable Combos and Activators by adding Context Spots to them that trigger.
Combos Setup
Activators Setup
  • For more information on Combo Contexts or Activator Contexts see the corresponding             Combos Setup            and           Activators Setup    pages. For more detailed information on setting up Context Variables, see the             Contexts Setup          page.
Contexts Setup
Now you are done with the initial setup, so go create GREAT COMBOS!