Give Page Feedback | API

Worlds - Public API

The number of public members on the World class surpasses 50, way too many to list here. Instead, this section will give you a brief overview of what sort of things you can do with the World's public members, primarily focusing on methods. Please open the API on our website using the button at the top of this window to view detailed information about all of the properties and methods that you can access.

Adding/Removing World Cell Users

While most developers will either wish to use Active Grids or World Regions to manage World Cell Users, it's important to note that you can manually add and remove users if you wish. This allows you to implement custom components with non-standard behavior.

One thing to note, however, is that every Remove Cell User Requests must have a matching Add User Requests you sent in earlier.

The World contains several methods that allow you to retrieve World Grouping specific information, such as the Grouping's Origin Cell and Origin Position. In addition, you can add and remove World Grouping Listeners at runtime, which is a powerful feature useful if you have listeners that are only created at runtime.

Cell Locations and Dimensions

Several methods exists that let you identify the location and dimensions of World Cells, even when all you know is the Endless Grid Indexes of the Cell.

Finding Which World Cell A Position Is In

There are a ton of methods focused on locating which World Cell a position in the scene falls within. You can even identify which Cell a position would be in if the Origin Cell were different than what is currently is!

Finding World Cell References

You can try and retrieve the World Cell's loaded by a World Grouping by using the Endless Grid Cell associated with the World Cell, or by using a position to identify the World Cell the position is in.

You can also get a list of all World Cells that fall within an axis aligned bounding box, which might be useful for something.

Converting Positions

The World contains many methods for converting one or more scene relative positions to cell relative positions, and vice versa. These methods come in single frame versions (all positions translated in a single frame), a multi frame version, and a job version.

For the multi frame and job versions, the methods take in a callback Action argument that is invoked after the positions have been translated. These methods also use List, arrays, and Native Arrays, which upon input to the methods contain the non-translated positions. Once the translation has executed and the callback Action is invoked, these collections contain the translated positions.

Creating World Cells

You can create completely new World Cells or copies of existing World Cells using the World. These World Cells can be used for different purposes, though generally they are only needed for interacting with custom Chunk Managers or Chunk Streamers.

You should always return instances of World Cells created via the World's methods, so that they can be placed back in the World Cell pool

Pre Initialization Methods

Certain data can only be changed or set prior to the World being initialized. Such methods will always have PreInitialize at the start of their names.

Changing Group Names

You can change the Group Names of one or more LOD Groups at any time. This effectively allows you to change out the Asset Chunks that are loaded for those LOD Groups. For example, you could load snow themed mountains at wintertime in your game.

You can also reset LOD Group Names back to the default values set on the Streamable Grid asset, in case you want to stop using the alternative Asset Chunks.