Mobile game texture atlas optimization

NOVASOLUTIONS.TECHNOLOGY is engaged in the development, support and maintenance of iOS, Android, PWA mobile applications. We have extensive experience and expertise in publishing mobile applications in popular markets like Google Play, App Store, Amazon, AppGallery and others.
Development and support of all types of mobile applications:
Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1 servicesAll 1735 services
Mobile game texture atlas optimization
Medium
from 1 business day to 3 business days
FAQ
Our competencies:
Development stages
Latest works
  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1052
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    445

Mobile Game Texture Atlas Optimization

Improperly packed textures are among the most common reasons a game takes 300 MB instead of 80 MB, and crashes on older Android with SIGKILL from OOM. Meanwhile, the editor runs fine: Unity stores textures uncompressed, real VRAM size becomes apparent only profiling on device.

Typical Atlas Problems

Default format—RGBA32. Without explicit Override per platform, Unity packs textures in uncompressed RGBA32. 1024×1024 in RGBA32—4 MB VRAM. Same data in ASTC 6×6—around 250 KB. With ten such textures, difference becomes significant.

Atlas size not power-of-two. GPU doesn't efficiently handle 700×900 textures. Unity warns, doesn't auto-fix. Non-power-of-two textures don't compress well and take more VRAM than nearest POT.

One atlas for everything. All sprites in single 4096×4096 atlas—16 MB just for one texture in RGBA32. Switching screens, entire atlas stays in memory even using 10% of sprites.

Transparency where unnecessary. JPEG can't handle transparent sprites, but PNG with fully opaque background packs as RGBA instead of RGB—extra channel pointless.

Compression Formats: What to Choose

Platform Format Quality Application
Android (most) ASTC 6×6 high all textures
Android (legacy, API < 23) ETC2 medium opaque; ETC2 RGB for alpha
iOS ASTC 6×6 high all textures
iOS (fallback) PVRTC low only extreme memory shortage

ASTC—adaptive, supports any aspect ratio, available on all Android 5.0+ and iOS A8+. For game sprites, 6×6 gives quality/size balance. For UI with small text—4×4.

ETC2 on Android needed only for devices older than 2015. In 2024 rare, but if project data shows >5% such devices—account for it.

Atlas Structure by Context

Right strategy—split atlases by use context, not object type:

  • ui-hud: HUD elements shown during gameplay constantly
  • ui-menus: buttons, backgrounds, icons for menus (unloaded during gameplay)
  • gameplay-player: player sprites and animations
  • gameplay-enemies-tier1: tier-1 enemies
  • gameplay-vfx: particles, explosions, effects

This split allows unloading unused atlases via Resources.UnloadUnusedAssets() or Addressables with explicit Release. Single all-game atlas makes this impossible.

Empty Space in Atlas

Unity SpriteAtlas leaves padding between sprites (default 4 px) preventing bleeding. On 1024×1024 atlas, this can waste 15–20% area. Reduce padding to 2 px for non-subpixel sprites, noticeably improves packing.

Check actual fill percentage in atlas Preview in Inspector. Below 70%—rethink breakdown.

Optimization Process

Start with Memory Profiler (Window → Analysis → Memory Profiler) on real device: look at Textures section, sort by size. Top-10 heaviest textures—80% of time uncompressed atlases or PNG without platform settings.

Next: set Overrides for Android/iOS in each atlas, restructure by use context, set Mip Maps (disable for 2D—saves 33% per texture), verify POT sizes.

Final check—Android GPU Inspector or Xcode Metal System Trace. Compare VRAM before/after.

Timeline: three-six workdays depending on atlas quantity and Addressables presence.