World Space UV add-on for Blender
This add-on projects mesh UVs from world-space coordinates. The default mapping is 1 Blender meter = 1 UV unit, which is useful when you want a material to keep a consistent real-world texture size across different objects.
Use this when regular UV unwraps or material Mapping node scale values make a texture appear too large, too small, or inconsistently tiled between objects.
Files
- Add-on: blender_world_space_uv_addon.py
- Panel location:
3D View > Sidebar > Tool > World Space UV - Operator:
Apply World Space UVs
What it does
For each selected mesh face, the add-on looks at the face normal and chooses a projection plane based on the dominant world axis. Then it writes UV coordinates from the vertices' world-space positions. This means the UVs are based on where the geometry exists in the scene, not on the current object scale or a hand-made unwrap.
At the default scale, a one meter span in the world becomes a one unit span in UV space. Increasing the scale makes the texture tile more. Decreasing the scale makes the texture larger.
Basic workflow
- Install and enable
blender_world_space_uv_addon.py. - Select one or more mesh objects.
- Open the sidebar with
N. - Go to
Tool > World Space UV. - Choose whether to write to the active UV map or a named UV map.
- Set
Scale. Start with1.0. - Click
Apply World Space UVs.
Settings
Scale: UV units per Blender meter.1.0means one meter equals one UV unit.Write To: chooseActive UV MaporNamed UV Map.UV Map: the UV map name used when writing to a named map. The default isWorldSpaceUV.Make Active: makes the generated UV map the active UV map.Selected Objects Only: applies to all selected mesh objects instead of only the active mesh.Selected Faces Only: in Edit Mode, applies only to selected faces.
Scale intuition
Scale = 1.0: one meter maps to one UV unit.Scale = 0.5: the texture appears twice as large.Scale = 2.0: the texture tiles twice as often.
Why this helps
Some downloaded PBR materials are authored with Mapping node scale values, such as 3, 3, 1. That can make a unit cube show a 3 by 3 texture pattern even when the cube's UVs look normal. World-space UVs move that scale decision into the mesh UVs instead: the material can stay simple, and the UVs decide how many real-world meters the texture covers.
This is especially useful for hard-surface assets, level pieces, walls, floors, crates, panels, and other objects where consistent texel density matters more than a custom hand-painted unwrap.
Limitations
- It is a projection tool, not a full unwrap tool.
- Curved surfaces may show seams or directional changes where face normals switch projection axes.
- It is best for boxy or planar hard-surface shapes.
- For characters, organic models, decals, or hand-painted textures, a manual UV unwrap is usually better.
Export notes
The add-on writes real mesh UV coordinates. Once applied, those UVs are regular Blender UVs and can be exported through formats such as glTF, assuming the exporter is configured to include mesh UV attributes.