Optimization Case Studies

Numbers don't lie. Here are actual before/after results from optimization work on our projects. The constraints we faced, the changes we made, and the improvements we measured.

ShadowStrike FPS - Mobile Performance
ANDROID / MID-RANGE DEVICES / MULTIPLAYER

Target device: Snapdragon 720G class (mid-range Android, 2020-2021). Target framerate: 60 FPS during 8-player combat. Memory budget: under 1.5GB.

FRAME RATE
28 FPS
58 FPS
DRAW CALLS
1,847
312
MEMORY
2.1 GB
1.2 GB
  • Replaced individual weapon/character meshes with GPU-instanced batched renderers
  • Compressed all textures to ASTC format, reduced max resolution to 512px for non-hero assets
  • Implemented aggressive LOD system - characters beyond 30m drop to low-poly versions
  • Moved particle systems to shared pooled emitters instead of per-weapon instances
  • Reduced shadow resolution and limited shadow-casting lights to 4 per scene

Visual fidelity reduced on distant objects. Shadow quality noticeably lower than PC version. Particle effects simplified. These were acceptable tradeoffs for hitting performance targets on the target hardware class.

MATH FPS - Wide Hardware Range
PC / STEAM / GTX 750 TI MINIMUM

Educational game targeting schools and individual players. Hardware ranges from GTX 750 Ti to RTX 4090. Must run acceptably on 8-year-old machines without making modern hardware owners feel cheated.

GTX 750 TI FPS
18 FPS
45 FPS
BUILD SIZE
4.2 GB
1.8 GB
LOAD TIME
45 sec
12 sec
  • Implemented 4-tier quality presets with automatic detection based on GPU
  • Replaced complex shaders with simplified variants on low settings
  • Removed unused assets that were bloating build (imported but never referenced)
  • Implemented texture streaming with Addressables instead of loading all at startup
  • Added dynamic resolution scaling for low-end machines (80-100% based on frame time)

Low settings look significantly worse than high settings. This is intentional - the game needs to run on old hardware, and players on old hardware expect visual compromises. The math gameplay is the same regardless of quality preset.

TOGETHER: OR WE DIE - HDRP Combat Scenes
PC / CONSOLE / HDRP / 4 PLAYER CO-OP

High visual fidelity extraction shooter. Target: 60 FPS on PS5/Xbox Series X, 60 FPS on GTX 1070 PC. During combat with 4 players, 12+ enemies, explosions, and environmental destruction.

GTX 1070 FPS
32 FPS
62 FPS
GPU TIME
28 ms
14 ms
GC ALLOCS/FRAME
48 KB
0 KB
  • Implemented custom occlusion culling for indoor environments (Unity's default wasn't aggressive enough)
  • Reduced overdraw by 60% through particle effect redesign and sorting
  • Moved all gameplay allocations to object pools - zero GC during combat
  • Implemented FSR 2.0 upscaling, running internal resolution at 1440p upscaled to 4K
  • Converted all realtime distant lights to baked with probe volumes

FSR upscaling introduces slight softness compared to native 4K. Some lighting detail lost in distant areas. These compromises are nearly invisible in gameplay but enable 60 FPS on reasonable hardware.

The Process

These results came from systematic optimization, not luck. Profile first, identify actual bottlenecks, fix them in priority order, measure again. Repeat until targets are hit.

The common theme: optimization is about tradeoffs. Visual fidelity for performance. Memory for load times. Complexity for maintainability. Knowing which tradeoffs are acceptable requires understanding both the technical constraints and what players actually notice.

Need Similar Results?

If your Unity game isn't hitting performance targets, we can help. We'll profile, identify the problems, and tell you what it would take to fix them.

REQUEST ASSESSMENT