3D Asset Types
Describing the different asset types approach to help reduce drawcalls and filesize while increasing quality and performance.
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.
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.

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.

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.
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.
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 Approachesdocumentation.
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.
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.
Unity has lots of tools such as batching to optimise an environment. For more information on this, check out the Optimizing your Spacedoc. 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.
But sticking to the Excellent and Good categories in Asset Requirementsis a good idea to make sure your assets work well on all platforms in cluding Mobile and Standalone VR.
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, 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.
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!
Last updated
Was this helpful?
