Preparing a scene for Runtime Navmesh Baking
Common “Source mesh XXX does not allow read access” errors
If you try to use the NavMesh Baker without adjusting your scene, you may encounter errors like:
“Source mesh XXX does not allow read access.”
Causes
NavMeshSurface set to Render Meshes By default, the Baker forces surfaces to use Physics Colliders, which is the safest option. If you switch a
NavMeshSurface
to Render Meshes, Unity needs read access to the underlying meshes. Many meshes (e.g., imported models) are not readable by default.Mesh Colliders If your scene uses MeshColliders, Unity still requires the mesh data to be marked as read/write enabled in the import settings.
Static Batching Unity’s “Batching Static” option combines meshes into optimized, non-readable meshes at runtime. These cannot be accessed by the navmesh system and will result in bake failures.
Additional Considerations in 1.3.0
DynamicNavMeshSurface Defaults Newly created DynamicNavMeshSurface components are configured for Physics Colliders collection by default. This avoids most read-access errors automatically.
Seam Links (new in 1.3.0) If your profile has Seam Links Enabled, the baker will attempt to connect navmesh edges across adjacent tiles. This requires clean collider geometry and consistent agent radius settings. If your agents cannot cross tile boundaries, check your profile’s seam link settings and surface bounds.
Combined Window Mode The new Combined bake mode (enabled via
NavMeshBakeProfile.combineTiles
) collects sources globally instead of per-surface. In this mode, having read/write disabled meshes in the scene is more likely to cause errors, since the collector scans large world bounds. Ensure meshes are readable or use colliders.Procedural Meshes / Runtime Geometry If you are generating meshes at runtime (e.g., voxel terrain, procedural tiles), make sure they have colliders or readable mesh data. Otherwise, Unity’s collector cannot access them.
Solutions
Prefer Physics Colliders collection mode (default).
If you must use Render Meshes, enable Read/Write on the mesh assets (via the model importer).
Avoid using Static Batching on geometry that should contribute to runtime navmeshes.
For procedural meshes, either:
Add colliders, or
Mark the mesh data as readable at creation.
Last updated