1.5.1
[1.5.1] - 2025-11-15
Added
Improved Fusion Pool Integration
Added full support for both Fusion pooling provider modes:
Core Provider:
FusionPoolProviderPassed directly intoStartGameArgs.ObjectProviderfrom a custom bootstrap.Behaviour Provider:
FusionPoolObjectProviderBehaviourMonoBehaviour variant attached to the same GameObject asNetworkRunner.
Fusion integration guide updated with examples for both approaches and guidance on when to use each.
Added stricter guarantees that pooled objects are always:
Returned to Fusion’s
IPoolAdapterwhen despawnedDeactivated before return (NavMeshAgents, animators, behaviours, etc.)
Improved debug logging and workflow tips in the Fusion Setup Guide.
Global + Per-Entry Population Enforcement
Global spawner loop now fully respects:
minGlobalObjectCount/maxGlobalObjectCountPer-entry
maxPopulationOverall
maxObjectCountcap
Ensures no global or regional flow can exceed configured limits.
Per-Entry Population Tracking
SpawnEntry.currentPopulationnow increments/decrements correctly across global, region, and wave spawns.Population is reset on Init, respecting duplicates across global/region/wave tables.
Changed
SpawnExecutor hard guards
Added early-exit checks to prevent any spawn request when:
Global cap reached
Entry cap reached
These guards run before placement resolution or pooling.
Region spawning placement
Region locator now refuses placement cleanly when
minSpawnRangeor other constraints invalidate sampling—no more falling back to region center.Default demo region spawner settings adjusted to avoid spawn-range conflicts.
Spawn locator safety
Region/global/wave sampling no longer snaps to fallback center points unless explicitly configured.
Improved use of HintOnly logic and NavMesh sampling.
Fixed
Global spawner ignoring global caps
Global flow no longer overspawns when multiple entries reference the same
SpawnEntryasset.
Local Area Spawner spawning all objects at region origin
Fixed sampling logic that caused region spawns to appear at region center when NavMesh sampling failed.
Entry null-check regression in WaveEntry loop
if (!wave)corrected to explicit null check to avoid invalid operator issues.
Pool prewarm + NavMeshAgent enable timing
Ensured prewarmed pooled objects always disable agents safely before spawn.
Notes
This patch stabilizes the full population-control pipeline across globals, regions, and waves.
Recommended for all 1.5.0 users, especially those using Fusion/PUN integrations or large multi-region maps.
Last updated