Select all objects.
OR
This applies all modifiers (including bevel) destructively.
If you prefer manual control: Select one → Modifier tab → Apply Repeat for all (less efficient).
Select all objects. Select one last as active (it becomes the base object)
→ Ctrl + J
All objects become one mesh.
Clean-up:
A → M → By DistanceSHIFT + N to recalculate normalsNow that it's one object:
A → U → Smart UV ProjectAdapt projection method if needed for geometry.
Adjust angle limit if needed.
Open UV Editor and confirm:
If you want optimal packing: UV → Pack Islands
Switch to Cycles (baking only works in Cycles).
In Shader Editor:
NewIMPORTANT:
Leave this Image Texture node selected (highlighted).
This tells Blender where to bake.
In the Render tab (Cycles selected)
Bake.IMPORTANT:
Save the image afterward in Image Editor.
If it's not saved to disk it can be lost.
Repeat the process for Normal Map:
BakeRepeat the process for Roughness (if needed)
Create a clean Principled BSDF:
Remove all procedural nodes.
You now have a lightweight material that works in any engine.
Ctrl + A → Apply Rotation/Scale. In most cases don't apply location if your object is not an independent asset placed at world origin.
GLTF likes clean scale = 1, rotation = 0.
Game engines prefer clean transforms.
For example when a window is applying a difference boolean on a wall for easy placement
Recommended Order: