Optimization: Mesh Settings

Here are my current go-to optimization settings for meshes inside Unity.

Most common Mesh Import settings I change

1. Scale: Setting up a common scale for all the artists delivering assets is the first thing I would recommend. You can set every 3D modeling software to be a Unity friendly scale. Hence a common scale with each other. Also, try to keep gameobjects scale in the scene to 1. There can be serious transform issues in Unity. As children inherit parent’s scale. https://shahbazsekhon.com/unity-scale-issue/


2. Compression: This setting helps in optimizing the memory size of the asset by reducing accuracy of each vertex position. Though useful in some cases. I have often times noticed artifacts caused by this setting. https://shahbazsekhon.com/unity-mesh-artifacts/


3. Read/Write Enabled: Similar to settings for textures. When a script needs mesh data. Probably, double overhead. I have only used this setting in tandem with Blend shapes. If your mesh has blend shapes this must be enabled.


4. Optimize Mesh: Always enabled this. Unity says it reorders vertices and improves rendering performance. No idea of its impact since I have always turned this on.


5. Blend Shapes: Use of blend shapes is fairly common in my current workflow. https://shahbazsekhon.com/art-reel-blend-shape/


6. Normals: I generally leave this setting to its default, unless Unity messes up the normals on import. That has happened to me twice so far. Once we fixed it by simply re-importing. The other time Modo(3D software) had to rebuild normals and save the asset as new asset, to get the normals to look right.


7. Materials: I generally turn off this setting. 3D software to Unity equivalent shaders are not accurate. So, I make my own materials. But once I turn off this auto-enabled setting, the auto-generated materials still remain. That means every time I import a 3D asset I need to delete the overhead of materials it creates for the 3D asset.


Many of these settings I had to change every-time, I brought in an Asset for certain Games. I couldn’t find any method to change these undesirable Unity default settings. So, I made my own tool to reduce this repetitive work.

The custom tool for this https://shahbazsekhon.com/programming-default-import-tool/