Ninja Bear Studio Plugins Help

First Steps with Ninja Combat

This page guides you through the first steps for Ninja Combat. Make sure to check the Combat Setup instructions before continuing. This page assumes that Ninja G.A.S. is also installed, but all concepts related to the Gameplay Ability System can easily transfer to other G.A.S. setups.

The following steps aim to provide a player character class, fully configured as a combatant. This includes optional steps to ensure compatibility with the melee and ranged combat capabilities.

Combatant Class

Before creating the combatant class, choose which Ninja GAS character base class you want to use. This page from Ninja G.A.S. documentation provides details to help you choose your base hierarchy.

For this example, we'll use the ANinjaGASCharacter class. This means our Ability System Component will live in the character, and this combatant class is compatible with both Players and AI.

Create a Combatant Character

  1. Create a new Character using NinjaGASCharacter as the base class.

  2. Add the Combat Manager component, NinjaCombatManagerComponent.

  3. Add the Combat System interface, CombatSystemInterface.

  4. Implement/override the interface function, GetCombatManager, so it returns the Combat Manager component.

  5. Implement/override the interface function, GetCombatMesh, so it returns the relevant mesh. See note below for modular, multi-mesh characters.

  6. Implement/override the interface function, GetCombatAnimInstance, so it returns the relevant animation instance. See note below for characters retargeted during runtime.

  7. Set the relevant mesh's Collision Preset to Combat. See note below for hit detection collision.

Forward Reference

Certain features, such as the Evade Ability, need a global forward reference: a Scene Component that always points forward, usually an Arrow Component with Absolute Rotation enabled.

Add a Forward Reference component

  1. In the Character Class, create a new Arrow Component, parented to the Root Component, the character's Capsule Component.

  2. Add the Combat.Component.ForwardReference tag to the list of Component Tags.

  3. Set the Transform to use Absolute Rotation, so it always points forward.

  4. Implement/override the Combat System interface function, GetCombatForwardReference, so it returns the Arrow Component.

Melee Combat

Combatants may perform melee attacks directly, without a weapon. To support that, the character must implement the Melee Interface. When added to a combatant, the Melee System offers two implementations listed below. You can use one or both.

  1. Traces and Sweeps: Collects targets by performing line traces or sweeps, during specific animation frames. This is also used by melee weapons.

  2. Component Overlaps: Collects targets overlapping a component, during specific animation frames. Useful for simpler collision scenarios.

Enable Scans for Melee Combat

  1. If not done yet, add the Melee interface, CombatMeleeInterface.

  2. Implement/override the interface function, GetMeleeMesh, so it returns the relevant Mesh. See notes above regarding modular characters.

  3. Optionally, implement/override the interface function, GetMeleeMeshByTag, so it returns the relevant Mesh for a given Gameplay Tag.

Enable Overlaps for Melee Combat

  1. If not done yet, add the Melee interface, CombatMeleeInterface.

  2. Create a Shape Component (e.g. a Sphere Component) and set its Collision Preset to Combat.

  3. Implement/override the interface function, GetMeleeOverlap, so it returns the shape component that collects overlapping melee targets.

  4. Optionally, implement/override the interface function, GetMeleeOverlapByTag, so it returns the shape component for a given Gameplay Tag.

Ranged Combat

Combatants may perform ranged attacks directly, without a weapon. To support that, the character must implement the Ranged Interface.

Configure the Projectile Source

  1. Add the Ranged interface, CombatRangedInterface.

  2. Implement/override the interface function, GetProjectileSourceMesh, so it returns the relevant Mesh. See notes above regarding modular characters.

Additional Components

Ninja Combat provides many components that can enhance the combatant's capabilities. They are optional, but at this point, feel free to add the ones you might find relevant. These components should also be returned by the Combat System interface.

Component

Purpose

Interface Function

NinjaCombatComboManagerComponent

Allows the combatant to perform combos

GetComboManagerComponent

NinjaCombatMotionWarpingComponent

Manages warping targets. Overrides other Motion Warping Components.

GetMotionWarpingComponent

NinjaCombatPhysicalAnimationComponent

Manages physical animations.

GetPhysicalAnimationComponent

NinjaCombatWeaponManagerComponent

Provides combat weapons. When using the Inventory System, should be replaced by the Equipment Adapter. See the Combat/Inventory integration page for more info.

GetWeaponManager

Gameplay Ability System

We won't create Gameplay Abilities just yet, but each combatant should have their Combat Attributes and optionally some Gameplay Effects to replenish certain attributes.

Combat Attributes

Ninja Combat provides its own Attribute Set, which should be added to each combatant.

Add Combat Attributes using Ninja G.A.S.

  1. Create a new Data Table for your Combat Attributes, using AttributeMetaData as the table row structure.

  2. Download the Sample Initialization Data and use it as the table data.

  3. Create a new G.A.S. Setup Data Asset and add a new Default Attribute Set entry.

    You can do so by right-clicking an empty area in the Content Browser, then navigating to Ninja Bear StudioNinja G.A.S.G.A.S. Setup.

  4. Add the Ninja Combat Attribute Set, NinjaCombatAttributeSet, and the data table as the Attribute Table.

  5. Set the new GAS Setup Data to the character's Ability System Component.

Regeneration Effects

You may want to use Regeneration Effects for attributes like Stamina, Mana or even Health. The Combat System provides these effects, which operate based on the combatant's attributes.

Add Regeneration Effects

  1. Create a Blueprint, based on CombatEffect_ReplenishMana and name it GE_Regeneration_Mana.

  2. Create a Blueprint, based on CombatEffect_ReplenishStamina and name it GE_Regeneration_Stamina.

  3. Open the GAS Setup Data created in the previous section.

  4. Add both Gameplay Effects to the list of Gameplay Effects in the data asset.

Next Steps

At this point, you have a complete base Combatant Class that can be used as a foundation for Players and AI. This character has the following features:

  1. The core combat system configuration.

  2. A forward reference used by certain abilities.

  3. Optionally, the character can perform melee attacks.

  4. Optionally, the character can perform ranged attacks.

  5. Optionally, the character includes additional components, such as the Combo Manager.

  6. The character has the Combat Attributes added and properly initialized.

  7. Optionally, the character regenerates certain attributes, such as Stamina and Mana.

From here, you can:

21 May 2026