# 3D Asset Types

Below are separate tabs that cover different approaches to Asset Creation. Each method has pros and cons, but generally comes down to Final Result VS Optimisation.

### Modular Assets

Good for creating highly optimised models with small filesize that can create much larger assets and variations of them such as different buildings or ships to name a few. Think of it like 3D Lego.

### Instanced Assets

General assets that have medium quality, but can be used many times in a space such as trees to generic furniture. Depending on the platform, it is possible to position, rotate and scale each asset to imply they are different, at little to no extra cost.

### Centrepiece Assets

Important or Key assets that can be given more resources such as polycount and texture resolution. Due to their higher resources you can't have too many of these in a space.

{% tabs %}
{% tab title="Modular Assets" %}
{% embed url="<https://youtu.be/ySiRjcXA9aM>" %}
Creating Modular Assets with Trim Sheets YouTube Video...
{% endembed %}

Modular Assets are more like parts of assets that you combine into larger assets. A simple example is creating separate parts as walls, doors, windows, roof etc. so that you can make many different buildings with very few parts.

<figure><img src="/files/saEmT6saX9hkhVHRdJd2" alt=""><figcaption><p>Examples of Modular Assets...</p></figcaption></figure>

As each building is made with fewer assets the overall filesize is significantly smaller, meaning it takes less time to download or offers more room for other assets or textures.

<figure><img src="/files/glg6dt26FcVbIkCPYT2r" alt=""><figcaption><p>Final result using the above assets...</p></figcaption></figure>

If you manage to reduce the material count for the parts as well, you can have unique buildings with reduced drawcalls which allow for better experiences overall with a higher frame rate.

A great approach to getting the drawcalls down is using Palette Texturing or Trim Sheets. We have a tutorial on these if you want to go into more detail at [Asset Creation Approaches](/create/creating-assets/asset-creation-approaches.md).

## Asset Creation

The first thing we need to do is create some Modular Assets. It's always good to look at reference of the style you are going for, but also other modular kits that are out there. These can be found online on YouTube tutorials, or things like the Unity store and Unreal Marketplace.

### Jigsaw puzzle approach

Design all elements to be able to fit into each other perfectly. A simple approach to this is to have key dimensions for all parts, so the wall height is the same as the pillar height, and all doors are the same dimensions.

If possible, try to keep to the metre or at least to 0.25m as these are common snapping levels in most engines or 3D Creation programs.

Another tool that is useful is snapping to vertices. Unity has a great tool using the 'V' key to snap an assets vertex to another vertex, so make sure that all your vertices line up accordingly as well. If you hold 'Ctrl' while moving the asset will snap to the parameters set in the snap tools.&#x20;

If you are putting two walls together make sure that the texture is tileable, so it doesn't look like there is a seam. Either that, or put a pillar or detail over the top to make it less obvious. This is easier if you are using a tileable texture for the walls, but if you are using a trim sheet approach you may need to be a little more accurate with placement of the UVs.

### Pivot location

It is generally recommended to put the pivot of all parts at the end, or the center, of the asset so things line up easily. Walls should have the pivot on the ground, at the *end* of the wall. That way when you line them up it is easy to get the pillar where it needs to be or continuing the wall is also easy when using the snapping tools.

Adding the pivot to the end is recommended as it is easy to set the pivot to the centre of an object in Unity. This allows the asset to be pivoted from both the end *or* from the centre.

### Overlapping assets

It may not be ideal for a wall to have a pillar at each end as when you copy the asset, there will be an overlap of two pillars. It is better to have one end of a wall have the pillar (and perhaps the pillar on its own to use as needed) or keep the wall and corners/pillars separate.

## Creating the Assets

In the examples above a *single* texture for walls, wood, rock detail, metal and roof tiles was used in order to reduce filesize and drawcalls. High polygon assets were created before baking them into a single square to create the trim sheet texture. The modular assets were then created with this trim sheet. As noted, Trim sheets are covered in the [Asset Creation Approaches](/create/creating-assets/asset-creation-approaches.md)documentation.&#x20;

Building a full building with a few modular assets is quick and easy. That said, the above is a simple example but could be extended to something much more complicated and varied with more parts and variations.
{% endtab %}

{% tab title="Instanced Assets" %}
Instanced Assets is an approach to making assets that you will use more than once in a space such as environment assets like trees and bushes or generic furniture such as simple tables and chairs. As each experience is different you will need to set up the polycount, material count, and texture resolution accordingly depending on your target platform.

Depending on the platform you are using, you can load the one asset into the space and adjust the position, rotation and even scale of the copied assets and the engine will optimise the asset to count as one drawcall (if it has one material), improving the performance of the assets considerably.&#x20;

Unity has lots of tools such as batching to optimise an environment. For more information on this, check out the [Optimizing your Space](/create/building-spaces/optimise-your-space/optimizing-your-space.md)doc. Some dedicated WebGL platforms may not.

A dining table might be used two or three times in an environment at most, therefore could have more polygons. A tree could be used considerably more, so the polycount should be considerably lower, depending on the target platform. There is no single answer to optimization as the range of platforms and styles is endless. &#x20;

But sticking to the Excellent and Good categories in [Asset Requirements](/create/creating-assets/asset-requirements.md)is a good idea to make sure your assets work well on all platforms in cluding Mobile and Standalone VR.
{% endtab %}

{% tab title="Centrepiece objects" %}
Centrepiece Assets are an approach to making assets that you will use fewer times in an experience. These are important or key assets in the space. Characters or environmental assets that a player would interact with or tell part of the story. Or perhaps an art piece that stands out (although an art gallery full of centrepiece objects may push lower end devices if not optimised well simply due to file size).

As the asset is important, it can take up a little more resources such as higher polycount, and texture resolution. But due to the higher polycount, you shouldn't use these too often in order to reduce rendering high polycount and materials (therefore increased drawcalls) in the experience.

Depending on the target platform, these assets could lean into the maximum category mentioned in the [Asset Requirements](/create/creating-assets/asset-requirements.md), but if you are aiming for Mobile devices, you may need to optimise further.

Optimisation always comes down to the target platform and result. If the experience is small and there will be few users at any given time (therefore less VRMs to load in) you could easily go over the maximum requirements without much issue, especially for desktop experiences. But if the space is large, and/or has many users, or is meant to run *well* on mobile or standalone VR experiences, then you will need to keep the assets as optimised as possible.
{% endtab %}
{% endtabs %}

### Summary

In this tutorial we looked at the different types of assets and the pros and cons of each. With those approaches in mind, let's get into making the assets!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.monaverse.com/create/creating-assets/3d-asset-types.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
