What's new? (Upgrade Guide)

Upgrading from version 1.0

Upgrade Guide: Runtime Navmesh Baker 1.4.0

Version 1.4.0 adds important new features and quality-of-life improvements to make runtime baking more flexible, especially for procedural maps and complex spawning workflows.


What Changed

  • NavMesh Placement Policies on SpawnEntry

    • Require — spawn only when a valid NavMesh position exists (otherwise defer and retry)

    • Prefer — spawn immediately; agent enables once NavMesh becomes available

    • Ignore — place without NavMesh restrictions

  • Deferred Placement Queue in RuntimeSpawner

    • Handles Require policy automatically with exponential backoff

    • Prevents “Failed to create agent” errors when baking is still in progress

  • Spawn Hints System

    • New EnemySpawnHintPoint components act as authored anchors

    • Each hint can define its own rules (weights, categories, faction, etc.)

    • The spawner resolves around hints for more controlled encounters

  • Improved Grid Bake Visualizer

    • Clearer gizmos for debug visualization of active/queued grid tiles

  • Performance / Stability Updates

    • Reduced allocations when scheduling bake jobs

    • More robust handling of agent enabling during bake transitions


Migration Steps

No breaking changes from 1.3.0 — if you’re already using the BakerCoordinator, your setup continues to work.

To take advantage of new features:

  1. Review your Spawners

    • Update SpawnEntry assets to set a NavMesh Placement Policy

    • Use Require if you want guaranteed safe placement

    • Use Prefer for more immediate spawns in dynamic maps

  2. Leverage Spawn Hints

    • Place EnemySpawnHintPoint components in your scene

    • Configure per-hint rules to bias or restrict where AI appears

  3. Debug Your Grid

    • Enable the Grid Bake Visualizer on your BakerCoordinator for clearer feedback on what’s being baked


Notes

  • Procedural Maps — These improvements are especially useful in streaming/tiled environments, where spawn timing and navmesh readiness can vary.

  • Backwards Compatibility — All 1.3.0 migration steps remain valid. No removals or renames in 1.4.0.

  • Inspector Feedback — The Coordinator inspector now gives better visibility into spawner placement and bake queues.


Before & After

Before (1.3.0):

  • Agents spawned immediately, risked errors if NavMesh wasn’t ready

  • No authoring control over spawn bias/weighting

Now (1.4.0):

  • Agents can wait safely for valid NavMesh

  • Authoring Spawn Hints gives you fine-grained control

  • Debugging grid bakes is more visual and less guesswork

Upgrade Guide: Runtime Navmesh Baker 1.3.0

Version 1.3.0 introduces a major workflow update.

The old NavMeshBaker component and direct use of NavMeshBakerService have been removed.

The new BakerCoordinator is now the single entry point for runtime baking.


What Changed

  • Removed: NavMeshBaker (legacy component)

  • Removed: Direct creation of NavMeshBakerService from the menu

  • Added: BakerCoordinator — manages the service, schedules jobs, and integrates with profiles

This simplifies setup and makes the system more robust.


Migration Steps

  1. Remove old components & Remove Samples

    • Delete any GameObjects with the NavMeshBaker component

    • Delete or disable any manually created NavMeshBakerService GameObjects

    • Delete the 'Samples/Runtime Navmesh Baker' folder

  2. Add a Coordinator

    • Unity menu: GameObject → Runtime Navmesh Baker → Add Navmesh Baker

    • A new GameObject called NavmeshBaker will be created

  3. Assign a Profile

    • Create a profile: Assets → Create → Runtime Navmesh Baker → Bake Profile

    • Configure bake settings (mode, resolution, agent type, etc.)

    • Assign this profile to your BakerCoordinator

  4. Set the Center Target

    • Assign your Player or Main Camera to the Center Target field

    • The navmesh will now generate around this target at runtime

  5. Test

    • Enter Play Mode

    • Navmesh tiles will stream and update according to your profile


Notes

  • Procedural Worlds: If you were using ProceduralTileManager before, no changes are required — it works with the BakerCoordinator automatically

  • Debugging: Use the BakerCoordinator inspector to view active jobs, dirty queues, and navmesh gizmos

  • Profiles: Profiles can be reused across scenes or swapped at runtime


Before & After

Before (pre-1.3.0):

  • Add NavMeshBaker to a GameObject

  • Configure rebake rate, thresholds, and size

  • (Optional) Manually create a NavMeshBakerService

Now (1.3.0+):

  • Add a BakerCoordinator

  • Assign a NavMeshBakeProfile

  • Set your Center Target

That’s it — everything else is handled automatically.


Questions?

Check the User Manual or the API Reference for full documentation.

Last updated