Manual Split Normals in Blender for Game Models

Custom vertex normal splits allow technical artists and game developers to precisely control surface shading on low-poly assets without adding extra geometry. By manually defining how vertex normals split across sharp edges or polygon boundaries, you eliminate harsh shading artifacts, bake cleaner normal maps, and produce crisp stylized or hard-surface looks in game engines. This guide covers the complete manual workflow for setting up, adjusting, and exporting custom split normals in Blender.


Step 1: Enable Custom Normal Support

Before manually altering vertex normals, you must prepare the mesh to retain custom vector data:

  1. Select your low-poly object in Object Mode.
  2. Right-click and choose Shade Smooth.
  3. In Blender versions prior to 4.1, navigate to the Object Data Properties (green triangle icon) > Normals section and check Auto Smooth.
  4. In Blender 4.1 and newer, Auto Smooth is applied via geometry node modifiers or by right-clicking the mesh and selecting Shade Auto Smooth, which automatically initializes custom split normal data layers.

Step 2: Enable Normal Visualizers

To see the directional split vectors while working:

  1. Switch to Edit Mode (Tab).
  2. Open the Viewport Overlays dropdown (top-right of the 3D Viewport).
  3. Scroll to the bottom under the Normals section.
  4. Click the third icon (Display Split Normals) and increase the size slider so you can clearly see the split vectors emanating from each vertex loop.

Step 3: Manually Splitting and Editing Normals

Blender provides dedicated normal manipulation tools accessible via the Mesh > Normals menu or the shortcut Alt + N.

1. Splitting Normals

To force adjacent faces to calculate lighting independently at a shared boundary:

  • Select the edges or vertices where you want a hard transition.
  • Press Alt + N and select Split.
  • The single vertex normal will divide into individual vectors for each connecting face corner (loop).

2. Pointing Normals to a Target

Useful for foliage, bevel tricks, or hard-surface panels:

  • Select the target vertices.
  • Press Alt + N > Point to Target.
  • Click a specific vertex or location on the screen, or choose Set from Faces to match the vector of adjacent geometry.

3. Rotating and Vector Alignment

  • Select the vertices whose shading you want to tweak.
  • Press Alt + N > Rotate Normals (or press R after triggering the normal tool) to manually rotate the normal orientation in 3D space.
  • To make a surface reflect light flatly (useful for hard-surface chamfers), select the face and choose Alt + N > Set from Faces.

4. Copying and Pasting Normal Vectors

  • Select a single source vertex loop with the desired normal angle.
  • Press Alt + N > Copy Vectors.
  • Select the target vertices and press Alt + N > Paste Vectors.

5. Averaging Vectors

If you need smooth continuity across selected boundary points:

  • Select the relevant geometry.
  • Press Alt + N > Average > choose Average Face Area, Average Corner Angle, or Average Fan.

Step 4: Exporting Custom Normals to Game Engines

When exporting your asset to formats like FBX or OBJ for Unreal Engine, Unity, or Godot:

  1. Go to File > Export > FBX (.fbx).
  2. In the export settings sidebar, expand the Geometry section.
  3. Set Smoothing to Face or Normals Only.
  4. Check Export Custom Normals (or verify that custom normal data is preserved).
  5. In your game engine's import settings, set the normal import option to Import Normals or Import Normals and Tangents rather than "Calculate".