Ways to texture an environment
A map of the main texturing approaches for real-time environments (unique, tileable, trims, atlases, decals, vertex blending, procedural, photo-sourced and hand-painted), what each costs, what each is good at, and how studios combine them.
There is no single way to texture a game environment. Studios mix a handful of approaches that trade uniqueness against reuse: a texture painted for one prop looks specific but costs memory for that prop alone, while a tiling material or trim sheet can cover a whole level at a steady texel density. Tim Simpson calls trim-based modular kits "the backbone of most environment work" and contrasts them with "massive 4k unique unwrap textures" (Polycount: TUTORIAL: Trim Textures for environment art…).
This page is a map. Each approach has its own page; this one compares them and shows how they fit together.
#Two questions for classifying approaches
It helps to separate two things that are often mixed up:
- How the texture is mapped and shared. Is it unique to one asset, does it repeat across a surface, or is it a strip or tile on a shared sheet? This decides memory, draw calls and reuse.
- How the texture is made. Is it built from nodes, sourced from photos, painted by hand, or a mix? This decides the look and the toolset.
A tiling stone floor can be procedural, scanned or hand-painted. A trim sheet can be sculpted, built in Substance Designer or painted. Pick the mapping approach for production reasons, then pick the authoring method for the art style.
#The mapping approaches
Unique texturing gives an asset its own non-overlapping UVs and its own texture set, usually painted in Substance 3D Painter or a similar tool over baked mesh maps. Painter's smart materials, for example, "include mesh-specific detail" but need those maps baked first (Substance 3D Painter documentation: Create and use Materials and Smart Materials). Best for hero props and anything that needs specific wear.
Tileable materials repeat seamlessly in one or both directions. They keep density constant however large the surface is, which is why François Hurtubise calls them "pretty much essential" wherever "surfaces cover wide areas" (80 Level: Using Tileable Textures in Game Environments).
Trim sheets are textures made of strips that tile in one direction: mouldings, panel edges, pipes, bevels. Many meshes map their UVs onto the same sheet. Tim Simpson says they help "keep your memory budget and drawcalls down" (Polycount: TUTORIAL: Trim Textures for environment art…).
Texture atlases pack the textures of several different objects into one texture, so they can share one material. Unity's manual describes this as "texture atlasing" and notes that "only GameObjects sharing the same Material can be batched together" (Unity Manual: Draw call batching).
Decals and mesh decals place small details such as stains, cracks, labels and bolts on top of other surfaces. Decal textures are often atlased themselves so that they "use a single material and set of textures" (machin3.io: Atlasing).
Vertex blending paints vertex colour values that blend two or more tiling materials, for example moss over stone. Unreal's Mesh Paint mode lets you paint colours "directly to the mesh itself" and has guides for setting up "painted texture blending" materials (Unreal Engine documentation: Mesh Paint Mode in Unreal Engine). On Assassin's Creed Valhalla, the team used "vertex paint to blend two sets of textures together" (80 Level: A Look at the Material Workflow in Assassin's…).
#The authoring methods
Procedural materials are built from node graphs, most often in Substance 3D Designer, which Adobe describes as having "a heavy focus on procedural generation, parameterization and non-destructive workflows" (Substance 3D Designer documentation: Substance 3D Designer overview).
Photo-sourced and scanned materials start from photographs: a single photo converted to a material (Substance 3D Sampler documentation: Image To Material), or hundreds of photos reconstructed with photogrammetry. Poly Haven captures "around 300 images per 2 metre square area" for its scanned textures (Poly Haven Blog: Photoscanned Texture Creation Process).
Hand-painted textures paint form and light into the colour map. Blizzard's Fanny Vergne describes the aim as creating "the illusion of materials by painting in the way light interacts with the surface" (80 Level: The Strings of Environment Design).
#Comparison
| Approach | Memory cost | Reuse | Best for | Typical tools | Sourced example |
|---|---|---|---|---|---|
| Unique | High: one texture set per asset, and "every time you double the texture size, you quadruple the memory footprint" (Polycount) | None beyond that asset | Hero props, characters, story objects | Substance 3D Painter, 3DCoat, Mari, Blender texture paint | Small hero props in a high-to-low workflow (ArtStation blog) |
| Tileable | Low per surface; one material covers any area | Very high | Floors, walls, terrain, large surfaces | Substance 3D Designer, Sampler, ZBrush, scans | DOOM Eternal environments "leans heavily on tiling materials and trim sheets" (80 Level) |
| Trim sheets | Low; one sheet serves a whole kit | Very high | Architecture, modular kits, hard-surface edges | Designer, ZBrush plus bakes, Painter | Sunset Overdrive's "Ultimate Trim" (GDC Vault) |
| Atlases | Medium; saves materials rather than pixels | Medium: shared by a fixed set of objects | Groups of small props that appear together, decals | Any painter plus a packer | Decal atlases for Unity and Unreal (machin3.io) |
| Decals | Low; small textures reused often | High | Breaking repetition, storytelling detail | Painter, Designer, DECALmachine | Star Citizen ships use "decal use for details, even for the bolts" (Polycount) |
| Vertex blending | Low; reuses existing tileables plus vertex data | High | Variation on large surfaces, wet, moss, dirt | Engine mesh paint, DCC vertex paint | Assassin's Creed Valhalla house kits (80 Level) |
| Procedural | Depends on output (usually baked to textures) | High: parameters make variants | Tileables, trims, material libraries | Substance 3D Designer, InstaMAT, Material Maker | Naughty Dog's Substance pipeline on Uncharted 4 (GDC Vault) |
| Photo-sourced | Same as the mapping it uses | High once made | Realistic ground, rock, bark | Sampler, RealityCapture, Blender | Poly Haven scanned textures (Poly Haven Blog) |
| Hand-painted | Often low: lighting is in the texture | Medium: neutral values make reuse easier (80 Level) | Stylised games | Photoshop, 3DCoat, Painter, ZBrush | World of Warcraft environments |
"Memory cost" here is relative. A level budget is a total, not a per-asset rule: Eric Chadwick's example on Polycount is "30 512x512 textures per level", where "one 1024x1024 texture = four 512x512 textures out of your budget" (Polycount: Question: How many trim sheets are commonly…).
#How studios combine them
Most real assets use several approaches at once. The usual split is shape in the mesh, material in shared textures, specifics in unique textures or decals. See the mid-poly workflow for the modeling side of that idea.
A practical default for a modular environment:
- Tileable materials for every large surface.
- One or two trim sheets per material family for edges, mouldings and repeated details.
- Vertex blending and detail maps and macro variation to break up repetition.
- Decals for story and grime.
- Unique textures only for hero props and things the player inspects.
#Further reading and watching
References
- · TUTORIAL: Trim Textures for environment art and props · Polycount, 2019 · forum · accessed 2026-10-21
- · Create and use Materials and Smart Materials · Substance 3D Painter documentation · docs · accessed 2026-10-21
- · Using Tileable Textures in Game Environments · 80 Level · article · accessed 2026-10-21
- · Draw call batching · Unity Manual (2020.2), 2020 · docs · accessed 2026-10-21
- · Atlasing (DECALmachine documentation) · machin3.io · docs · accessed 2026-10-21
- · Mesh Paint Mode in Unreal Engine · Unreal Engine documentation · docs · accessed 2026-10-21
- · A Look at the Material Workflow in Assassin's Creed Valhalla · 80 Level · article · accessed 2026-10-21
- · Substance 3D Designer overview · Substance 3D Designer documentation · docs · accessed 2026-10-21
- · Image To Material · Substance 3D Sampler documentation · docs · accessed 2026-10-21
- · Photoscanned Texture Creation Process · Poly Haven Blog, 2022 · article · accessed 2026-10-21
- · The Strings of Environment Design · 80 Level, 2017 · article · accessed 2026-10-21
- · Creating Trim Sheets 4 Part Tutorial - Polygon Academy (thread) · Polycount, 2019 · forum · accessed 2026-10-21
- · Leveraging Multiple Workflows · ArtStation blog, 2019 · article · accessed 2026-10-21
- · Designing Environments for DOOM Eternal · 80 Level · article · accessed 2026-10-21
- · The Ultimate Trim: Texturing Techniques of Sunset Overdrive · GDC Vault, 2015 · talk · accessed 2026-10-21
- · Star Citizen...The Gladiator...ART DUMP · Polycount, 2015 · forum · accessed 2026-10-21
- · Texturing Uncharted 4: a matter of Substance · GDC Vault, 2016 · talk · accessed 2026-10-21
- · Question: How many trim sheets are commonly used for an environment in games? · Polycount, 2020 · forum · accessed 2026-10-21
- · Mari · foundry.com · tool · accessed 2026-10-21
- · The Material Art of The Last of Us | Substance Days at GDC 2023 · YouTube, 2023 · video · accessed 2026-10-21
- · How AAA Studios Texture Huge Worlds | The Last of Us & Valorant Trim Sheet Workflows · YouTube, 2026 · video · accessed 2026-10-21
Pages that link here
- The game asset pipeline Topic
- Texturing and material software Reference
- Hero assets, props and filler Topic
- Smart materials Key term
- Tileable materials Topic
- Procedural materials (node-based) Topic
- Photo-sourced and scanned materials Topic
- Hand-painted and stylised texturing Topic
- Essential talks and videos Reference
- Postmortems worth reading Reference
Last updated 2026-10-22