The Collision Manager is a Blueprint-based system for Unreal Engine 5 projects, designed to handle trace hit detection and target selection for Action RPGs and combat-focused games. It enables developers to manage collision detection for weapons and find targets for Gameplay Abilities and Gameplay Effects without requiring complex collision setups. The system addresses the need for precise, flexible hit detection and targeting, supporting mechanics like melee swings, projectile targeting, and ability lock-on. It targets game developers and designers building combat systems, offering standout features like modular target types, tick-based tracing, and animation-driven collision control.
System Architecture
The Collision Manager is organized around the BP_CollisionComponent, which serves as the central hub for managing collision target types and trace logic. Blueprints handle collision detection, target selection, and integration with other systems like the Advanced Abilities Framework. The system is entirely Blueprint-based, ensuring accessibility for designers and developers without C++ dependencies.
-
Key Blueprint Classes:
- BP_CollisionComponent: Manages collision target types for an actor, enabling hit box creation and target searches. It initializes default target types, activates/deactivates collisions, and handles target queries.
- BP_TargetType: Base class for collision handler objects, used for custom or one-off target searches, particularly for abilities requiring specific targets.
- BP_TraceTarget: Base class for trace-based collision handlers, supporting continuous tick-based tracing until deactivated, ideal for persistent hit detection.
- BP_SweepingSocketTraceTarget: Specialized trace target for melee attacks, using mesh sockets to define precise collision paths for weapon swings.
- ANS_CollisionTrace: Animation Notify State that activates/deactivates trace collisions during specific animation frames, ensuring precise timing for melee hit boxes.
-
Data Flow:
- Actors (e.g., characters, weapons) possess a
BP_CollisionComponent, initialized onBeginPlaywith default target types viaDefaultTargetTypeMaporDefaultTargetTypes. BP_TargetTypeor its derivatives (BP_TraceTarget,BP_SweepingSocketTraceTarget) are added toBP_CollisionComponentusingAddCollisionTargetType.- Collisions are activated/deactivated via
ActivateCollisionByTag/DeactivateCollisionByTagorANS_CollisionTrace, triggering trace logic or target searches. - Targets are queried using
FindTargetsByClassorGetTarget/GetTargetsfor ability targeting, with results passed to abilities or effects.
- Actors (e.g., characters, weapons) possess a
graph TD A[Actor] -->|Owns| B[BP_CollisionComponent] B -->|Manages| C[BP_TargetType] B -->|Manages| D[BP_TraceTarget] B -->|Manages| E[BP_SweepingSocketTraceTarget] B -->|Uses| F[ANS_CollisionTrace] C -->|Extends| D D -->|Extends| E F -->|Controls| D F -->|Controls| E
Core Features
- Trace Hit Detection:
- Enables weapons to detect hits using trace-based collision without adding
BP_CollisionComponentdirectly to the weapon actor. - Benefits: Simplifies hit box setup for weapons, supporting precise collision detection for melee or projectile attacks.
- Enables weapons to detect hits using trace-based collision without adding
- Target Selection for Abilities:
- Finds single or multiple targets for
Gameplay AbilitiesandGameplay EffectsusingBP_TargetTypeor trace-based classes. - Benefits: Facilitates lock-on mechanics, AoE targeting, or ability-specific target searches, enhancing combat dynamics.
- Finds single or multiple targets for
- Modular Target Types:
- Supports custom
BP_TargetTypechildren for one-off searches,BP_TraceTargetfor continuous tracing, andBP_SweepingSocketTraceTargetfor melee swings. - Benefits: Offers flexibility to tailor collision and targeting to specific gameplay needs, reusable across actors.
- Supports custom
- Animation-Driven Collision:
- Uses
ANS_CollisionTraceto activate/deactivate trace collisions during specific animation frames, aligning hit boxes with attack visuals. - Benefits: Ensures precise timing for melee attacks, improving visual and gameplay fidelity.
- Uses
- Configurable Collision Parameters:
- Provides properties like
Collision Radius,Collision Object Types, andGameplay Tags to Ignoreto customize trace behavior. - Benefits: Allows fine-tuned control over what collisions detect, reducing false positives and enhancing performance.
- Provides properties like
- Sweeping Melee Support:
BP_SweepingSocketTraceTargetuses mesh sockets for accurate melee swing traces, with adjustable trace paths and collision properties.- Benefits: Delivers realistic weapon collision for melee combat, supporting varied attack animations.