Skip to content

🧪 Status Effects — Diagnostics

This folder contains lightweight performance smoke tests for the Status Effects system.

These scripts are designed to help you:

  • spot obvious GC allocations
  • profile core apply/tick/recompute paths
  • sanity-check time control and controller behaviour under load

They are not gameplay systems, not benchmark guarantees, and not part of the supported runtime API surface.


📂 Contents

Script Purpose
StatusPerfSmoke Smoke-tests core status application through StatusRegistry and StatusEffectController.
StatusRecomputePerfSmoke Smoke-tests RecomputePotencyForAll() and RecomputeDurationsForAll() across many active effects.
StatusAuthorityTimePerfSmoke Smoke-tests time-mode toggling and custom time-source behaviour.

⚠️ Important Notes

  • These are diagnostics-only scripts intended for profiling in the Unity Editor.
  • They use simple synthetic workloads, not production gameplay flows.
  • Results will vary depending on:
  • number of active statuses
  • effect types used
  • provider components present
  • user-authored integrations and UI
  • Clean results here do not guarantee that all custom effects or gameplay code are cheap.

🧠 Interpretation Guidance

If these smoke tests behave well but your game is still slow, the usual causes are:

  • too many active effects on too many targets
  • expensive custom effect logic
  • heavy UI/event reactions
  • extra work in integrations (Health, Movement, VFX, etc.)
  • misuse patterns outside the Status core

Use the Unity Profiler as the source of truth.


💡 Key Idea

These scripts exist to answer one simple question:

“Are we doing anything obviously stupid under load?”

They are a quick confidence check — not a certification suite.