Grix generates five PBR maps per material. Here's how to wire them up correctly in Unity (URP and HDRP) and Godot, so you get physically accurate rendering without any guesswork on channel assignments.
Unity URP — Lit Shader
In Unity with the Universal Render Pipeline, create a new Material and set the shader to Universal Render Pipeline/Lit.
Base Map (Albedo)
Drag your albedo PNG into the Base Map slot. Make sure the texture import settings have sRGB enabled (this should be on by default for color textures).
Normal Map
Import your normal map PNG. In the texture import settings, set Texture Type to Normal map — Unity will apply the correct channel conversion. Drag into the Normal Map slot on the material. Grix outputs OpenGL normal maps; Unity's importer handles the DirectX/OpenGL conversion automatically when you set the type correctly.
Metallic and Smoothness
URP uses a packed Metallic/Smoothness texture (Metallic in R channel, Smoothness in A channel). Since Grix outputs separate metalness and roughness maps, you have two options:
- Simple approach: Use the Metallic slider and Smoothness slider on the material to set constant values, or import just the metalness map into the Metallic Map slot and use the Smoothness slider set to 0 to represent 100% roughness.
- Proper approach: Pack textures manually in Photoshop or a free tool like Materialize. Put metalness in R and (1 - roughness) in A. Import with sRGB off, set Texture Type to Default.
For most game materials, using the sliders and importing just the albedo and normal map is sufficient for rapid prototyping.
Height / Parallax
Drag the height map into the Height Map slot. Enable Parallax in the material and adjust the Parallax Scale (0.02–0.05 is typical). Note: URP parallax is screen-space only — no real tessellation. For tessellation displacement, switch to HDRP.
Unity HDRP — Lit Shader
HDRP uses a packed Mask Map (RGBA) and supports real tessellation displacement.
Base Color Map
Albedo PNG → Base Color Map. Import as sRGB.
Normal Map
Same as URP — set Texture Type to Normal map in import settings, drag into Normal Map slot.
Mask Map (Packed)
HDRP's Mask Map packs four channels: R = Metallic, G = Occlusion (use white/1.0 if you don't have an AO map), B = Detail Mask (use white/1.0), A = Smoothness (which is 1 - Roughness). You'll need to pack these in an image editor. In the Grix export, convert roughness to smoothness by inverting it (1 - value), then pack as described. Import with sRGB disabled.
Displacement Map
With tessellation enabled in HDRP, drag the height map into the Height Map slot. Set Parametrization to Amplitude, adjust Min/Max values (typically -0.02 to 0.02 in world units). Enable tessellation on the material.
Godot 4 — PBR StandardMaterial3D
Godot's StandardMaterial3D supports all five maps natively:
- Albedo → Albedo Texture
- Normal → Normal Map (Godot expects OpenGL format — Grix matches this natively)
- Roughness → Roughness Texture (set Roughness Texture Channel to R or Green depending on your map)
- Metalness → Metallic Texture
- Height → Height Map (enable Height mapping in the material)
In Godot, import all non-color maps (normal, roughness, metalness, height) with Detect From Source disabled and manually set to non-color data in the import settings panel.
Key Things to Remember
Regardless of engine: only albedo uses sRGB color space. Normal, roughness, metalness, and height are data textures — import them with sRGB disabled or set to linear/non-color. Getting this wrong causes blown-out materials and incorrect lighting responses.
All Grix textures tile seamlessly. Set your UV scale in-engine to control tiling frequency — a factor of 2–4× is typical for architectural surfaces.
Start generating your material library at grixai.com.