> For the complete documentation index, see [llms.txt](https://studio-syndicat.gitbook.io/omega-game-framework/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://studio-syndicat.gitbook.io/omega-game-framework/core/zones.md).

# Zones

<div><figure><img src="/files/wEQSsBeDC4KGOUkgYqj2" alt=""><figcaption></figcaption></figure> <figure><img src="/files/vP1H9iD3ecq3fOY9KGkr" alt=""><figcaption></figcaption></figure></div>

The **Zone Subsystem** provides an easy method for transitioning between levels to and from specific points, as well as breaking a level into abstract "zones" with their own data.

## Level Data

Typically for zones to function properly, you level will need a **Level Data Asset**. To make one, just search "OmegaLevelData" in data assets.

<figure><img src="/files/Hs1nE9PdSnqGzDoSDR7r" alt=""><figcaption></figcaption></figure>

The Level Data asset will need to be in the same folder as the Level asset. It will also need to have the same name, with the text "\_WorldData" appended to the end.

![](/files/sqxBSOqCo2k0uNpiD9M1)

The level data asset will give you all the common OGF data variables (name, description, icon, tags, etc.) It will also let you specify which zone asset you want loaded when the level stats. OR alternatively, you can create an instanced Zone asset for your default zone.

![](/files/oqqO3x3GsPffMYyhhXO9)

## Zones

Zones are Data Assets that let you abstract away several different areas in you level. These can be useful for saving space and load times.

Create a new Zone Data Asset from the DataAsset menu.

<figure><img src="/files/784EuYNYp173jfwARQ3R" alt=""><figcaption></figcaption></figure>

The zone data asset will give you all the common OGF data variables (name, description, icon, tags, etc.)&#x20;

It will also allow you to select sublevels or DataLayers you want to stream/load in for this zone and remove when the zone is unloaded. You can also select a BGM asset to play, and any special Gameplay Systems you want activated in this zone.

<img src="/files/UM799jEfk4xONyJxeEcp" alt="" data-size="original">

## Zone Project Settings

Under ProjectSettings>Omega: Framework you are given zome parameters to fine-tune how zones work in your project.

<figure><img src="/files/tndu4C1AHbQ0OEtdaHvt" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="258"></th><th></th></tr></thead><tbody><tr><td>Zone Transit System</td><td>A gameplay system that will be activated when a zone transition event begins and shutdown upon the transition's completion.</td></tr><tr><td>Transit Sequence</td><td>A level sequence that will be played when a zone transition event begins and played in REVERSE upon the transition's completion.</td></tr><tr><td>Zone BGM Slot</td><td>The BGM slot that the zone BGM will be palyed in.</td></tr></tbody></table>

## Zone Transit Point

<figure><img src="/files/w8IpVxWu4lnjnL9K9q63" alt=""><figcaption></figcaption></figure>

The zone transit actor is a basic volume that will trigger a player to change levels when a player's pawn overlaps it.

### **Variables**

<figure><img src="/files/mZDq724NJKHIJrF0iSlg" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="244"></th><th></th></tr></thead><tbody><tr><td>Transit Point</td><td>The <strong>Zone Spawn Point</strong> actor the player pawn will be transited to when triggered.</td></tr><tr><td>Transit to Level?</td><td>If true, the overlapping player will be sent to a new level instead of a zone point.</td></tr><tr><td>Transit Level</td><td>The Level that will open on player overlap, if "Transit to Level?" is true.</td></tr><tr><td>Level Transit ID</td><td>The specific spawn point ID that the player pawn will spawn at when sent to "Transit Level". If blank, the player will spawn at the first point assigned to that level.</td></tr><tr><td>Accepted Player Tags</td><td>Gameaply tags the overlapping player pawn must have to be allowed to transit. If blank, the player will always be allowed to transit.</td></tr></tbody></table>

## Zone Spawn Point

<figure><img src="/files/9V0KwpuHzuFmlTzwRp68" alt=""><figcaption></figcaption></figure>

A designated point a player pawn and spawn at either from zone to zone, or from level to level.

<table><thead><tr><th width="304"></th><th></th></tr></thead><tbody><tr><td>Point Name</td><td>An optional TEXT field that you can use to name this point. (E.G. If you wanted to use it in a fast travel system.)</td></tr><tr><td>From Level</td><td>When transitioning from this level, the player will be spawned at this point.</td></tr><tr><td>Zone Point ID</td><td>Used to specify this point's ID. (E.G. When you have multiple spawn points for a single level and want to designate which one to spawn at on transit.)</td></tr></tbody></table>

## Zone Subsystem

The Zone subsystem is used for handling zone transition and management events.

<figure><img src="/files/cwe4l9iiNlTcE9xn8Fik" alt=""><figcaption></figcaption></figure>

NOTE: Zone subsystem functions are considered advanced. For general uses, it is recommended you make use of the **Spawn** and **Transit** actors.

<table><thead><tr><th width="329">Function</th><th></th></tr></thead><tbody><tr><td><img src="/files/za83xPApT4dJ6ZeG6LkM" alt="" data-size="original"></td><td>Gets the current Level's data asset.</td></tr><tr><td><img src="/files/MUr8RXY4YbZ0x2i0Qqng" alt="" data-size="original"></td><td>Gets a zone reference to the current level.</td></tr><tr><td><img src="/files/YZ6hk78xMHVjYqlifrQf" alt="" data-size="original"></td><td>Gets a level's data asset from its soft reference.</td></tr><tr><td><img src="/files/XslS0rerNYRu8QWhcbet" alt="" data-size="original"></td><td>Get's all current loaded zones.</td></tr><tr><td><img src="/files/hSoEF1JbdlBch2KXBwMD" alt="" data-size="original"></td><td>Get's the first currently loaded zone.</td></tr><tr><td><img src="/files/PQwzgDxncotrSDyCCnKG" alt="" data-size="original"></td><td>Checks if a zone is loaded.</td></tr><tr><td><img src="/files/IvZ2Zu2LcFJSpve24ALL" alt="" data-size="original"></td><td>Tries to load a zone. Optional* can unload all currently loaded zones first.</td></tr><tr><td><img src="/files/Ou2PKaCV8Gk7ZgC44f0b" alt="" data-size="original"></td><td>Unloads a specific zone asset.</td></tr><tr><td><img src="/files/NcYwbFmWQ5ZviS9p02F3" alt="" data-size="original"></td><td>Load's a levels default zone.</td></tr><tr><td><img src="/files/fE22aVFYL5LAD2afmiGd" alt="" data-size="original"></td><td>Manually transition a player to a new level from a soft level reference.</td></tr><tr><td><img src="/files/KIxGBoYU3PlTUYeLTa8u" alt="" data-size="original"></td><td>Manually transition a player to a new level from its name.</td></tr><tr><td><img src="/files/L2qvxZx2E7q67uLTFmPQ" alt="" data-size="original"></td><td>Manually transition a player to a spawn point with a designated ID tag. (If "player" is blank, it will default to the first player controller.)</td></tr><tr><td><img src="/files/gfFiaPaLeXzvuuyaTNIY" alt="" data-size="original"></td><td>Manually transitions a player to a spawn point. (If "player" is blank, it will default to the first player controller.)</td></tr></tbody></table>

##


---

# 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-syndicat.gitbook.io/omega-game-framework/core/zones.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.
