PBR textures for game development are not a different file type from archviz maps. They are the same albedo, normal, roughness, and metalness — authored so lighting stays consistent in Unreal, Unity, Godot, or a custom engine. The difference is budget: VRAM, streaming, and how many unique 4Ks you can afford. This guide is a production checklist using free CC0 textures from Locker3d.

The metalness set engines expect

Modern real-time engines use the metalness workflow, not old specular-color maps. Minimum set:

  • Albedo / base color — sRGB, no baked shadows or AO.
  • Normal — tangent space, non-color; flip green for DirectX (Unreal) versus OpenGL (many DCC exports).
  • Roughness — linear, 0 = mirror, 1 = matte.
  • Metalness — linear, 0 = dielectric (wood, concrete, stone, paint), 1 = metal.
  • AO — linear, often packed; skip if the engine uses SSAO only.

If a pack ships glossiness, invert it to roughness. If it ships specular/IOR color, convert or pick a metalness equivalent. Background: what PBR textures are. Preview the same files in Blender with this node setup before you import to the engine.

Resolution and texel density

Aim for a consistent texel density (for example 512 or 1024 pixels per meter) so a wood crate and a metal door match. Typical caps:

  • First-person weapons and hero props: 4K unique or 2K unique + 2K tileable detail.
  • Environment tileables (concrete, stone, floor): 2K, tiled in world space.
  • Trim and decals: 1K or a shared 2K atlas.

8K has almost no place in shipped real-time builds. Downsample in the engine rather than storing unused masters in the cooked game.

Packing, compression, and color space

Pack AO, roughness, and metalness into one ORM texture (RGB, linear, sRGB flag off). Compress albedo as BC7 or ASTC sRGB, normals as BC5, ORM as BC7 or BC1 linear. Wrong sRGB on ORM makes distant mips too shiny. Generate mipmaps for every gameplay texture. Keep a 16-bit normal only in the source; cook 8-bit.

Materials that read in motion

Games are seen in motion and under baked or dynamic lights. Keep albedo slightly lighter and less contrasty than a photo. Avoid mid-gray metalness. Use tileable CC0 bases plus decals for posters, leaks, and damage so you do not explode unique texture count. Locker3d’s catalog is built for that: grab wood, concrete, and metal, then add your gameplay wear in the shader.

License and pipeline

Locker3d maps are CC0. You can ship them in a paid game without attribution. You cannot claim you created the originals. Confirm other libraries before you mix. Details: CC0 textures: what you can and cannot do. For LOD and streaming next, use the blog index.

Frequently asked questions

Which PBR maps do game engines actually need?

Albedo (sRGB), normal (linear, OpenGL or DirectX), roughness, and metalness. AO is optional and often packed. Height is for parallax or offline only. Unreal and Unity both use the metalness workflow by default.

What texture resolution should I use in a game?

2K for most props and tileables, 4K for first-person heroes, 1K or 512 for trim and distant meshes. Mobile and VR should cap unique maps at 2K. Tileable CC0 floors can stay 2K and scale in UV.

Can I use Locker3d textures in a commercial game?

Yes. Locker3d PBR textures are CC0: no fee, no required credit, commercial use allowed. Pack and compress them for the engine, and do not claim you authored the original maps.