This product is in early access with a full release planned for September 2025.
Early access means:
normalMagic is a collection of tools designed to give you full control of mesh normals. Controlling normals is essential for creating high quality artwork in a variety of situations; this can include everything from realistic hard surfaces and foliage to stylized cel shading and fur.
Sophisticated performant tools for transferring surface normals, UVs and shrinkwrapping. Automatic masking options reduce the need for manually creating vertex groups.
The projection method "Project Decal" will keep the original normals and flatten the mesh. These normals can then be blended with the underlying surfaces.
Tired of booleans producing janky normals?
Avoid them completely with "Boolean Pro": a replacement for Blender's "Boolean" modifier that transfers normals from input geometry.
Boolean Pro includes a "slice" mode in a single modifier and can mark intersection edges as sharp.
For destructively applied booleans "Repair Boolean Normals" will resolve most normal issues.
Blender 4.5+
Once purchased, you'll receive all future updates for free as and when they are released.
Older versions will remain available for download, and LTS versions of Blender will be supported for their entire lifetime.
Full documentation can be found here:
https://spaghetmenot.github.io/normalmagic/latest/
https://spaghetmenot.github.io/normalmagic/latest/install/
https://spaghetmenot.github.io/normalmagic/latest/examples/
Need Help? Have Suggestions? Join the discord: https://discord.gg/CtpZWGHFhG
Any problems, feedback or things you'd like to see covered in documentation please reach out.
Join the discord: https://discord.gg/CtpZWGHFhG
Email: spaghetmenot@gmail.com
Bluesky: spaghetmenot.bsky.social
Mastodon: mastodon.social/@SpaghetMeNot
Twitter: twitter.com/SpaghetMeN0t
Added back 'recalculate normals' edit mesh tool
Official 1.0 Release! 🥳
Add-on:
Renamed "Select Original" operator to "Select Source"
Surface Insert:
Added "Surface Normal" projection direction. This allows for looped/belt inserts.

Improved UV transfer by using projected surface position.
New Option to triangulate "blend polys".
Significantly better Boolean creation for insert meshes with more than one cutting edge.
Surface Project:
Renamed projection directions: replaced "surface" with "mesh".
Added new projection direction: "Surface Normal" Projects in the normal direction of the closest target surface.
Renamed "Amount" in normal section to "Vertex Group".
Normal Transfer:
Added "Project Target Normals" option.
Repair Bevel Normals:
Added "Sharp Bevel Edge" option for "Face Area" bevel detection.
Surface Project:
Fixed "Project Decal" normal behavior
Surface Insert:
Can limit which boundary edges cut per insert object. Vertex Group can be specified with the "Cutting Edges" setting in the "Surface Boolean" panel. This allows for holes to be cut in the surface among other things.

Output Attribute "Insert Mesh".
Fix for "float" Boolean solver sometimes reversing normals around cut.
Normal Transfer:
removed "amount" parameter, this can be done in the selection panel.
Instance Object:
Can now instance collections too.
Removed alternate catalog:
This was causing more issues than it solved. You can always edit the catalogs in the source blend file.
Mark Sharp
Added option to set custom normals.
Add-on (0.1.6):
Duplicate Instanced now works with the updated modifier layout when instancing instances.
Fix for "Transfer Materials" not being set correctly
Repair Bevel Normals:
Fixed issue when bevels exist on overlapping faces.
Boolean Pro:
When using the manifold solver and one or more inputs isn't manifold, boolean is now skipped with an error instead of the object disappearing.
Example file!
Contains 32 examples of modifiers in use.
Examples are organized into scenes:

Boolean Pro:
New "Outset" option for all operations. Allows for multiple booleans to use the same cutter object

Selection Overhaul:
The selection panel in all tools has been refactored to allow better selections of normals.
When normals are in "Face Corner" domain an additional "Face Group" selection appears to achieve hard edges.
Here is a preview of how selection works:

Smooth Normals:
Re-ordered proxy mesh smoothing to get much smoother results when also using smoothing
Added debug option to view proxy mesh
New Modifier: Sharp Edges to Attribute:
Detect sharp edges (or use arbitrary edge attribute) and store as an edge or point attribute.
Has options to expand the point attribute
Surface Insert:
Option to recalculate normals on blended section
Instance Object:
Changed "Append" toggle to an expanded menu
Added transform options when appending the instance
Fixed Modifier Category:
Modifiers are back to being under "Normal Magic" instead of "Unassigned
New Modifier: Surface Insert!

Projects, cuts & welds other meshes into surface
New Modifier: Instance Object
Instances object including all modifiers. Replaces or appends to geometry. Add-on has new operators to instance in a single click
Mark Sharp:
Added option to remove custom normals (off by default)
Re-ordered Convex/Concave angles (Convex is on top now)
Repair Mirrored Normals:
Added option to mirror normals based on axis and origin
Added option to recalculate normals at the center of meshes
Add-on (0.1.4):
Added new "Instance" Panel to produce 1 click instances of objects

Minor bugfixes and improvements
Documentation Site:
Very WIP/unfinished but I'll be updating pretty rapidly over the next 2 weeks: https://spaghetmenot.github.io/normalMagic/latest/
Add-on available! Early access users get for free.

Easily create Boolean Pro modifiers from object selection
Boolean Pro:
Fixed multiple edge-cases of incorrect normals
Added Solid/Surface option for solver options. "Surface" will delete all new faces created by the boolean
Fixed Normals on inset piece in "Slice mode"
New Modifier: View Sharp
Displays sharp edges of models, can detect un-marked sharp edges from normals. Still needs tooltips
New Icons:
For "Auto-Flip Faces", "Weighted Normals", "Repair Bevel Normals" & "View Sharp"
Boolean Pro:
Removed unlinked mesh object
No longer "shades flat" when no boolean meshes are supplied
Changed method of normal transfer, can now handle much smaller faces
Weighted Normals:
Significantly improved algorithm, less artifacts.
Added option to 'match surrounding faces' for normals on the edge of selection
Smooth Normals:
Added selection section
Auto-Flip Faces:
Increased tolerance to find flipped faces and exposed setting as "hit rate"
New Modifier: Repair Bevel Normals
Use after a bevel modifier on a mesh with custom normals.
On the bevel modifier check "Face Strength" to "All" or "Affected" for best bevel detection
New Modifier: Repair Mirror Normals
Use to fix custom normals on geometry that has been mirrored or has negative scale
First Tool: Recalculate Weighted
First Edit mesh tool wrapper: weighted normals, more of these to follow!