Realtime vs offline PBR rendering is not two material systems. Both read albedo, roughness, normal, and metalness. The split is how many rays you can afford, whether displacement is live, and how large the textures can be. If you author maps once — with correct color space — you can move a Locker3d CC0 set from Unreal to Cycles without a rewrite.
What both pipelines share
Physically based shading expects energy-aware values. Albedo is the reflectance color without lighting (sRGB or ACEScg). Roughness, metalness, AO, and normal are non-color / linear. Metalness is 0 for wood, concrete, stone, and paint; 1 for bare metal. That rule does not change when you switch from rasterization to a path tracer. Primer: what PBR textures are.
Where real-time cuts corners
Games and real-time archviz (Unreal, Unity, Godot, Enscape-style tools) approximate GI with probes, Lumen, or lightmaps. They rarely run full displacement; they use a normal and maybe a cheap parallax. Texture budgets force 2K tileables and packed ORM (AO, roughness, metalness in one linear texture). Mipmaps and streaming matter. Specular AA and roughness filtering keep glittering floors under control.
- Prefer tileable CC0 floors at 2K over unique 8K islands.
- Flip normal Y if you leave Blender (OpenGL) for Unreal (DirectX).
- Do not mark ORM as sRGB.
Where offline spends the extra time
Cycles, V-Ray, Corona, Arnold, and RenderMan trace more bounces, so roughness and metalness errors are obvious. You can enable displacement from a 16-bit height, use 4K–8K on hero furniture, and keep coat, sheen, and subsurface as extra lobes. Denoisers fix lighting noise, not a baked-shadow albedo. Offline still benefits from the same clean maps; it just reveals them.
Lookdev in Blender first — apply PBR textures in Blender — then export. If Unreal looks darker, compare exposure and color management before you lighten albedo.
Ray tracing does not replace good maps
Hardware ray tracing in real-time engines narrows the gap: reflections and GI look closer to offline. It does not fix a glossy roughness of 0.05 on concrete or an sRGB normal. Keep roughness in a realistic range (most painted walls 0.4–0.8, polished stone lower, unfinished wood higher). Use the same HDRI intensity scale when you A/B engines.
One CC0 library, two outputs
Author or download at the highest resolution you will ever need, then instance down. Locker3d textures are CC0, so you may pack them for a game and keep the 4K masters for a print still. Commercial use is allowed without credit; do not claim authorship. Details: CC0 textures: what you can and cannot do. Browse the catalog and more comparisons on the blog.
Frequently asked questions
Can I use the same PBR textures in real-time and offline?
Yes, if albedo is sRGB and roughness, normal, and metalness are linear. Offline may add displacement and 16-bit height. Real-time usually packs ORM and caps at 2K–4K. The metalness values should stay the same.
Why does a material look different in Unreal and Cycles?
View transform, HDRI intensity, normal convention (DirectX vs OpenGL), and whether roughness is inverted. Fix color space and green-channel flip before you repaint maps.
Which resolution for each renderer?
Real-time: 2K default, 4K heroes, no 8K in the cooked build. Offline stills: 4K–8K on close surfaces, 2K on set dressing. Locker3d CC0 sets work for both; downsample in the engine.