> For the complete documentation index, see [llms.txt](https://megacrush.gitbook.io/megacrush-unity-assets/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://megacrush.gitbook.io/megacrush-unity-assets/runtime-navmesh-baker/runtime-navmesh-baker-user-manual/frequently-asked-questions/disable-batching-static-for-scene-elements.md).

# Disable Batching Static for Scene Elements

## Static Batching and Runtime Baking

Unity’s **Static Batching** system combines meshes at build time and when entering Play Mode.\
Unfortunately, the combined meshes are **not readable** at runtime — which makes them incompatible with Unity’s `UpdateNavMeshDataAsync` API.

If your scene uses Static Batching, you may see errors like:

> *“Source mesh Combined Mesh (root: scene) does not allow read access.”*

***

### Why it happens

* The Runtime NavMesh Baker (like Unity’s runtime API) needs access to the underlying mesh data.
* Static Batching produces optimized combined meshes that are **non-readable**, so they cannot be baked into a runtime navmesh.

***

### Solutions

1. **Disable Static Batching** for geometry that contributes to the runtime navmesh:
   * Select the geometry in your scene (or its parent).
   * In the Inspector, click the **Static** dropdown.
   * Uncheck **Batching Static**.
   * When prompted, confirm “Yes” to disable batching for all child objects.
2. **Use colliders instead of render meshes** (recommended).
   * DynamicNavMeshSurface defaults to **Physics Colliders** collection mode in v1.3.0.
   * This avoids the batching issue entirely, since colliders remain accessible at runtime.
3. **Third-party mesh combine systems**
   * If you still need to merge meshes for performance, consider a third-party mesh combine tool that keeps meshes **readable**.
   * These can provide the same draw-call benefits while staying compatible with runtime baking.

***

### Best Practice

For most projects:

* Let the **renderer batching** happen via SRP Batch or GPU Instancing.
* Use **primitive colliders** for navmesh baking.
* Avoid Unity’s Static Batching on any geometry that should contribute to runtime navmeshes.
