If you care about performance… combine materials and combine meshes! The Asset Store is full of great models to use in your scene, but each of those models generates its own draw call, unless they use the same material. Mesh Baker can combine multiple meshes together, as well as combine the materials on those meshes into a single combined material (including building atlases. See FAQ for explanation of atlases). Mesh Baker can also modify prefab models (adjust UVs) so that they can share a material for static/dynamic batching.
- Objects to be combined do not need the same material or even the same shader
- Works with any shader
- Texture atlases are automatically generated
- UVs, Normals & Tangents automatically adjusted
- Tiled textures can have tiling baked
- Only parts of source textures (atlases) used by source meshes are copied to the target atlas
- Can map multiple materials to a combined mesh with multiple materials
- Can create and swap parts of skinned meshes at runtime. Change clothing, add wounds, add armor.
- Can combine many SkinnedMeshRenderers and MeshRenderers into a single SkinnedMeshRenderer
- Combine BlendShapes
- Animations on bones remain intact
- Can customize SkinnedMeshRenerers by adding MeshRenderer objects (hats, glasses, weapons)
- Can preserve lightmapping on source objects
- Can generate lightmapping UVs so the combined mesh can be lightmapped
- Control over which channels in the combined mesh are generated
- Non-destructive workflow. Does not touch source assets (creates new combined mesh and texture atlases)
- If objects to combine exceed 64k vertices can bake into multiple combined meshes.
- Choose between three different texture packers
- No scripting required
- Easy to integrate into existing workflow
- Adjust meshes and prefabs so they can share a material (take advantage of static/dynamic batching)
- Clustering tools to easily group meshes that are close in a large scene
- Robust, fast, mature, documented API with examples:
- Bake materials and meshes at runtime
- Runtime add, delete and update objects in a combined mesh
- Use the API in the editor to integrate Mesh Baker into your workflow
You can download the free evaluation version of Mesh Baker here.
The evaluation version uses DLLs (full version is a full source code release).
Limitations of the evaluation version:
- Only works with Diffuse and Bump Diffuse shaders
- Cannot save combined meshes or generate prefabs
- Cannot Bake Mesh Assets In Place
- Uses DLLs
The Free version may be several iterations behind the full version, as it is not updated as frequently.
- Please note that Mesh Baker requires Unity 4.6 or higher. It has not been tested in earlier versions of Unity.
- Mesh Baker can be purchased for
$65 through the Asset Store
- Free updates are available with your purchase and full support via email and forums
YouTube Tutorial Videos
- Texture properties in the result material will be combined into atlases, but the other properties can’t be combined. There will only be one master set of non-texture properties that applies to the whole combined mesh.
- Unity limits meshes to 64k vertices and atlases to maximum texture size.
- Baking tiling can produce large atlases or exceed the maximum size of the atlas.
- Some meshes are difficult or impossible to combine:
- If meshes have channels (colors, or tangents) which others do not.
- Submeshes that share vertices and have UVs outside the range 0,0..1,1
- If you want to combine meshes and preserve existing lightmapping, then source meshes must use the same lightmap.
Mesh Baker was created by Ian Deane. Other assets by Ian Deane include:
Mesh Baker is available in the asset store.