Performance
Following some rules around asset creation will improve the performance in an experience.
You have a limit of 5000 faces per asset, but ideally, assets should try to be as far from that limit as the design allows it.
You also have a max floor footprint of 512 Voxels in size. Don't exceed 512x512x512 for height, length and width
High polycount puts more load on the performance of the game, so technically, every face counts, especially for assets that can be used multiple times in a single game.
It is always important to find ways to simplify the geometry of your design without losing your concept. High Node count can severely affect game performance and we suggest keeping the amount of nodes down as much as possible.
We suggest a max of 120 nodes on your Asset

Extrusions VS Texturing:

Usually using painted textures (pixel art) instead of carved geometry, helps to keep nice details while saving a lot of faces.
A1 = Extrusions Face count: 294. The bounding box will make the player stand on air in the middle, too.
A2 = Texturing approach Face count: 6. The bounding box will fit well.

Modeling VS Rigging

You can also use the Animator tab to create interesting models made of rotated blocky parts instead of making every shape and diagonal with voxels.
However, keep in mind that nodes have to be constantly calculated by the game engine, so high numbers of nodes will also impact performance. We strongly suggest keeping nodes to below 120.
Assets that have no animations at all but are rigged up we calculate the nodes as 1.
B1 = Faces: 240 for a 40x40 voxel object with a bounding box that wouldn’t allow the player to approach.
B2 = Faces: 6 for a 50x1 voxel object with one node and rotation in the Rigger.Better optimised bounding box than above.
This same approach can be taken with more complex shapes, as shown in the below images:
C1 = Faces: 156 for a 40x40 voxel object with a bounding box that wouldn’t allow the player to approach.
C2 = Faces: 36 for 1 40x40 voxel object which is tied to 2 nodes, one of which is rotated 45º.
Please note the bounding box in image C1, which wouldn’t allow the player to approach, this should be used for decorative elements or elements that are hidden within other nodes.
To have a cleaner bounding box, it’s better to use 3 nodes and a rectangle shape.
Remember we’re doing this for the users and we want them to be able to play the game as smoothly as possible even if they don’t use a high-end machine.
In summary, find a balance between faces and nodes to be efficient, use as few as possible of each one to build your assets without sacrificing your idea, and take advantage of pixel art texturing, to make your assets efficient.

Trim volumes

It is always important to trim all your models, this means shrinking the volume box to fit the model so that there is no useless empty space.
This will improve the collisions for the asset in the Game maker.
You will find the trimming tool at the top toolbar in the modeler.

Z-fighting

There is a very common visual defect called Z-fighting, which takes place when two faces are overlapping.
There are 3 ways to fix this.
  1. 1.
    Make your design in a way that the overlapping areas have the same colour.
  2. 2.
    Add or delete voxels in one of the faces so they don't overlap. (Doesn’t always look good)
  3. 3.
    Move the pivot of one of the overlapping models about 0.2 voxels, so they don't overlap.
Always check carefully for this issue in all the animations of your assets. You can experiment with these solutions and pick the most suitable one for your designs in each case.

Emission levels

When you use emissive materials, chances are that they will look somewhat different in the marketplace and in the Game maker because the three renderers handle light in a different way.
If your asset has important details with emissive colours, it is always better to check how they will look in the game maker.