Working with Textures
Textures are the single biggest source of “why does it look wrong?” bugs in URP. Genesis follows Unity’s conventions strictly — sRGB for color, linear for data, no mipmaps for ramps. This page walks through every important import switch and how Genesis interprets the result.
sRGB vs Linear
Color textures are stored in sRGB and decoded to linear when sampled. Data textures (normal, mask, height) live in linear space already. Get this wrong and your lighting math breaks.
A color texture with sRGB on versus off. Drag to compare.
Recommended import settings
The Ramp Creator writes 256×4 textures with sRGB-on, mip-off, clamp, bilinear. If you author your own ramps, match those settings exactly or you will see banding at the band edges.
Mipmaps
Mipmaps soften textures at distance and prevent aliasing. They cost roughly 33% memory and are usually worth it for color maps — but not for ramps or noise textures, where blur destroys the effect. Leave mipmaps on for albedo and normals; turn them off for ramps and dissolve noise.
Channel packing
Genesis uses a packed Mask Map to save samplers: R=Metallic, G=Occlusion, B=Detail Mask, A=Smoothness. Use the Texture Channel Packer tool to combine four greyscale maps into one BC7/ASTC texture.
Resolution rules of thumb
- Hero characters: 2K albedo, 2K normal, 1K mask.
- Mobile props: 512 albedo, 256 normal, no mask (use sliders).
- Ramps: always 256x4. Higher is wasted.
- MatCaps: 256x256 is usually enough; 512 for crisp specular shapes.
Need to repack a third-party mask? The Channel Packer’s Source picker accepts custom channel routing per slot.