Unreal Engine 5 Guide
The ultimate PBR textures for creative professionals
Import Process
Drag and drop your 4K and 8K PBR maps directly into the Content Browser. For optimal streaming, disable Mip Generation during initial import and enable sRGB only on the Base Color channel.
Configure Texture Groups
Navigate to Edit > Project Settings > Engine > Texture Groups. Assign your imported assets to the "Game" group to ensure default streaming distances align with UE5's virtualized lighting pipeline.
Set Compression Settings
In the Import Options dialog, select BC7 for Base Color and Normal maps. Use BC5 for Roughness and Metallic channels to preserve alpha precision without bloating the GPU memory footprint.
Manage Mipchains
Keep Generate Mips enabled for world-space assets. Set the Maximum Size to 4096 for hero props and 2048 for foliage to balance visual fidelity with hardware constraints.
Material Setup
Build physically accurate surfaces by connecting your imported maps to the PBR material graph. TextuurHaven's maps are pre-calibrated for UE5's default lighting model and Nanite compatibility.
Connect PBR Channels
Route Base Color to the Base Color output. Hook up the Normal map to a Normal mode node before connecting to the Normal output. Ensure Roughness and Metallicity are packed correctly or separated according to your shader requirements.
Enable Virtual Textures
For large-scale environments, switch your material domain to Surface and enable Virtual Texture sampling. This allows UE5 to stream high-resolution albedo and normal data directly from disk without traditional mipmapping.
Calibrate Roughness
Apply a Linear to sRGB conversion node if your roughness map was authored in linear space. Most TextuurHaven assets are pre-converted, but verify the histogram in the Material Editor to prevent overly glossy surfaces.
Optimization
Maintain stable frame rates in complex scenes by fine-tuning streaming pools and material complexity. Follow these benchmarks for shipping titles and large-scale environments.
Adjust Streaming Pool Size
Open Console Variables and set r.Streaming.PoolSize to 512 for 16GB systems or 1024 for 32GB rigs. Monitor GPU memory usage in the Unreal Insights profiler to prevent texture popping during camera pans.
Reduce Material Instances
Consolidate similar surfaces using Material Instance Constants. Replace unique materials with parameterized variants to lower draw calls and keep the GPU shader cache efficient during runtime.
Leverage Nanite Compatibility
When using Nanite meshes, disable custom UV channels and limit texture sampling to the base material. Nanite handles tessellation dynamically, so pre-baked AO maps can often be removed to save memory.