uv-mapping
🧠 Brains complement: IF an
unreal-engine-skills-managertool (external MCP) exists in this session, call it with{action: "load", skill: "meshes-static-and-skeletal"}for UE domain knowledge on this topic — correct APIs, architecture, best practices — and treat it as the rubric for any review / "best practices" question. If no such tool is available (e.g. running under Claude Code or Codex without that MCP), skip this line entirely and proceed with this skill alone — do NOT attempt the call.
UV Mapping Skill
UVMappingService provides automation-grade UV channel manipulation for StaticMesh assets in UE 5.7+. The service is built around mesh-description editing and post-build commits — every mutation marks the package dirty and rebuilds render data, but does not save. Follow with unreal.EditorAssetLibrary.save_asset(mesh_path) once you finish a batch.
When NOT to Use This Service
UV transforms are the wrong tool for fixing a tiling material that looks bad on a basic shape (cube, sphere, cylinder, cone). Symptoms that say "this is not a UV problem":
- "The bricks face the wrong way on this face."
- "The bricks tile fine on the side but look stretched on the cap."
- "It tiles correctly on one shape but not another with the same material."
These are material-orientation problems, not UV-layout problems. A single 2D UV transform can't satisfy multiple face orientations on a 3D shape — whichever projection you pick, at least one face will be wrong. Reach for one of these instead:
- Per-actor child Material Instance with
Tilingoverridden. If the parent material exposes aTilingscalar (MegascansM_MS_Srfdoes), create a child MI with the right multiplier and assign it to the specific actor. The mesh keeps its stock UVs. - World-aligned / triplanar material. A material that samples textures projected from world axes and blends by world normal. Every face on every shape shows correctly oriented bricks at the right size, regardless of mesh UVs. UE provides
/Engine/Functions/Engine_MaterialFunctions02/Texturing/WorldAlignedTextureandWorldAlignedNormalfor this.