# Publishing & Validation

## Publishing & Validation

When you publish a map mod, the editor validates your map against all known requirements and tags your mod with metadata so gamemodes can find it.

### What Happens When You Publish

1. ### Sublevel Scan

   The editor scans your mod's content for `.umap` files and checks which RGR\_ sublevels exist.
2. ### Spawn Check

   -> `RGR_PLAYER_SPAWNS` sublevel, or\
   -> `RGR_TEAM_PLAYER_SPAWNs` sublevel\
   If neither exists, publishing is blocked and the Map Requirements panel opens. This is a hard gate - every map needs spawn points.
3. ### Requirement Validation

   For each requirement that has a matching sublevel (or is a world-level requirement like NavMesh):\
   -> **Hard minimum check** — if you're below the absolute minimum (e.g., 0 spawn points), publishing is blocked. You cannot override this.\
   -> **Recommended count check** — if you're below the recommended count, you'll see a warning dialog:\
   \--> **Yes** = continue publishing anyway\
   \--> **No** = open the Map Requirements panel to fix it
4. ### Metadata Tagging

   Your map is tagged with:\
   -> **Requirements** — e.g., `RGR_PLAYER_SPAWNS = true` means your map meets the recommended count for player spawns — the minimum our default gamemode expect. This tag is only set when the recommended count is met, not just because the sublevel exists.\
   -> **Threshold Flags** — e.g., `RGR_PLAYER_SPAWNS_16 = true`  means your map has at least 16 spawns. Each threshold you meet adds another tag, so gamemodes can filter by player count.\
   -> **Group flags** — e.g., `RGR_GROUP_SPAWNS = true` means the entire Spawns group is satisfied.\
   -> **Exact Counts —** e.g., `PlayerStarts = 18` ,`Teams = 2` \
   These tags are published to mod.io as custom KVPs and are used by gamemodes to find compatible maps.

### Publishing Without the Map Open

If you publish a map that isn't currently open in the editor, the validator can't count actors live. Instead:

* If you've published this map before and the files haven't changed, the cached metadata from last time is reused.
* If the files have changed since the last validation, you'll get a warning suggesting you open the map and re-publish for accurate metadata.
* If there's no cached metadata at all, you'll be warned that metadata won't be generated.

For the most accurate results, have the map open in the editor when you publish.

### Settings

| Setting                         | Default | What It Does                                                                       |
| ------------------------------- | ------- | ---------------------------------------------------------------------------------- |
| Validate Map Requirements       | On      | Show the warning dialog for unmet recommended counts. Turn off to skip the prompt. |
| Suppress Stale Metadata Warning | Off     | Skip the warning when publishing a map that isn't open in the editor.              |


---

# 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/publishing-and-validation.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.
