A messy texture library costs more time than downloading new maps. After a year of archviz or game work you will have hundreds of PBR packs, duplicate 4K files, and scenes that still point at a Desktop folder named “new textures 3”. This guide is a working system: folders, names, resolution copies, and a light catalog habit that survives Blender, Unreal Engine, and Unity.

Keep a master library and project copies

Split two trees. The master is read-mostly: every pack you own, sorted by material type. A project folder gets only the packs that scene actually uses. When the job ends you zip the project and the master stays intact. If you only use one tree, a client archive will either miss maps or drag 80 GB of unused marble.

Start the master with categories that match how you search: wood, concrete, metal, stone, brick, fabric, ground, roof. That mirrors the Locker3d catalog so downloads drop into a familiar place. Subfolders for wood, concrete, and metal beat a single “PBR” dump.

One folder per material pack

Never split albedo into one directory and normals into another. A pack is a unit: albedo, roughness, normal, metalness, and optional AO or height live together. If you later pack channels, keep the packed file in that same folder and name it clearly (Wood_Planks_01_ORM.png). Losing one map is how you get a plastic floor six months later.

Resolution belongs in the name or a sibling folder, not as a mystery suffix. Example: Library/Wood/Wood_Planks_01/2K/ and .../4K/. Hero close-ups use 4K; background walls stay 2K. See the 1K–8K resolution guide before you keep every map at 8K “just in case”.

Naming that software can read

Use ASCII, underscores, and a stable token order: Category_Variant_Index_map.ext. Good: Concrete_Raw_03_normal.png. Bad: concreto final!! normal (2).png. Spaces and accents break some command-line bakers and older game importers. Keep the same base name on every map so a script or Asset Browser can group them. Document whether normals are OpenGL or DirectX in a one-line readme.txt inside the pack; that saves a flipped-Y hunt later. Format choice (PNG vs EXR vs JPEG) is covered in PBR texture formats.

Tags, previews, and optional tools

A 256-pixel JPEG preview next to the maps is enough for most people. If the library grows past a few hundred packs, add a spreadsheet with columns for seamless, scale (cm per tile), style (clean / worn), and license. Adobe Bridge, Blender’s Asset Browser, or a dedicated manager can read those folders; they do not replace a clean tree. More on apps: texture management software.

Tag color and wear, not just “wood”. “Warm oak, worn, 200 cm tile” is searchable. “Wood 14” is not. When you download from Locker3d, keep the CC0 note in the pack folder so you never wonder if a file was paid or public domain. License recap: CC0 textures: what you can and cannot do and the original textures license FAQ.

Do not let DCC files own the library

Blender packed .blend files, Unreal migrated assets, and Unity Library folders are caches, not the source of truth. Point materials at the master or the project copy with relative paths. After a render, purge unused images so the scene does not silently depend on a map you later rename. For packing maps into fewer textures, read PBR texture packing.

A 30-minute monthly cleanup

Delete incomplete packs (albedo only). Merge duplicate downloads. Confirm every project from the last month still opens. Re-download missing maps from the free PBR library instead of reconstructing them from a JPEG screenshot. More workflow notes live on the blog.

Frequently asked questions

Should I sort textures by category or by project?

Keep a master library sorted by material category. Copy only the packs you need into each project folder so you can archive a job without moving the whole library.

Do I need a paid catalog app to organize PBR textures?

No. Consistent folders and names are enough for most artists. Catalog apps help after a few hundred packs, but they are optional.

How should I name PBR maps so they stay linked?

Use one base name plus the map type, avoid spaces, and keep every map of a pack in the same folder.