| CMegaCrush.Spawner.RuntimeSpawner.DeferredJob | Internal record for deferred placement attempts when placement requires NavMesh but none is present yet |
| ►CEditor | |
| CMegaCrush.Spawner.IntensityProfileInspector | |
| CMegaCrush.Spawner.LocalAreaSpawnerInspector | Custom inspector for LocalAreaSpawner. Uses SerializedProperty-backed ReorderableLists and shows runtime-only overrides read-only |
| CMegaCrush.Spawner.RegionPopulationControllerInspector | Custom inspector for RegionPopulationController |
| CMegaCrush.Spawner.RegionSpawnLibraryInspector | Custom inspector for RegionSpawnLibrary |
| CMegaCrush.Spawner.RuntimeSpawnerFactoryInspector | Minimal, informative inspector for ObjectFactoryAsset-derived assets. Shows the package header and a short explanation. No settings are exposed |
| CMegaCrush.Spawner.RuntimeSpawnerInspector | Custom Inspector for the Runtime Spawner |
| CMegaCrush.Spawner.Samples.BasicSpecialsTelemetryInspector | |
| CMegaCrush.Spawner.SpawnDirectorInspector | |
| CMegaCrush.Spawner.SpawnEntryInspector | Custom Inspector for SpawnEntry. Now also exposes NavMesh placement options (Require / Prefer / Ignore) |
| CMegaCrush.Spawner.SpawnHintPointInspector | |
| CMegaCrush.Spawner.SpawnHintSettingsInspector | |
| CMegaCrush.Spawner.SpecialEncounterManagerInspector | |
| CMegaCrush.Spawner.SpecialProfileInspector | |
| CMegaCrush.Spawner.WaveSpawnPointInspector | |
| CMegaCrush.Spawner.WaveSpawnerInspector | |
| CMegaCrush.Spawner.WaveTriggerInspector | |
| CMegaCrush.Spawner.EditorMenuPaths | Centralized menu path constants for CreateAssetMenu and Editor utilities |
| ►CEditorWindow | |
| CMegaCrush.Spawner.WelcomeDialog | |
| CMegaCrush.Spawner.FloatRange | Serializable container for a floating-point range. Drawn in the Inspector with a min–max slider when annotated with MinMaxRangeAttribute |
| CMegaCrush.Spawner.GlobalSpawnLoop | Periodic loop that maintains the Global population between configured bounds. Respects: |
| ►CINetworkInput | |
| CMegaCrush.Spawner.Samples.InputData | |
| ►CINetworkObjectProvider | |
| CMegaCrush.Spawner.FusionAdapter.FusionPoolProvider | Photon Fusion 2.x INetworkObjectProvider that provisions objects from a project-wide pool via IPoolAdapter, instead of allocating with Instantiate/Destroy |
| ►CINetworkRunnerCallbacks | |
| CMegaCrush.Spawner.FusionAdapter.Samples.FusionBootstrap | Minimal Fusion bootstrap for sample/demo scenes |
| CMegaCrush.Spawner.Samples.LocalInput | |
| CMegaCrush.Spawner.InspectorProperty | |
| CMegaCrush.Spawner.IntRange | Serializable container for an integer range. Drawn in the Inspector with a min–max slider when annotated with MinMaxRangeAttribute |
| ►CMegaCrush.Spawner.IObjectFactory | Interface implemented by object factories capable of spawning objects synchronously or asynchronously |
| CMegaCrush.Spawner.FusionAdapter.FusionObjectFactory | Implementation of IObjectFactory that spawns networked objects using Photon Fusion |
| CMegaCrush.Spawner.PunAdapter.PUNObjectFactory | Photon PUN–backed implementation of IObjectFactory |
| CMegaCrush.Spawner.SinglePlayerPoolFactory | Simple factory implementation for single-player or offline projects |
| ►CMegaCrush.Spawner.IPoolAdapter | Abstraction over the project’s pooling layer so the spawner system isn’t tightly coupled to a specific pool implementation |
| CMegaCrush.Spawner.PoolAdapter | Default adapter that forwards calls to PoolManager from MegaCrush.ObjectPool |
| ►CMegaCrush.Spawner.IPrewarmableFactory | Optional interface for factories that support prewarming (pool priming) of spawnable prefabs |
| CMegaCrush.Spawner.FusionAdapter.FusionObjectFactory | Implementation of IObjectFactory that spawns networked objects using Photon Fusion |
| CMegaCrush.Spawner.SinglePlayerPoolFactory | Simple factory implementation for single-player or offline projects |
| ►CIPunPrefabPool | |
| CMegaCrush.Spawner.PunAdapter.PUNPoolPrefabProvider | Custom IPunPrefabPool implementation that integrates Photon Unity Networking (PUN) with the RuntimeSpawner and project-wide object pool |
| CMegaCrush.Spawner.RegionPopulationController.IRegionTagProvider | Optional provider interface for region tags. Implement on any component under a region root to supply semantic tags (e.g., "industrial", "residential"). If not present, the Unity tag is used |
| ►CMegaCrush.Spawner.ISpawnExecutor | Executes a spawn request for a given SpawnEntry using a provided context |
| CMegaCrush.Spawner.SpawnExecutor | Default implementation of ISpawnExecutor. Pulls instances from a pool, resolves placement via ISpawnLocator, applies the NavMeshPlacementPolicy from SpawnEntry, activates the instance, and updates population tracking |
| ►CMegaCrush.Spawner.ISpawnHandle | Represents a handle returned by an IObjectFactory after spawning an object |
| CMegaCrush.Spawner.BasicSpawnHandle | Minimal, reusable implementation of ISpawnHandle used by the core RuntimeSpawner system |
| ►CMegaCrush.Spawner.ISpawnLocator | Service that selects world positions for new spawns based on context (global, region, wave, or grouping near a parent) while respecting NavMesh constraints, player distance, and physics ground checks |
| CMegaCrush.Spawner.SpawnLocator | Default spawn locator that performs physics raycasts and NavMesh sampling to produce valid placement positions for spawned objects |
| ►CMegaCrush.Spawner.ISpecialsTelemetry | Provides runtime telemetry used by SpecialEncounterManager rule checks. Implement this in-game and supply it via inspector or code |
| ►CMegaCrush.Spawner.SpecialsTelemetryProvider | Abstract ScriptableObject base you can subclass to feed telemetry via the Inspector |
| CMegaCrush.Spawner.Samples.BasicSpecialsTelemetry | |
| ►CMegaCrush.Spawner.IWaveExecutor | Contract for any executor that can run a wave sequence |
| CMegaCrush.Spawner.WaveSpawnLoop | Default implementation of IWaveExecutor. Spawns a sequence of entries defined in a WaveEntry, using spawn points defined on the WaveTrigger |
| CMegaCrush.Spawner.LoopPolicy | Per-wave loop configuration describing if/how a wave should repeat |
| ►CMonoBehaviour | |
| CMegaCrush.Spawner.FireSignalOnStart | Example to fire a signal for the wave table runner to control spawn waves |
| CMegaCrush.Spawner.FireSignalOnTriggerExit | |
| CMegaCrush.Spawner.FusionAdapter.Samples.AIWander | Minimal “wander” AI that only ticks on the Fusion authority (host) in Shared/Server modes. Falls back to always-on in single-player (no Fusion) |
| CMegaCrush.Spawner.FusionAdapter.Samples.FusionBootstrap | Minimal Fusion bootstrap for sample/demo scenes |
| CMegaCrush.Spawner.LocalAreaSpawner | Localized spawn volume that lets the system bias spawning when the player is inside the area. This component does not spawn on its own—it's driven by RuntimeSpawner via region-activation signals |
| CMegaCrush.Spawner.NavMeshReadyEnabler | Zero-config binder/monitor for NavMeshAgent |
| CMegaCrush.Spawner.PunAdapter.PUNPrefabKey | Attach to a prefab to give it a stable PUN key. Falls back to GameObject.name if empty |
| CMegaCrush.Spawner.RegionPopulationController | Central, director-driven controller that scales per-tile LocalAreaSpawners and resolves their spawn lists from a global RegionSpawnLibrary |
| CMegaCrush.Spawner.RuntimeSpawner | Central coordinator for runtime spawning. Supports three spawn flows:
-
Global spawning – distributed across the world with population caps.
-
Region spawning – localized spawners that activate when the player enters a region.
-
Wave spawning – table-driven encounter waves triggered by WaveTrigger volumes.
Also provides optional internal culling beyond a configurable distance and integrates with an object pool |
| CMegaCrush.Spawner.RuntimeSpawnerMenu | |
| CMegaCrush.Spawner.Samples.AIChase | Simple AI chase behaviour. If it sees the player, it chases them |
| CMegaCrush.Spawner.Samples.AIWander | |
| CMegaCrush.Spawner.Samples.AIWanderPUN | |
| CMegaCrush.Spawner.Samples.CharController | Attach this to the character, optionally also add a rigidbody, just cuz |
| CMegaCrush.Spawner.Samples.CharControllerPUN | |
| CMegaCrush.Spawner.Samples.DemoController | |
| CMegaCrush.Spawner.Samples.DespawnAfterSeconds | Simple lifetime despawner. Attach to any pooled spawnable prefab. It will automatically despawn the GameObject after X seconds |
| CMegaCrush.Spawner.Samples.LocalInput | |
| CMegaCrush.Spawner.Samples.RuntimeSpawnerControl | Sample script that starts the runtime spawner, instead of it starting automatically |
| CMegaCrush.Spawner.Samples.SimpleMotionAnimator | A simple animator that works for rigidbody, navmesh agent or character controller based characters |
| CMegaCrush.Spawner.Samples.TriggerActivateResetMonitor | Simple script to listen to WaveTrigger events and show / hide an object (the WorldSpace UI) |
| CMegaCrush.Spawner.Samples.UpdateWaveInfo | Example UI script listens to wave trigger events |
| CMegaCrush.Spawner.SpawnDirector | Drives spawn system intensity over time or via explicit steps. Applies values from an IntensityProfile to a bound RuntimeSpawner (population caps, spawn rates, etc.) |
| CMegaCrush.Spawner.SpawnHintPoint | Authoring-time spawn suggestion placed in the scene to guide where enemies can appear |
| CMegaCrush.Spawner.SpawnerDiagnosticsHUD | |
| CMegaCrush.Spawner.SpecialEncounterManager | Manages opportunistic “special” encounters driven by a SpecialProfile. Evaluates rules on an interval and, when conditions are met, spawns via the bound RuntimeSpawner using either tagged WaveSpawnPoint anchors or a radial fallback resolved by the Locator |
| CMegaCrush.Spawner.WaveSpawnPoint | Spatial anchor used by waves and specials for directed spawning. Provides a position and an optional spawn radius plus semantic tags (e.g., "Flank", "Ambush") that rules can match against |
| CMegaCrush.Spawner.WaveTrigger | Simple trigger volume that activates a WaveSpawner sequence when the player enters. Supports optional reactivation after a cooldown and editor helpers for authoring spawn points |
| ►CMonoBehaviourPunCallbacks | |
| CPunBootstrap | Minimal Photon PUN 2 bootstrap for sample/demo scenes |
| ►CNetworkBehaviour | |
| CMegaCrush.Spawner.Samples.CharController_Fusion | |
| ►CNetworkObjectProviderDefault | |
| CMegaCrush.Spawner.FusionAdapter.FusionPoolObjectProviderBehaviour | MonoBehaviour-based Fusion object provider that provisions instances from the project pool via PoolAdapter |
| CMegaCrush.Spawner.Pcg32 | Minimal PCG32 pseudo-random number generator; fast and reproducible across platforms (including IL2CPP/AOT) |
| CMegaCrush.Spawner.PopulationTracker | Tracks the current and historical population of spawned objects, including metadata and source breakdowns |
| ►CPropertyAttribute | |
| CMegaCrush.Spawner.MinMaxRangeAttribute | Attribute to draw a min–max slider in the Unity Inspector. Can be applied to:
-
Vector2 or Vector2Int fields.
-
Custom serializable structs with fields named
min and max (float or int).
|
| ►CPropertyDrawer | |
| CMegaCrush.Spawner.LoopPolicyDrawer | |
| CMegaCrush.Spawner.MinMaxRangeDrawer | |
| CMegaCrush.Spawner.NavMeshPlacementPolicyDrawer | |
| CMegaCrush.Spawner.PunAdapter.PUNPrefabRegistrar | Utility class that automatically registers all prefabs referenced by RuntimeSpawner and its collaborators with a PUNPoolPrefabProvider |
| CMegaCrush.Spawner.RegionSpawnLoop | Periodic loop that manages spawning in active LocalAreaSpawner regions. Ensures each active region maintains its local population between its min/max bounds, while respecting the global max population and per-entry caps |
| CMegaCrush.Spawner.RegionSpawnLibrary.Rule | A single library rule that can contribute a SpawnEntry to a region when its filters match the region's tags and the current director step is within range |
| CMegaCrush.EditorGUIEx.RuntimeSpawnerEditorMeta | Centralized constants for the Runtime Spawner editor UI. All inspectors pull package IDs, header paths, and docs/support links from here |
| CMegaCrush.Spawner.RuntimeSpawnerSettingsProvider | Draw the settings provider |
| ►CScriptableObject | |
| CMegaCrush.Spawner.IntensityProfile | Scriptable profile that defines how spawning intensity progresses over time or via manual steps. Each Step configures caps and rate multipliers applied by SpawnDirector |
| ►CMegaCrush.Spawner.ObjectFactoryAsset | Base class for factory assets that produce IObjectFactory instances at runtime |
| CMegaCrush.Spawner.FusionAdapter.FusionFactoryAsset | ScriptableObject factory that provides a Fusion-backed implementation of IObjectFactory |
| CMegaCrush.Spawner.PUNFactoryAsset | ScriptableObject factory asset that creates a Photon PUN–backed IObjectFactory |
| CMegaCrush.Spawner.SinglePlayerPoolFactoryAsset | ScriptableObject factory asset that creates a SinglePlayerPoolFactory instance |
| CMegaCrush.Spawner.RegionSpawnLibrary | Global, designer-authored library that defines rule-based spawn entries for LocalAreaSpawner regions. The RegionPopulationController queries this asset at runtime to resolve each region's LocalAreaSpawner.CustomRegionSpawners based on:
-
Region tags (semantic string labels supplied by the game).
-
Current SpawnDirector step (0-based).
-
Optional weights by normalized step (0..1).
|
| CMegaCrush.Spawner.RuntimeSpawnerSettings | Global configuration asset for the Runtime Spawner system. Stores editor-only visualization colors and is saved as a project-wide ScriptableObject so all scenes share consistent debug styling |
| CMegaCrush.Spawner.SpawnEntry | Defines how a particular prefab can be spawned by the Runtime Spawner |
| CMegaCrush.Spawner.SpawnHintSettings | Global configuration for the Spawn Hints system |
| CMegaCrush.Spawner.SpecialProfile | Collection of SpecialRule entries plus global constraints for the special-encounter system |
| CMegaCrush.Spawner.SpecialsTelemetryProvider | Abstract ScriptableObject base you can subclass to feed telemetry via the Inspector |
| CMegaCrush.Spawner.WaveSpawner | ScriptableObject that defines a sequence of WaveEntrys for spawning |
| CMegaCrush.Spawner.SignalBus | Minimal, sticky signal bus used by WaveTableRunner's UntilSignal loop type. Signals are string IDs; once fired they remain "fired" until consumed or cleared |
| CMegaCrush.Spawner.SpawnContext | Immutable parameters describing where and why a spawn is occurring. Built by RuntimeSpawner and consumed by ISpawnExecutor |
| CMegaCrush.Spawner.SpawnHintRegistry | Lightweight spatial index for SpawnHintPoint |
| CMegaCrush.Spawner.SpawnMath | Lightweight math helpers shared by spawner flows (global/region/wave) and the executor. Uses squared-distance comparisons for performance and XZ-planar checks to ignore height |
| CMegaCrush.Spawner.SpawnMeta | Metadata associated with a spawned object for bookkeeping and analytics |
| CMegaCrush.Spawner.SpawnRequest | Immutable data package describing a single spawn operation |
| CMegaCrush.Spawner.SpecialRule | Describes when and how to spawn a single special encounter. Evaluated by SpecialEncounterManager on a cadence, subject to intensity step, player/telemetry gates, and placement constraints |
| CMegaCrush.Spawner.IntensityProfile.Step | A single intensity step applied while active |
| CMegaCrush.Spawner.WaveEntry | Configuration for a single wave of spawns |
| CMegaCrush.Spawner.WaveTableRunner | Executes a WaveSpawner definition once, honoring each WaveEntry's LoopPolicy. Each wave may run once, repeat a set number of times, repeat until a duration expires, or loop until a signal is received |
| CMegaCrush.Spawner.WindowOpener | |