MqllHockE - Status Effects System 2

Documentation
Demo video

StatusEffectSystem2 is a modular and easy-to-use Actor Component for Unreal Engine, specifically designed to handle complex status effect logic in both single-player and multiplayer environments.

The system is built with a server-authoritative architecture, ensuring that core logic like adding, removing, or pausing effects is handled securely on the server while visuals are efficiently synchronized across clients.

Key Features

  • Native Multiplayer Support: The EffectsManager component handles replication out of the box. Key methods like Server_AddEffect and Server_RemoveEffect ensure the server remains the authority in networked games.

  • Modular Data-Driven Design: Every effect is a Primary Data Asset, allowing you to create a single logic template (e.g., "Fire") and then generate multiple variations with different durations, damage values, or icons.

  • Comprehensive Effect Logic:

    • Leveling & Stacking: Supports stacking effects with customizable level increments, minimum/maximum levels, and evolution into new effects upon reaching max level.

    • Periodic Applications: Easily define interval-based effects (like poison or healing) with optional intensity curves to vary effect strength over time.

    • Gameplay Tag Integration: Uses FGameplayTagContainer to manage effect interactions, such as preventing certain effects from being added if a specific tag is already present.

  • Agnostic UI System: The plugin includes an optional, decoupled UI system using EffectsContainer and EffectSlot widgets. These listen to manager delegates to display icons, levels, and remaining durations without the core logic depending on the UI.

  • Save/Load Snapshots: Features local methods to save and load the current state of effects, useful for state persistence or specific P2P scenarios.