> For the complete documentation index, see [llms.txt](https://studio-docs.sandbox.game/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://studio-docs.sandbox.game/the-editor/how-to-set-collision-and-navmesh-on-mesh-models.md).

# How to set collision and navmesh on mesh models

Physics and navigation are two different jobs on the same Model Mesh Node.

**Physics** is what the player pawn bumps into and stands on. **Navmesh** is the walkable map AI uses. A decorative kit piece can block the pawn, sit outside the navmesh, or both.

A dragged `.glb` starts with physics **on**: motion `static`, profile `BlockAll`, collision mesh `convexHull`. Change those when the piece is only visual, or when the hull is the wrong shape.

What those fields mean, and what **Rapier** is when the console names it: [What physics and Rapier mean in Sandbox Studio](/the-editor/what-physics-and-rapier-mean.md).

The player’s visible model is the opposite: physics **off** on the `.glb`, collision on a hidden capsule. See [How to use a character pawn](/the-editor/how-to-use-a-character-pawn.md).

## Physics vs navmesh vs look

| Job                   | Inspector fields                                     | Typical kit piece                                                               |
| --------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------- |
| Pawn walks and slides | Physics enabled, motion `static`, profile `BlockAll` | Ground and solid modules                                                        |
| AI paths              | `navigationGeometryRole`                             | Ground `walkable`; solid modules `obstacle`; banners and sky dressing `exclude` |
| What you see          | `modelUrl`, **Model Material**                       | Independent of physics and nav                                                  |

`navigationGeometryRole` values verified in the editor and engine:

| Role       | Meaning                                 |
| ---------- | --------------------------------------- |
| `walkable` | This mesh is ground the navmesh can use |
| `obstacle` | This mesh blocks the navmesh            |
| `exclude`  | Ignore this mesh when baking nav        |

Collision mesh type on a Model Mesh Node (values seen in the Inspector):

| Type          | When to use                                                                  |
| ------------- | ---------------------------------------------------------------------------- |
| `convexHull`  | Default after a drag. Fine for simple ground and chunky props                |
| `boundingBox` | A cheaper box around the mesh. Use when a hull is too tight or too expensive |

{% hint style="info" %}
*NOTE: Physics on the visual character `.glb` makes the body a wall. Leave physics off on that node. Keep collision on the capsule.*
{% endhint %}

{% stepper %}
{% step %}

## Select the Model Mesh Node

Select the mesh that holds `modelUrl`. If the Outliner shows a Model Mesh Actor parent, select the **Model Mesh Node** child. See [How to kitbash a level from mesh models](/the-editor/how-to-kitbash-a-level-from-mesh-models.md).
{% endstep %}

{% step %}

## Set physics for the pawn

For ground and solid scenery, leave physics enabled, motion `static`, profile `BlockAll`.

For a mesh that should not block anyone (a card, a distant backdrop), turn physics **off**.

Pick collision mesh type: `convexHull` or `boundingBox`. Enter Play and walk the pawn into the piece. If you snag on invisible corners, switch type or turn physics off and use a simpler Mesh Node collider as a child.
{% endstep %}

{% step %}

## Set the navigation role

Set `navigationGeometryRole`:

* Ground you want AI to cross → `walkable`
* Buildings and blockers AI should path around → `obstacle`
* Dressing that must not punch holes in the bake → `exclude`
  {% endstep %}

{% step %}

## Generate or refresh the navmesh

The scene can store a `.navmesh` file and a `.navmsettings.json` next to the `.genesys-scene`. Generation settings include `cellSize`, `cellHeight`, `walkableSlopeAngle`, `walkableRadius`, and related numeric fields.

Ask the agent to generate the navmesh, toggle debug view, and export or import the `.navmesh` through [Sandbox Studio MCP](/working-efficiently-with-ai/set-up-and-use-sandbox-studio-mcp.md). MCP can generate, clear, import, export, set settings, and toggle debug.

Turn debug on, look at the walkable surface, then turn it off. If AI walks through a module, that mesh is probably `exclude` or physics-only. If AI will not cross a platform, that mesh is probably not `walkable`.
{% endstep %}
{% endstepper %}

## Common mistakes

| What went wrong                                | What to do                                                                                |
| ---------------------------------------------- | ----------------------------------------------------------------------------------------- |
| Dragged a character `.glb` and got stuck on it | Physics off on the visual node. Player collision is the pawn capsule.                     |
| AI walks through a solid kit piece             | Set `navigationGeometryRole` to `obstacle` and generate the navmesh again.                |
| Navmesh eats a backdrop or particle mesh       | Set that node to `exclude`.                                                               |
| Pawn falls through the ground                  | Physics on, `static`, `BlockAll`, on the ground mesh. Place Player Start on that surface. |

## What You've Done

You can tell pawn collision from AI nav, set hull or box on a Model Mesh Node, and bake a navmesh the agent can debug. Next: [How to use a character pawn](/the-editor/how-to-use-a-character-pawn.md), or [How to Set Up a Prefab](/the-editor/how-to-set-up-a-prefab.md) if the collider and mesh should travel together.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://studio-docs.sandbox.game/the-editor/how-to-set-collision-and-navmesh-on-mesh-models.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
