Back to Blog
Formats

Basis Universal: The Complete Guide to Universal Texture Compression

15 min read

Basis Universal is a revolutionary texture compression system that solves one of the biggest challenges in cross-platform graphics development: managing different texture compression formats across various platforms and devices. Developed by Binomial LLC and now maintained as an open-source project, Basis Universal provides a single compressed texture file format that can be transcoded at runtime to any native GPU compression format.

What is Basis Universal?

Basis Universal is a 'super-compressed' GPU texture compression system that produces highly compressed intermediate texture files. These files can be quickly transcoded at runtime to any GPU-compressed format that the target platform supports, including ETC1, ETC2, ASTC, BC1-7, and PVRTC.

The key innovation of Basis Universal is its ability to store texture data in a platform-agnostic format, then transcode it to the optimal native format for the target device. This means developers can ship a single texture file that works everywhere, from mobile phones to desktop computers to gaming consoles.

Basis Universal supports two primary compression modes: ETC1S (for maximum compression) and UASTC (for highest quality). Both modes provide excellent compression ratios while maintaining visual quality suitable for modern graphics applications.

Key Features of Basis Universal

Universal Transcoding

Single compressed file can be transcoded to any native GPU format (ETC1/2, ASTC, BC1-7, PVRTC) at runtime

High Compression Ratio

ETC1S mode provides exceptional compression ratios (up to 10:1 or better) with good visual quality

UASTC Mode

UASTC (Universal ASTC) compression provides quality competitive with BC7 and ASTC formats

Fast Transcoding

Runtime transcoding is extremely fast (typically milliseconds per texture) with minimal memory overhead

Basis Universal Compression Modes

Basis Universal offers two distinct compression modes, each optimized for different use cases:

ETC1S Mode

Provides very high compression ratios, typically 6:1 to 10:1 compression with good visual quality. Ideal for most diffuse textures, UI elements, and content where file size is more important than perfect visual fidelity.

Best for: mobile applications, web content, diffuse textures, UI elements

UASTC Mode

Provides superior visual quality comparable to or better than BC7 and ASTC, with compression ratios of 3:1 to 4:1. Ideal for high-detail textures, normal maps, and content where visual quality is paramount.

Best for: normal maps, detail textures, hero assets, PC/console applications

Basis Universal Workflow

The typical Basis Universal workflow involves three main stages:

1. Source Compression

Compress source textures (PNG, TGA, etc.) to .basis files using either ETC1S or UASTC mode. This is typically done during the asset build process.

2. Runtime Transcoding

At application startup or load time, transcode .basis files to the optimal native format for the target platform (ETC2 for Android, ASTC for iOS, BC7 for Windows, etc.).

3. GPU Rendering

Use the transcoded texture data directly with the GPU's native texture compression hardware, ensuring optimal performance.

Advantages of Basis Universal

Single Asset Pipeline

Eliminate the need to maintain multiple texture format versions for different platforms

Reduced Package Size

Significantly smaller application packages compared to shipping multiple format variants

Lower Bandwidth Usage

Faster downloads and reduced data usage, especially important for web and mobile applications

Platform Flexibility

Easily target new platforms without re-compressing source textures

Limitations and Considerations

Transcoding Overhead

Requires runtime transcoding which adds a small performance cost during texture loading

Compression Loss

Like all lossy compression, there is some quality loss compared to uncompressed textures

Memory Requirements

Transcoding requires temporary memory for both compressed and transcoded data

Integration Complexity

Requires integration of Basis Universal libraries and runtime transcoding code

Ideal Use Cases

WebGL Applications

Perfect for web-based 3D applications where single-file deployment and fast loading are critical

Cross-Platform Mobile

Ideal for mobile apps targeting both Android and iOS with a single texture pipeline

Web3 and Blockchain Games

Excellent for blockchain-based games where asset size and transfer speed are crucial

Multi-Platform Games

Simplifies asset management for games targeting multiple platforms and app stores

Basis Universal vs Other Formats

How Basis Universal compares to traditional approaches:

Traditional Approach

Ship multiple format variants (ETC2 for Android, ASTC for iOS, BC7 for Windows) → Larger package size, complex asset pipeline

Basis Universal Approach

Ship single .basis files → Runtime transcode to optimal format → Smaller packages, simpler pipeline

Storage: 50-80% reduction in texture storage requirements

Bandwidth: 50-90% reduction in download bandwidth

Build Time: Faster builds with single compression step

Quality: Comparable visual quality to native formats

Best Practices

  • Use ETC1S mode for most diffuse textures and UI elements where file size is important
  • Use UASTC mode for normal maps, detail textures, and hero assets where visual quality is critical
  • Transcode textures during asset loading rather than at application startup to avoid blocking
  • Consider target platform compression formats when choosing between ETC1S and UASTC modes
  • Test transcoded textures on target platforms to ensure visual quality meets requirements
  • Cache transcoded textures when possible to avoid repeated transcoding of the same assets

Conclusion

Basis Universal represents a significant advancement in texture compression technology, solving the long-standing problem of managing multiple texture formats across different platforms. Its universal transcoding approach provides both technical and business benefits, from reduced package sizes to simplified asset pipelines.

For cross-platform applications, web-based experiences, and scenarios where download size and bandwidth are critical, Basis Universal offers an compelling solution that doesn't compromise on visual quality or performance. As the graphics industry continues to move toward cross-platform development, tools like Basis Universal will become increasingly essential for efficient texture management.

Further Reading and Resources

Expand your knowledge with these authoritative resources: