Anime Shading Plus
Show / Hide Table of Contents

🏎️ Optimizing Skinned Mesh Renderer Performance in Unity

This section outlines methods to improve GPU and CPU performance within Unity when working with Skinned Mesh Renderer.

Methods for Limited GPU Optimization

These techniques offer improvements to GPU performance:

  • Reduce Feature/Texture Count: Minimize the number of features and textures used within your materials.

  • Limit Edge Detection Types: Decrease the types of edge detection methods that being enabled.

Significant CPU and GPU Performance Optimization

  • Reduce the number of vertices count and vertex data in skinned meshes

  • Set LOD for skinned meshes

  • Enable GPU Skinning (when not GPU-bound)

  • Merge different materials in the same character to reduce the total number of skinned mesh renderers and materials

Skinned Mesh LOD Example


The following is an example of a CPU skinning (Unity default setup) project with 15 characters (each character model has 19,000 faces) on the scene.
Runtime FPS is approximately 85

After using three levels of LOD, FPS is approximately 120, which shows a significant improvement for the CPU.

Image

Image

For information on how to bind meshes with different LODs to the same character skeleton, please refer to

Reuse skeletons for Unity LODGroup

In this holiday themed blog post we'll showcase how to reuse skeletons for different LOD levels in Unity. As an extra spice we will also throw in Bone Reduction for our last LOD level.

GPU Skinning


Unity provides a GPU Skinning feature that can significantly improve performance by transferring skinning calculations from the CPU to the compute shader on the GPU. If the target hardware/platform has a dedicated GPU (graphics card) and the project is not GPU-bound, this option can also significantly improve performance.

Using three levels of LOD + Enabling GPU Skinning - Performance improvement to approximately 200FPS

Image

💡 Hardware tested for this page -
CPU : Ryzen 7 5800H
GPU : RTX 3060 Laptop

  • Edit this page
In this article
Back to top Generated by DocFX