Ninja Bear Studio Plugins Help

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

Installing Plugins

Add C++ module dependencies

Yes, if using C++

Installing Plugins

Configure Collision Settings

Yes

Collision Settings

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

UNinjaCombatAbilitySystemGlobals

Gameplay Cue Manager

UNinjaCombatGameplayCueManager

Option 1: Set GAS classes via Project Settings

  1. Open EditProject Settings.

  2. Select the Gameplay Ability Settings category.

  3. Set the Ability System Globals and Gameplay Cue Manager classes to the Ninja Combat implementations.

    GAS Settings Page

Option 2: Set GAS classes via DefaultGame.ini

  1. Open your DefaultGame.ini file, located in your project's Config folder.

  2. 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.

Create Physical Surfaces

  1. Open EditProject SettingsPhysics.

  2. In the Physical Surface section, add all entries required by your project.

    Configuring Physical Surfaces

Alternatively, you can add surfaces through DefaultEngine.ini, under the [/Script/Engine.PhysicsSettings] section.

[/Script/Engine.PhysicsSettings] +PhysicalSurfaces=(Type=SurfaceType1,Name="Asphalt") +PhysicalSurfaces=(Type=SurfaceType2,Name="Blood") +PhysicalSurfaces=(Type=SurfaceType3,Name="Brick") +PhysicalSurfaces=(Type=SurfaceType4,Name="Ceramic") +PhysicalSurfaces=(Type=SurfaceType5,Name="Dirt") +PhysicalSurfaces=(Type=SurfaceType6,Name="Flesh") +PhysicalSurfaces=(Type=SurfaceType7,Name="Grass") +PhysicalSurfaces=(Type=SurfaceType8,Name="Gravel") +PhysicalSurfaces=(Type=SurfaceType9,Name="Ice") +PhysicalSurfaces=(Type=SurfaceType10,Name="Lava") +PhysicalSurfaces=(Type=SurfaceType11,Name="Metal") +PhysicalSurfaces=(Type=SurfaceType12,Name="Mud") +PhysicalSurfaces=(Type=SurfaceType13,Name="Snow") +PhysicalSurfaces=(Type=SurfaceType14,Name="Stone") +PhysicalSurfaces=(Type=SurfaceType15,Name="Water") +PhysicalSurfaces=(Type=SurfaceType16,Name="Wood")

C++ Physical Surfaces

If you need to reference Physical Surfaces in C++, create a small header file with aliases matching your project setup.

#pragma once #define SURFACE_DEFAULT SurfaceType_Default #define SURFACE_ASPHALT SurfaceType1 #define SURFACE_BLOOD SurfaceType2 #define SURFACE_BRICK SurfaceType3 #define SURFACE_CERAMIC SurfaceType4 #define SURFACE_DIRT SurfaceType5 #define SURFACE_FLESH SurfaceType6 #define SURFACE_GRASS SurfaceType7 #define SURFACE_GRAVEL SurfaceType8 #define SURFACE_ICE SurfaceType9 #define SURFACE_LAVA SurfaceType10 #define SURFACE_METAL SurfaceType11 #define SURFACE_MUD SurfaceType12 #define SURFACE_SNOW SurfaceType13 #define SURFACE_STONE SurfaceType14 #define SURFACE_WATER SurfaceType15 #define SURFACE_WOOD SurfaceType16

Physical Material Assets

Once your Physical Surfaces are configured, create Physical Materials and assign the correct surface type to each one.

Create Physical Materials

  1. Create a new Physical Material from the Content Browser. They are available in the Physics category.

  2. When prompted to select a base class, select NinjaCombatPhysicalMaterial

  3. In the Physical Material, set the Physical Surface that matches it.

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

    Physical Materials Collection

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.

21 May 2026