🚀 Spring Sale is live! 🚀 Don't miss your chance to get all my products at 30% OFF!  

Get it!

System Components Overview

Introduction

The combat system is composed of multiple components, each serving different functions.

Some components require no modification, while others need to be extended based on project requirements.

Here is a brief introduction to these components.

Core Component Introduction

GCS功能组件一览.001

Combat System Component

GCS_CombatSystemComponentThis is the core component of GCS. Simply add this component to your character and configure a "CombatFlow" class without any additional operations. All "combat results" are generated and processed by combat flow.

GCS功能组件一览.002

Ability System Component

GGA_AbilitySystemComponentGCS utilizes "Generic Gameplay Abilities" to manage all available combat abilities for the character.

GCS功能组件一览.003

Refer to Ability System User Guide to learn about built-in abilities.

Input System Component

GIPS_InputSystemComponentGCS employs "Generic Input System" for data-driven input management and processing.

GCS功能组件一览.004

Attribute System Component

GCS provides BC_GCS_AttributeSystemComponent, which listens for changes to all attributes used by the ability system component and forwards them to the combat system component for processing.

This component is an extension of the Attribute System Component from Generic Gameplay Abilities, allowing blueprint users to utilize GAS without needing to write C++.

Collision System Component

GCS_CollisionSystemComponentThis component manages all collision trace instances for a character. Whether it’s melee weapon target scanning or bullet target acquisition, it relies on this component.

GCS功能组件一览.005

Refer to Collision Trace System for more details.

Combat Core Component

GCS focuses on the combat system itself, and any dependencies on other systems are abstracted through the GCS_CombatInterface.

The combat core component (BC_GCS_CombatCore) is the default implementation for this interface.

This component is the only one designed to require customization.

Please refer to Combat Interface to learn how to modify/extend and integrate with third-party systems.

In the GCS demo project, there is an extended BC_GCS_DemoCombatCore component that demonstrates how to integrate different systems with GCS. You can follow this example to integrate other systems (if you have independent movement systems, inventory systems, etc).
GCS功能组件一览.006

Combat Team Agent Component

GCS has built-in faction/team support, check Faction/Team for more.

GCS功能组件一览.007

Additional Component Introduction

GCS_LockIndicator Component

This is a simple component that dynamically adds a lock indicator widget to the character based on whether they are locked on. It is associated with BC_GCS_TargetingSystemComponent (a subclass of GCS_TargetingSystemComponent).

If you do not need the LockIndicator, you can directly use the C++ version of GCS_TargetingSystemComponent.

GCMS_CameraSystem Component

This is the camera system component from Camera System. In the reference content provided by GCS, this system handles camera parameters for the character in different states and smooth transitions between multiple camera modes.

If you already have another camera system, you can refer to the usage in the demo to switch to another camera system.

GCS_ContextEffects Component

This component comes from Context Effects System. In the reference content provided by GCS, all footstep sounds, weapon swing sounds, and impact collision sfx/vfx are handled by this system.

GCS功能组件一览.008

GCS_DemoWeaponManager Component

This is a simple weapon management component used to manage and switch weapons in GCS.

GCS功能组件一览.009

You should refer to Weapon System to understand how weapons are used in GCS.