Setting Up Ninja Combat
This page summarizes the setup required for Ninja Combat after the plugin has been installed and enabled.
For the general installation process, see the Installing Plugins guide.
Prerequisites
Requirement | Notes |
|---|---|
Gameplay Ability System | Required. Ninja Combat is built on top of GAS. |
Ninja G.A.S. | Optional, but recommended. If used, configure it before setting up Ninja Combat. |
Ninja Input | Optional. Required only if you want to activate combat abilities through Ninja Input handlers. |
Ninja Inventory | Optional. Required only if you want equipment or weapons to be provided by Ninja Inventory. This can also be configured later. |
Setup Checklist
Step | Required | Guide |
|---|---|---|
Install and enable the plugin | Yes | |
Add C++ module dependencies | Yes, if using C++ | |
Configure Collision Settings | Yes | |
Configure GAS for Ninja Combat | Yes | See below |
Configure Physical Materials | Optional | See below |
Gameplay Ability System Setup
Ninja Combat requires the Gameplay Ability System to be configured for combat actors. If you are using Ninja G.A.S., configure that plugin first, then continue with the steps below.
Ability System Globals
The Gameplay Ability System must use the Ability System Globals and Gameplay Cue Manager provided by Ninja Combat. If your project already has custom versions of these classes, they should inherit from the Ninja Combat classes.
Class | Base Implementation |
|---|---|
Ability System Globals |
|
Gameplay Cue Manager |
|
Option 2: Set GAS classes via DefaultGame.ini
Open your
DefaultGame.inifile, located in your project'sConfigfolder.Add the required Ninja Combat GAS classes to the
[AbilitySystemGlobals]section.[/Script/GameplayAbilities.AbilitySystemGlobals] AbilitySystemGlobalsClassName="/Script/NinjaCombat.NinjaCombatAbilitySystemGlobals" GlobalGameplayCueManagerClass="/Script/NinjaCombat.NinjaCombatGameplayCueManager"
Physical Materials
Physical Materials are optional, but useful when weapons and projectiles should react differently based on the surface they hit. For example, a weapon impact may use different effects for flesh, stone, metal, or wood.
If your project already has a footsteps or surface-reaction system, you can usually consolidate the same Physical Surface and Physical Material setup for Ninja Combat.
Physical Surfaces
Physical Surfaces identify the type of surface represented by a Physical Material.
Alternatively, you can add surfaces through DefaultEngine.ini, under the [/Script/Engine.PhysicsSettings] section.
C++ Physical Surfaces
If you need to reference Physical Surfaces in C++, create a small header file with aliases matching your project setup.
Physical Material Assets
Once your Physical Surfaces are configured, create Physical Materials and assign the correct surface type to each one.
Create Physical Materials
Create a new Physical Material from the Content Browser. They are available in the Physics category.
When prompted to select a base class, select
NinjaCombatPhysicalMaterialIn the Physical Material, set the Physical Surface that matches it.

Repeat these steps for all Physical Surfaces used by your project.

You can assign Physical Materials in different places:
Source | Assignment |
|---|---|
Skeletal Meshes | In each collider in the Physics Asset, or through PhysMat Override in the Skeletal Mesh Component settings. |
Static Meshes | In the Collision Settings for the asset, or through PhysMat Override in the Static Mesh Component settings. |
Pawns or Characters | In their mesh components, or in dedicated Collision Components attached to bones in the skeleton. |

