Buff & Status Effect Manager

v1.0.0

Support

Frequently asked questions, changelog, and contact information.

Frequently Asked Questions

Is Game Creator 2 required?

Yes. BSM is designed as a module for GC2 and requires GC2 Core as a foundation. The Visual Scripting integration only works with GC2.

Does it work without GC2 Stats?

Yes! BSM works fully without GC2 Stats. The Stats integration (StatsBridge) is optional and only needed if you want effects to modify GC2 Stats.

How many effects can be active simultaneously?

Unlimited by default. You can optionally set a max limit per StatusEffectManager or per Category.

Can effects stack?

Yes! BSM supports 5 stacking modes: None, Stack, Refresh, RefreshAndStack, and Extend. Each effect can have its own stacking behavior and max stack count.

Can I create permanent effects?

Yes. Set Duration Mode to 'Permanent' and the effect will never expire on its own. Remove it via dispel, API, or specific game logic.

How do I deal damage on tick?

Subscribe to the OnEffectTicked event or use the GC2 Event 'On Any Effect Ticked'. In your handler, deal damage to the target.

Can I prevent certain effects from being applied?

Yes! Use ImmunityProfile for permanent immunities, or AddTemporaryImmunity() for time-limited immunity. You can block by specific effect, category, or tag.

Does it support save/load?

Yes. Add the StatusEffectRemember component to integrate with GC2's Save/Load system. Active effects, durations, and stacks are preserved.

Can I customize the UI?

Absolutely! All UI prefabs are standard Unity UI elements. Modify colors, fonts, layouts, and add your own elements freely.

How do auras work?

Add StatusEffectAura to a GameObject. It automatically applies the configured effect to all valid targets within the radius and removes it when they leave.

What are Cleanse Types?

Cleanse Types let you create strategic dispel abilities. A 'Magic' dispel only removes 'Magic' type effects, while 'Undispellable' effects can't be removed at all.

Can I prevent effect spam with cooldowns?

Yes! Enable 'Has Cooldown' on any effect and set the cooldown duration. The effect can't be reapplied until the cooldown expires.

How do I add VFX to effects?

In the StatusEffectDefinition, assign prefabs to Apply VFX, Remove VFX, and/or Tick VFX. They spawn automatically at the target's position.

Can multiple players have separate effect states?

Yes. Each StatusEffectManager is independent. NPCs, players, and enemies all have their own effect instances.

Changelog

Current Version: 1.0.0

Version 1.0.0Initial Release

2025

  • Core runtime: StatusEffectManager, StatusEffectInstance, EffectTickScheduler
  • Data assets: StatusEffectDefinition, StatusEffectCategory, ImmunityProfile
  • 5 Stacking modes: None, Stack, Refresh, RefreshAndStack, Extend
  • Duration modes: Timed, Permanent
  • Tick system with configurable intervals and max ticks
  • Immunity system: Permanent (profile) and Temporary (API)
  • Cooldown system to prevent effect spam
  • Cleanse Types for strategic dispel abilities
  • VFX & Audio hooks for Apply, Remove, and Tick events
  • Aura system: StatusEffectAura for area effects
  • 18 GC2 Instructions for Visual Scripting
  • 15 GC2 Conditions for Visual Scripting
  • 9 GC2 Events for Visual Scripting
  • Complete UI system: EffectBar, Icons, Tooltips, Panels
  • Immunity feedback with floating text
  • StatsBridge for GC2 Stats integration (optional)
  • StatusEffectRemember for save/load persistence
  • 100+ Unit Tests
  • Comprehensive documentation

Roadmap

Features under consideration for future updates:

  • Effect Combos: Fire + Water = Steam (reactive combinations)
  • Effect Priorities: Determine which effect wins when at max limit
  • Exclusive Groups: Only one effect from a group can be active
  • Effect Dependencies: Effect A only works if B is active
  • Global Effect Modifiers: 'Amplify all DoTs by 50%'
  • Network/Multiplayer synchronization support

Contact & Support

📧 Email Support

For bug reports, feature requests, or questions:

support@c-huck.com

📖 Documentation

Full documentation available at:

c-huck.com/unitydoc/bsm