This will cover everything essential to know when starting a project. If you read everything from start to finish, you will know how to build a dimension and make the most important edits.

We understand that this may be the first time you are doing something like this. This is why we chose to make the Understanding section elaborate and simple to understand.

We would like to warn new users that the Mastering section is more abstract and will contain less examples, images, videos etc. and will thus be more challenging to comprehend. That does however contain more settings and configuration than this section.

Note before we begin.

This page assumes you have created a new project using template=example when creating the project, and that you also have VSCode open, and that you know how to close and (re-)open studio worlds and project files.

All references to folders are as you see them in the VSCode workspace (*/plugins/iris/packs/example/). Folders and files and are generally marked like this. If the referenced folder does not exist, you can create it.

Make sure to make no mistakes when entering the name of the folder, as this will lead to issues later on.

Projects can be very complex or very simple. It's really how far you want to go. Below is a description of top level JSON object syntax and, further down, Iris types. This should be enough to get you set-up for basic editing.

Good luck and have fun :)

Basic JSON syntax

From here on we assume you know this. Make sure to read this and not skip to editing. Thank me later.

Creating Objects

You can easily create new objects by right clicking the folder of your project in VSCode, and creating the folder type if it doesn't exist. Then right click that new folder and click new file. Name it <name>.json.

Typically file names should be all lower case with hyphens (-) for spaces.

Objects start like this:



Arrays look like this:



Variables look like this:

"variable": value,
"truthVariable": true

You will see these being used throughout, on top, and inside of one-another throughout the configurations.

Content Assist

Once you have created a new top level type, use CTRL+SPACE in VSCode to show options & documentation about each property in the workspace.

This feature is an absolute life-saver in many cases. Make yourself familiar with it, you will use it a lot.


Dimensions are json files and they are placed in the dimensions folder. Typically you only have one dimension file in your entire project. The dimension file is the first and highest level file Iris looks at when generating. It describes regions, and other base settings. See Dimensions.

Regions are json files and they are placed in the regions folder. Regions are comparable to biomes, but they contain groups of biomes, instead of a single one. For example, some regions in the Overworld pack are hot, temperate, or cold. In regions, you define the biomes for each region. See Regions.

Biomes are json files and they are placed in the biomes folder. Biomes are what you would expect. They define block types, layers, objects and a lot of other stuff in the world. This is also where you reference noise generators to get your terrain shape. See Biomes.

Generators are json files and they are placed in the generators folder. Generators are Noise Generators. Noise generators take a coordinate x,z or x,y,z and convert it into a height value. You can explore different base noise styles by using the studio noise command. Generators can take multiple noise styles with additional options and are used to decide the shape of your terrain. See Generators.

Objects are a special type of file, iob and they are placed in the objects folder. Objects are the block schematics of Iris, comparable to World Edit schematics. You can use the object commands to create them easily. With objects you can also create sub folders inside the objects folder such as objects/trees/tree-1.iob. See Objects.

Structures are json files and they are placed in the structures folder. Structures reference multiple Objects to create a tiled village/mineshaft/stronghold-like generator. These can also be referenced to by Procedural Structures in the support Discord. You can design one easily by using the structure commands. See Structures.

Loot are json files and they are placed in the loot folder. Loot tables can be referenced when defining loot in different dimensions, biomes, regions and even structures. They decide which items spawn in the chests they are assigned to. See Loot.

Entities are json files stored in the entities folder. Entities can be spawned and have customized options for each entity object, such as armor, effects, attributes and more. See Entities.


We offer support on our Discord. Ask questions you cannot answer using the Wiki there. We ask you to look on the Wiki for a solution for your issue before going there. Thank you for using Iris!

  • The Volmit Software Team

Last updated