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: FusionPoolProvider Passed directly into StartGameArgs.ObjectProvider from a custom bootstrap.

      • Behaviour Provider: FusionPoolObjectProviderBehaviour MonoBehaviour variant attached to the same GameObject as NetworkRunner.

    • 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 IPoolAdapter when despawned

      • Deactivated 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 / maxGlobalObjectCount

      • Per-entry maxPopulation

      • Overall maxObjectCount cap

    • Ensures no global or regional flow can exceed configured limits.

  • Per-Entry Population Tracking

    • SpawnEntry.currentPopulation now 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 minSpawnRange or 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 SpawnEntry asset.

  • 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