PBR in Godot — Setting Up Materials for Game Assets
Godot 4's PBR material system is one of the most straightforward of the three major engines — and it shares the same ORM channel packing convention as Unreal, making it easy to switch between the two. This guide walks through setting up a complete PBR material from a Trumble export.
BaseMaterial3D — Godot's PBR Material
Godot 4's primary material type for 3D assets is BaseMaterial3D (also accessible as StandardMaterial3D — they're the same thing). It's a PBR material with a straightforward Inspector UI — no node graph required for standard use, just texture slots you fill in.
BaseMaterial3D supports the full PBR workflow: albedo, normal, metallic, roughness, AO, emissive, and more. It uses the same ORM packing convention as Unreal Engine (AO in Red, Roughness in Green, Metallic in Blue), which means Trumble's Unreal/Godot export preset works for both engines without any changes.
Importing Textures in Godot
Drag your texture files into the Godot FileSystem panel to import them. Godot auto-detects most texture types, but you should verify the import settings for each map type to ensure correct color space and compression.
T_Name_D — Color (sRGB)
Select the texture in the FileSystem, open the Import tab, and confirm Detect 3D is enabled and the texture is treated as a Color texture. sRGB conversion is applied automatically for color textures in Godot 4.
T_Name_N — Normal Map type
In the Import tab, set Texture Type to Normal Map. This disables sRGB conversion and enables the correct compression (RGTC/BC5) for normal data. Godot uses the OpenGL (Y+) convention — matching Trumble's Godot export.
T_Name_ORM — Linear, no sRGB
In the Import tab, ensure the texture is not treated as sRGB (set to Linear / Data). This preserves the raw greyscale values in each channel — essential for correct Roughness, Metallic, and AO values.
Connecting Maps in BaseMaterial3D
To create a material in Godot: select a MeshInstance3D node, go to the Inspector, click the Material slot, and choose New StandardMaterial3D. This opens the material properties. Alternatively, drag a texture directly from the FileSystem onto a mesh to create a basic material automatically.
The ORM Workflow in Godot
Godot's ORM section in BaseMaterial3D is designed specifically for the packed ORM texture workflow. When you enable all three sub-features (Ambient Occlusion, Roughness, Metallic) and set the texture source to ORM, Godot reads the correct channels automatically — Red for AO, Green for Roughness, Blue for Metallic — matching exactly what Trumble exports.
| ORM Channel | Map | Godot reads it as |
|---|---|---|
| Red (R) | Ambient Occlusion | Occlusion factor — darkens areas away from ambient light |
| Green (G) | Roughness | Surface roughness — 0 is mirror smooth, 1 is fully matte |
| Blue (B) | Metallic | Metal vs non-metal — 0 is dielectric, 1 is conductor |
You can also use separate textures for each channel if you prefer. In the Roughness section, there's a Texture Channel dropdown — set it to Red, Green, Blue, or Alpha to read from a specific channel of a greyscale texture. The ORM approach is more efficient, but the individual approach gives you more flexibility if needed.
GLTF Import — Godot's Native Format
Godot 4's preferred import format is GLTF / GLB. Unlike FBX (which requires a separate plugin or conversion), GLTF is natively supported and produces the most reliable import results. When a GLTF file includes embedded or referenced textures, Godot can automatically create BaseMaterial3D materials on import.
Single-file format — textures embedded
A GLB file bundles the mesh, materials, and textures into one file. Easiest for asset distribution and version control. Drag it into Godot's FileSystem and it imports everything automatically.
Multi-file format — textures referenced externally
A GLTF file references separate texture files in the same directory. More flexible for texture updates — swap a texture file without re-exporting the mesh. Keep all files in the same folder for Godot to find the references.
Exporting from Trumble for Godot
Trumble's Godot export preset outputs the same ORM convention as the Unreal preset — AO in Red, Roughness in Green, Metallic in Blue. Select the Godot preset at export time and Trumble produces three files ready for the BaseMaterial3D setup described in this guide.
Albedo / Base Color. Import as Color (sRGB). Assign to Albedo → Texture in BaseMaterial3D.
Normal map in OpenGL convention (Y+). Import as Normal Map type. Assign to Normal Map → Texture.
Packed ORM — AO in R, Roughness in G, Metallic in B. Import as Linear. Assign to ORM → Texture.