# Compatability

## Compatibility

When a gamemode needs to find maps that work with it, the system checks the metadata tags your map was published with — no map loading required.

### How It Works

Each gamemode defines what it needs:

* **Requirement groups** — e.g., "I need spawns (player or team) AND a navmesh"
* **Threshold counts** — e.g., "I need at least 16 spawns"

Each map publishes what it provides:

* **Requirement flags** — e.g., `RGR_PLAYER_SPAWNS = true` means the map meets the recommended minimum for our default gamemodes
* **Threshold flags** — e.g., `RGR_PLAYER_SPAWNS_16 = true` means the map has at least 16 spawns
* **Group flags** — e.g., `RGR_GROUP_SPAWNS = true` means the Spawns group is fully satisfied

The system matches gamemodes to maps by checking these tags.

### Matching Rules

All of a gamemode's requirement groups must be satisfied. Within each group:

* **OR groups** (like Spawns) — the map needs to match **at least one** requirement in the group. A map with only player spawns still works for a gamemode that accepts either player or team spawns.
* **AND groups** (like World) — the map needs to match **every** requirement in the group.

The system checks group-level tags first (fast path). If those aren't found, it falls back to checking individual requirement tags.

### Threshold Matching

Thresholds let gamemodes filter maps by capacity. If a gamemode requires 16 player spawns, it looks for the `RGR_PLAYER_SPAWNS_16` tag. Your map only gets that tag if it actually has 16 or more spawn points.

This means:

* A map with 8 spawns won't show up for a 16-player gamemode
* A map with 20 spawns will show up for 8-player and 16-player gamemodes
* Adding more spawns and re-publishing makes your map compatible with larger gamemodes

### What Makes a Map Compatible

Here's a quick reference for what a typical gamemode expects:

| Gamemode Needs | Your Map Needs                                                  |
| -------------- | --------------------------------------------------------------- |
| Player spawns  | `RealityPlayerStart` actors (at least the gamemode's threshold) |
| Team spawns    | `RealityPlayerStart` actors assigned to teams via `TeamIndex`   |
| NavMesh        | An `NavMeshBoundsVolume` covering the playable area             |
| AI support     | Both spawns and navmesh (AI Compatible is automatic)            |

### Maximizing Compatibility

To make your map work with the most gamemodes:

1. **Add both player spawns and team spawns** — this satisfies gamemodes that use either system
2. **Place plenty of spawns** — hitting higher thresholds (16, 32, 64) makes your map eligible for large-player-count gamemodes
3. **Add a NavMesh volume** — this enables AI-based gamemodes and gives you the AI Compatible tag for free
4. **Distribute team spawns evenly** — make sure each team has enough spawns (at least 6 per team by default)


---

# Agent Instructions: 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:

```
GET https://beyond-sandbox.gitbook.io/realitysdk/documentation/level/map-requirements/compatability.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
