Creating Assets

Overview of the Mona documentation for Creating Assets ...
Many of the things discussed in this tutorial have been covered in other areas in the Mona Documentation as Creating Spaces or VRM avatars uses the same techniques. But if you are coming into the Mona eco-system as an asset creator specifically then you can continue with the details here and we will link to other tutorials as needed.

3D Creation approaches

As optimisation is important when creating assets for your space the result needs to consider the polycount, texture resolution, and material count in order to make sure the assets look good and don't slow down the experience. For that there are a number of approaches to making assets :

Low Poly Asset Creation

The simplest is creating low polygon assets from scratch. This approach is usually called Sub-D modelling and basically means you create the asset end result from the start by adding polygons manually. This is great for simpler assets such as simple furniture and/or architecture.
This is not so great for complex or detailed assets such as characters or sculptures.

High Polygon Asset Creation

This could include sculpting assets in something like ZBrush or Blender, or using a 3D Creation Tool that doesn't really consider polycount such as Rhino. The issue with these, in regards to using them in WebGL spaces with limited resources, is that the polycount is usually in the millions. And this is not practical for a WebGL experience unless you want the space running at a very low frame rate.
That said, it is possible to take your high polygon asset and turn it into a low polygon asset with Retopology.


Retopology is the process of basically tracing a high polygon asset as a low polygon asset. You can make the high polygon asset however you like so you can focus on how it looks, but it is still recommended to consider the end result, as some details are extremely difficult to reduce down to a low polygon asset.
Manual retopology can take some time, but is the best way to get an asset polycount down as much as possible. You can then bake the high polygon detail into the low polygon asset texture. More information on this can be found below.
An approach to manual retopology is covered at the bottom of Optimizing your Mesh.

Decimation, Remeshing, and Auto Retopology

Decimation, Remeshing, and Auto Retopology are methods that reduce the polycount for you much faster, but are usually less optimised than doing it manually. 3D Creation tools like Blender have modifiers that can do this. You can find more information about this in Optimizing your Mesh.
You could also use other tools like Instant Meshes to automatically retopologise your assets.

Texture and Material Approaches

There are several approaches to texturing that allow you to improve the visuals of your assets while at the same time keeping it more performant and/or smaller filesize.

Palette Texturing

Palette Texturing is using a simple texture of color to apply to an entire model. You would assign the polygons of your model onto the specific areas on the texture, also known as Unwrapping UVs.
In exceptionally optimised examples, the texture could be 16x16 pixels, with a small number of color options. This is great for creating relatively simple assets with a number of colors at a very small filesize.
Depending on the asset in question, you can increase the polycount (within reason) to add more color definition. The texture being used in the example below is a 16x16 pixel image which comes up to a whole 1Kb of filesize. It uses polygons in order to create the ink lines, rather than relying on textures to do so. That said, a VRM has a little more room to move on poly count than a simple asset in a space.
Example Asset with a 16x16 pixel texture. Created by TheMattEmpire.
The evolution of this is creating a texture of number of gradients that you can use to texture your asset. This allows some extra detail in the color, but keeps the filesize quite low.
The next version would be to have the same colors, but different finishes such as polished or metallic. Allowing one model to have a large number of colors and finishes but using one texture. All assets in the room below, and the room itself, use the same material. This includes the metallic sink assets through to the matte bed spread.
Example of Gradient based textures...
Palette Texturing is a fantastic approach to asset creation, especially if you are creating a lot of assets to use in a Mona Space using Unity as Unity can combine all your resources together if they are using the same material, reducing draw calls, and therefore running the space better. As they are all using a texture that is very small, the filesize is also quite small in comparison.
For more information on this, check out the Applying Materials & Unwrapping UVs doc.

Trim Sheets

Trim Sheets takes this a little further where the texture has high quality textures that can be used in different ways on your asset. An entire house can be textured with one material, but the texture has an area for roof, floors, window frames, walls and other details.
Example of Trim Sheets...
Similar to Palette Texturing, Trim Sheets are a fantastic approach to asset creation, especially if you are creating a lot of assets to use in a Mona Space using Unity as Unity can combine all your resources together if they are using the same material, reducing draw calls, and therefore running the space better.
The difference to Texture Palettes is that Trim sheets are usually larger in filesize as they require higher quality textures. The performance is still better, but the filesize does increase.
For more information on Trim sheets, check out the Trim Sheets doc.


A common thing to do, at least with important assets, is to bake high polygon detail into the low polygon asset texture.
Baking can be done in Blender, Maya, or 3D Studio MAX, but the most common approach to baking is by using a program like Substance Painter or Marmoset due to its easy to use approach and improved results. Both of these are not free however, whereas Blender is.
Baking does produce fantastic results and allow for more performance in comparison to just high polygon assets, but as each asset requires it's own baked textures, the filesize can get quite large in comparison to Trim sheets. So baking is usually recommended for important or hero assets only.