Ninja Combat

Ninja Combat is a Gameplay Ability System-based combat framework for Unreal Engine. It provides a reusable combat domain for attacks, damage, defense, weapons, vitals, reactions, targeting, and combat-driven abilities.
The plugin is designed for projects that need a flexible combat foundation without locking the game into a specific genre or feel. It can support melee combat, ranged combat, action RPGs, shooters, adventure games, and other ability-driven combat systems.
This is an advanced plugin built on top of multiple Unreal Engine systems. Designers can configure many parts through assets and Blueprints, while deeper customization may require C++.
What It Does
Provides a reusable combat framework built on top of the Gameplay Ability System.
Adds common combat concepts such as damage, defense, blocking, poise, critical hits, and vitals.
Supports melee, ranged, projectile, firearm, and ability-driven combat flows.
Provides tools for targeting, motion warping, projectile pooling, and hit reactions.
Separates authoritative combat results from cosmetic presentation.
Integrates with Inventory, Input, Interaction, and GAS-based gameplay.
Main Features
Combat Domain: Provides common combat building blocks such as combat actors, abilities, damage, defense, vitals, and reactions.
GAS Integration: Uses Gameplay Abilities, Gameplay Effects, Attribute Sets, Gameplay Events, and Gameplay Cues as the foundation for combat behavior.
Damage System: Supports advanced damage flows with critical hits, breaker hits, armor, blocking, poise, and defense calculations.
Damage Outcomes and Cosmetics: Separates gameplay results from presentation, allowing authoritative effects and client-side feedback to evolve independently.
Damage and Defense Pipelines: buildable pipelines to mitigate incoming damage and handle its outcomes.
Targeting Support: Integrates with Unreal's Gameplay Targeting System for ability targeting and target acquisition.
Motion Warping Support: Supports responsive combat movement and positioning through Motion Warping.
Projectile and Firearm Support: Provides systems for projectile-based and hit-scan weapons, ammunition, shooting, and reloading.
Animation and Cues: Supports combat feedback through animation, Gameplay Cues, hit reactions, widgets, and ViewModels.
Actor Pool: Actors frequently used, such as projectiles and explosions can be managed by an Actor Pool to avoid spawning and garbage collection hitches.
Extension Points: Exposes Blueprint and C++ hooks for adapting combat rules, damage handling, targeting, reactions, and equipment integration.
Architecture Overview
Ninja Combat is organized around a dedicated combat domain layered on top of the Gameplay Ability System. The combat domain is managed by a set of dedicated components, orchestrated by a centralized Combat Manager.
Combat behavior is usually driven by Gameplay Abilities. Abilities can acquire targets, commit costs, trigger animation, apply damage, spawn projectiles, or route events into other combat systems. Damage is processed through a structured flow that can calculate mitigation, apply gameplay effects, trigger outcomes, and present feedback through Gameplay Cues.
A key part of the architecture is the separation between Damage Outcomes and Damage Cosmetics. Outcomes represent authoritative gameplay results, such as applying damage, reacting to hits, notifying AI, or changing combat state. Cosmetics represent visual and audio presentation, such as hit flashes, floating numbers, camera feedback, or impact effects.
The plugin is designed to integrate with surrounding gameplay systems without owning them. Ninja Inventory can provide weapons and equipment, Ninja Input can activate combat abilities, Ninja Interaction can grant combat-related effects, and Ninja G.A.S. can provide the base Ability System setup.
Integrations
Ninja G.A.S. can provide the Ability System setup used by combat actors and abilities.
Ninja Input can activate combat abilities, combos, and gameplay events.
Ninja Inventory can provide weapons and equipment actors used by combat systems.
Ninja Interaction can trigger combat abilities from interaction flows.