1

1

Use texture atlases to reduce draw calls and optimize texture memory. Texture atlas combines multiple images into a single file.

2

2

Implement mesh simplification and LOD to reduce the number of polygons rendered. Very useful if you have lots of 3D models in your scene.

3

3

Use compressed textures for better memory usage and loading times. Unity supports multiple compression techniques.

4

4

Use 2D sprite packing to reduce the number of draw calls and improve performance. This is similar to texture atlast in 3D games.

5

5

Optimize audio assets by reducing the size and bitrate without affecting quality. Unity has an inbuilt option for this.

6

6

Use asset bundles to reduce loading times and optimize memory usage. This is little complex to implement and you have to host your assets bundle online.

7

7

Use asset streaming to load assets only when they are needed. This will reduce the memory usage and boost performance while playing heavy games.

8

8

Optimize particle systems by reducing the number of particles and using simpler shapes. This has a huge effect, if you have multiple particle system active.

9

9

Use occlusion culling to hide objects that are not visible, reducing rendering load. Also adjust the clipping plane value to clip off far away objects.

10

10

Optimize shader complexity to reduce rendering time and improve performance. You can use the shader graph to create a custom shader without code.