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

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.

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

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.

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 Trace System Component
GCS_TraceSystemComponentThis 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.

Refer to Collision Trace System for more details.
Combat Entity Component
GCS focuses on the combat system itself, and any dependencies on other systems are abstracted through the GCS_CombatEntityInterface.
The combat core component (BC_GCS_CombatEntity) is the default implementation for this interface.
This component is the only one designed to require customization.
Please refer to Combat Entity Interface to learn how to modify/extend and integrate with third-party systems.
In the GCS demo project, there is an extended BC_GCS_DemoCombatEntity 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).

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

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_DemoWeaponManager Component
This is a simple weapon management component used to manage and switch weapons in GCS.

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