With Mona, you can design your metaverse using familiar 3d tools like Blender, Rhino or Gravity Sketch, then import it into our easy-to-use Unity template, then test directly in the browser before publishing.
Here is an overview of the build process:
Setup your Metaverse project
Download & Install Unity
Open the Mona template in Unity
Create your Space
Add in custom assets loaded from 3d tools.
Customize inside Unity using our easy-to-follow documentation.
Test your Space
Experience your world directly in the browser before minting on the blockchain.
Optimize for best results.
Submit and Mint your space
Submit your Space to Mona for QA
Once passed, you can Mint your space!
1. Install Unity 2020.3.18f1 (Free)
Unity is free to download and required to set up your Space.
Download Unity for Windows, MacOS, or Linux. Most people install the Unity Hub, and then use the archive to download the correct version of Unity.
Mona does not support Unity 2021 or above. Unity 2020.3.19+ may work, but we cannot guarantee compatibility with Mona.
Make sure to install the Build support for WebGL add on when installing Unity. Mona will not work without this added.
We currently require all builders to use Unity version 2020.3.18f1.
When installing Unity, when prompted for Unity component selection, make sure to add Build support for WebGL. If this is not installed, there will be a WebGL related error when trying to build to the Mona platform.
2. Download Mona Unity Template
We have a ready-to-use Unity template to make getting started easier.
Note: To download, clone the repository, or press Code > Download Zip.
3. Open the Template in Unity.
Unzip the Template into the preferred location on your computer. This folder is the project.
Add the unzipped template folder to your Unity Projects using the Add Button.
Select Add -> Find SpaceStarter-main -> Open -> Double click to launch Unity project
Click on the added project to open it in Unity. Note that this may take up to 5 minutes to import.
Remember to backup often. To do this you can simply make a copy of your project folder (Ctrl + C then Ctrl + V works), and then open the duplicate folder in unity to continue.
4. Load Mona Scenes
After opening the Mona Template project, load the Mona template scenes using Mona -> Load Space Scenes. This will open three scenes: Space , Artifacts, & Portals.
Load Space Scenes from the Mona Menu
Mona projects should have 3 Scenes loaded in your Hierarchy - Space, Portals, and Artifacts. If you see an Untitled scene remove it by Right Clicking on the Untitled Scene and selecting Remove Scene.
Do NOT rename or delete any of these scenes
Each scene will have an object in it's root. Do not delete or rename these objects either. If you collapse your hierarchy it should always look like the following :
Each of these root objects have a specific 'tag' on them, 'Space', 'PortalLayer', and 'ArtifactLayer'. These are the only objects that use these tags.
5. Create your space.
Now it's time to create your space. Note that because Mona is based on WebGL in a browser, you will need to consider the limitations of the Space because of that. You will need to take note of polygon count and how many materials are allowed in the space among other things. If you are coming from any non-game background such as architecture or NFT art, you will need to look at optimising your assets considerably before using them in a Mona space.
We are always updating out docs and video tutorials to help you on this, but if you want your space to run on as many devices as possible, and even more so on Mobile and VR, make sure to check out the many ways to improve your assets and create game ready assets.
A quick summary is as follows however :
Import 3d assets
Import your 3D assets made from your preferred 3D creation tool (ie. Blender, Rhino, or Maya) into Unity. To import you can use any of the following :
Drag and drop your assets and textures from your Desktop into Unity directly
Right mouse click in the Project file and use 'Import New Asset' and select your assets to import
Use the Assets / Import New Asset menu item to import your assets.
We recommend using the _AddYourArtHere Folderlocated inside the Assets folder in the Project window to store your assets, but this is not compulsory.
Supported 3D file formats: .fbx (recommended), .obj
Once your assets are imported in the Project folder, you can add it to your Space by dragging them into the Hierarchy window, or into the Scene directly.
There are 3 Scenes in which you can import your objects into :
Space Scene (Environment assets)
Add all assets you'd like to permanently stay in your minted project in the Space scene. This includes all assets that will not change in your Space, such as environment assets.
For example, if you built a traditional gallery space, you'd add the assets for the walls, ceiling, and floor into the Space scene.
Do not delete or rename the Space Scene or your Space will not load properly.
All Space objects need to be under, or a child of, the 'Space' GameObject that is tagged 'Space'. Do not rename or delete the 'Space' gameobject.
Portal Scene (Portal Assets)
A Mona Space can use portals to navigate to other minted Spaces. Spaces previously required one Portal, but that requirement has been removed recently. Portals are completely optional now. Portals are like a door, or gateway, to another Space in the Mona network. Portals cannot be modified or turned on/off in the future. Details for how to set these up can be found ∟ Portals
Do not delete or rename the Portals Scene or your Space will not load properly.
All Portal prefab objects need to be under, or a child of, the 'Portals' GameObject that is tagged 'PortalLayer'. Do not rename or delete this object.
Portals have a specific Hierarchy/Tags to function correctly, check out the Create Your Space documentation for more information
Artifacts Scene (Removable assets)
For assets that you might want to remove in the future, such as a painting or piece of furniture, you should add those to the Artifacts Scene. These can also link to external websites or NFT Marketplaces. Artifacts and Canvases have a specific hierarchy in order to work correctly.
Artifacts and Canvases are completely optional. But make sure to keep the 'Artifacts' gameobject even if it is empty.
Examples for Artifacts/Canvases include :
- If you want to include a sofa, but you or the owner of the space would want to change it after the space has been minted, you'd place the sofa under the 'Artifacts' GameObject in the Artifacts Scene.
- Another example is placing art that you would like to sell as an NFT that links to the NFT Marketplace. You'd place the art under the Artifacts GameObject in the Artifacts Scene as a Canvas, and link to the external media files after you upload the Space to your Wallet.
Do not delete or rename the Artifacts Scene or your Space will not load properly
All Artifact or Canvas prefab objects need to be under, or a child of, the 'Artifacts' GameObject that is tagged 'ArtifactLayer'
Even if you delete all the Artifacts and canvases, you will need to keep the parent Artifacts Gameobject.
Artifacts/Canvases have a specific Hierarchy/Tags to function correctly, check out the ∟ Artifacts documentation for more information
6. Test your space
Once you are ready to test your Space you can use the >Playground Button at the top of the Unity window. After your space has been built the Playground website will automatically open, as will the file location of your playground files.
Drag the Playground files folder onto the 'Upload your Playground Files' box on the website and you should have your Space up and running! It's that easy!
If you want to build the Playground files without using the Playground button, you can use Mona / Build Playground Files menu option.
If you need to find the Playground Folder on your own, they can be found in the Exports folder in your Unity project folder.
If you need to find the playground website you can find it Here.
7. Submit your space
After you have tested your space and are happy with it, you can submit your space for QA in order to mint it.
You will need a digital wallet, such as Metamask or WalletConnect. Connect your wallet to Mona, and then select Wallet on the Mona Website to open your available Space slots. Click on the one you would like to use.
The first page that comes up will cover basic information like :
- Artist Name(required)
- Space Title(required)
- Space Short Summary(required)
- Space Long Summary(optional)
After that will be where you upload your space and add some nice touches such as a loading Image and preview video. You will need :
- Playable Files (the files you have been using for testing, needs to be less than 180Mb)
- Preview Image (a 1920x1080 minimum render of your Space that doesn't have the Avatar or any desktop or Mona UI)
- Preview Render (A 1920x1080 minimum video of your space that doesn't have the Avatar or any desktop or Mona UI)
- Mintable File (The file made using the 'Build Mintable File' in the Unity Mona menu, needs to be less than 2Gb)
For more information on the files you need to submit and the process involved, check out the Submit Your Space Documentation.
Once done, your Space is submitted for Quality Assurance by the Mona team. If cleared you can then mint your space!
Note that after you mint a space you will not be able to update it (unless assets are artifacts/canvases). So make sure your space is as good as it can be before you submit it for QA.
8. Mint Your Space
After your space has been passed for QA you can use the Mint button to upload your space to the OpenSea marketplace to sell!
There are some fees involved, and more information on these can be found on the ∟ Mint Your Space documentation