Performance Optimization for Mobile In Unity

Last Updated : 6 May, 2026

Mobile devices have limited battery, weaker CPUs, and less memory. Optimized games run at 60 FPS, use less battery, and don't overheat phones.

  • Prevents lag and stuttering
  • Saves battery life
  • Reduces phone heating

Optimization 1: Reduce Draw Calls

Each unique material creates a draw call. Too many draw calls slow down the GPU.

  • Problem: 100 trees with 100 different materials = 100 draw calls.
  • Solution: Share materials between objects - Avoid 10 materials for 10 trees; use 1 material for all trees
  • Use Texture Atlases: Combine multiple images into one texture.

Optimization 2: Lower Texture Sizes

High resolution textures use too much memory on mobile. Max Size recommendations:

  • High-end phone: 2048×2048.
  • Mid-range phone: 1024×1024.
  • Low-end phone: 512×512.

How to change: Select texture -> Inspector -> Max Size -> Choose a lower value.

Optimization 3: Use Compressed Textures

Compression reduces texture size without losing much quality.

  • ASTC: Best for Android (high quality), very small size.
  • ETC2: Best for older Android devices, small size.
  • RGBA Compressed: Best for simple images, small size.

Optimization 4: Limit Polygons (3D Models)

High-poly models kill mobile performance.

  • Main character: 5,000–10,000 tris.
  • Enemy: 2,000–5,000 tris.
  • Props (trees, rocks): 500–1,000 tris.
  • Background: under 10,000 tris total.

Optimization 5: Batch UI Elements

UI can cause performance issues on mobile. Tips for mobile UI:

  • Disable "Raycast Target" on non-interactive UI
  • Separate UI that updates often (score) into its own Canvas
  • Use static Canvas for menus
  • Hide UI with Canvas Group (not SetActive)

Testing Performance on Mobile

Unity Profiler: Attach to device while game runs.

  • Build with "Development Build" and "Autoconnect Profiler".
  • Install on phone.
  • Open Profiler (Window - Analysis - Profiler).
  • See exactly what is slow.
Comment
Article Tags:

Explore