Skip to content

Performance & Profiling

Signals are designed for Hot Paths (code that runs hundreds/thousands of times per frame).

  • Zero Allocations: Invoking a Signal generates 0 bytes of garbage.
  • Cache Friendly: Listeners are stored to minimize CPU cache misses.
  • No Boxing: Value types (structs, ints, enums) are never boxed.

The package includes a robust Signal Profiler. It allows you to visualize:

  • Which signals are firing too often.
  • Which signals have too many listeners.
  • Average execution time per signal.

Note: Profiling tools and warnings are Editor-only and have zero performance impact on your final build.