# GameMode Settings

## Reality GameMode Settings Data

`Reality GameMode Settings Data` defines the **runtime-configurable settings** of a game mode.

It controls:

* Enabled game features
* Team support and team count
* Character availability
* Skin availability
* What can be modified during gameplay

> This asset is used by the GameMode and can be partially modified at runtime.

***

## Overview

| Feature              | Description                                   |
| -------------------- | --------------------------------------------- |
| Game Features        | List of active gameplay features              |
| Team System          | Enables and configures teams                  |
| Team Count           | Defines how many teams are used               |
| Character Collection | Defines available player characters           |
| Skin Collection      | Defines available character skins             |
| Runtime Editing      | Controls what can be modified during gameplay |

***

## Game Features

### Properties

| Name          | Type  | Description                      |
| ------------- | ----- | -------------------------------- |
| Game Features | Array | List of active gameplay features |

***

### Behavior

| Rule             | Description |
| ---------------- | ----------- |
| Editable In-Game | Yes         |
| Replicated       | Yes         |
| Saved            | Yes         |

***

## Team System

### Properties

| Name                           | Type    | Description                                    |
| ------------------------------ | ------- | ---------------------------------------------- |
| GameMode Support Team          | Boolean | Enables or disables team support               |
| Minimal Team Number            | Integer | Minimum allowed number of teams                |
| Maximal Team Number            | Integer | Maximum allowed number of teams                |
| Can Support Change Team Number | Boolean | Allows changing the number of teams at runtime |
| Number Of Team                 | Integer | Current number of teams used                   |

***

### Behavior

| Rule           | Description                                  |
| -------------- | -------------------------------------------- |
| Team Enabled   | Controlled by GameMode Support Team          |
| Runtime Change | Controlled by Can Support Change Team Number |
| Limits         | Defined by Minimal and Maximal values        |

***

## Character Collection

### Properties

| Name                               | Type    | Description                                |
| ---------------------------------- | ------- | ------------------------------------------ |
| Can Edit Character Data Collection | Boolean | Allows modifying character list at runtime |
| Player Characters Data Collection  | Array   | List of available player characters        |

***

### Behavior

| Rule       | Description                                      |
| ---------- | ------------------------------------------------ |
| Editable   | Controlled by Can Edit Character Data Collection |
| Replicated | Yes                                              |
| Saved      | Yes                                              |

***

## Character Skin Collection

### Properties

| Name                               | Type    | Description                       |
| ---------------------------------- | ------- | --------------------------------- |
| Can Edit Character Skin Collection | Boolean | Allows modifying skins at runtime |
| Player Character Skin Collection   | Array   | List of available character skins |

***

### Behavior

| Rule       | Description                                      |
| ---------- | ------------------------------------------------ |
| Editable   | Controlled by Can Edit Character Skin Collection |
| Replicated | Yes                                              |
| Saved      | Yes                                              |

***

## Runtime Control

This asset allows partial control of the game during runtime.

### Editable Systems

| System               | Editable    |
| -------------------- | ----------- |
| Game Features        | Yes         |
| Team Count           | Conditional |
| Character Collection | Conditional |
| Skin Collection      | Conditional |

***

### Restrictions

| Property   | Condition                                          |
| ---------- | -------------------------------------------------- |
| Team Count | Requires Can Support Change Team Number = true     |
| Characters | Requires Can Edit Character Data Collection = true |
| Skins      | Requires Can Edit Character Skin Collection = true |

***

## Typical Use Cases

| Use Case                          | Recommended Setup                           |
| --------------------------------- | ------------------------------------------- |
| Enable modular gameplay features  | Configure Game Features                     |
| Create team-based game            | Enable GameMode Support Team                |
| Limit number of teams             | Set Minimal and Maximal Team Number         |
| Allow players to change teams     | Enable Can Support Change Team Number       |
| Restrict playable characters      | Configure Player Characters Data Collection |
| Allow dynamic character selection | Enable Can Edit Character Data Collection   |
| Control available skins           | Configure Player Character Skin Collection  |

***

## Notes

| Topic               | Note                                             |
| ------------------- | ------------------------------------------------ |
| Runtime Editable    | Some properties can be modified during gameplay  |
| Replication         | Key properties are replicated across the network |
| Save System         | Supports saving and restoring settings           |
| GameMode Dependency | Must match the GameMode configuration            |
| Team Dependency     | Only relevant if team support is enabled         |

***

## Related Pages

| Page                 | Description                            |
| -------------------- | -------------------------------------- |
| Reality GameMode     | Uses these settings during gameplay    |
| Reality Game Data    | References this settings asset         |
| Reality Game Feature | Features enabled through settings      |
| Reality Team         | Team system affected by these settings |


---

# 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/gamemode/gamemode-settings.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.
