Material Parameter Name Surgeon - UE5 plugin
A downloadable tool for Windows
You renamed one parameter on a master material, Glow to EmissiveBoost. Every material instance followed: the engine re-keys instance overrides by the parameter's expression GUID.
Nothing else did. Every Blueprint Set Scalar Parameter Value on a dynamic material instance, every Get, every By Info call and every mesh On Materials call still passes Glow. They compile, they run, and the pickups stop glowing. Rename a Material Parameter Collection parameter and it is louder but no better: each Blueprint that names the old one fails to compile, and you fix them one at a time.
The name is a plain name on a pin, with no reference behind it, so neither Find in Blueprints nor the reference viewer can tell which Glow calls drive this material and which drive another material that also has a Glow.
Material Parameter Name Surgeon decides that from the assets, carries the calls that belong to the renamed parameter, leaves the others alone by name, and refuses anything it cannot decide.
What it does
Finds every call in your scope that names a material or collection parameter. 60 functions in 5.8, read from the engine's reflection data: dynamic material instances, material instances, materials, collections, mesh components, landscapes and the editor's Material Editing Library. The name is read on the Parameter Name pin, on a Make MaterialParameterInfo node, or on a split Parameter Info pin.
Decides what each call drives, from the asset alone. Create Dynamic Material Instance and its Parent, walked up the instance chain to the root material. A component's slot, inherited and overridden components included. Every slot of a mesh, for the On Materials calls. The Collection pin. Member variables this Blueprint assigns, casts and reroutes.
Refuses to guess. A target it cannot decide, a name wired at runtime, a layer parameter: listed with the reason, never rewritten. One name serving two materials (a shared Make node, or a mesh whose slots hold your material and another with its own Glow): refused, because fixing one would break the other.
Knows which side of the rename you are on. Before you rename: the blast radius. After: every call still on the old name, and -Apply carries them.
All or nothing. Nothing is written while any of that is undecided or a file is read-only (not checked out). Otherwise: journal, compile to record what was already broken, rewrite, compile again, save, re-scan.
CI gate. With no target, -FailOnMismatch audits a whole folder against what each call really drives and exits 5 on any orphan. Undo byte for byte from the journal. An HTML report on every run.
Measured on our test project (Unreal Engine 5.8)
- 13 Blueprints with 21 calls, a decoy material that also has Glow, a 2-deep instance chain, a collection, and every refusal case.
- Before the rename, the blast radius: 8 calls. After renaming in the editor, 5 Blueprints still passed Glow and compiled clean; the collection Blueprint failed to compile. The folder audit exited 5 over 10 calls.
- Four refusals (an undecidable target, a shared Make node even with -AcceptUnresolved, a mesh mixing the material with the decoy, a read-only package): exit 4, every fixture file byte-identical afterwards (sha256).
- The apply carried 8 calls in 5 Blueprints; the collection apply carried 2 more, and the Blueprint that no longer compiled compiles again. A fresh process then exited 0.
- A separate editor process read every pin back from disk: carried where bound, the decoy still on Glow.
-Undorestored all 5 packages byte for byte.
Requirements
- Unreal Engine 5.8, Windows (Win64). Only 5.8 has been run.
- Run as a commandlet:
UnrealEditor-Cmd.exe <Project>.uproject -run=MPNS -Help.
Limits
It does not rename the parameter itself: do that in the material or collection editor. Blueprint assets are read; Level Blueprints inside maps, Sequencer tracks and UMG brushes are not in this version.
Full documentation: Material Parameter Name Surgeon README
More Unreal tools from the same studio: Parameter Identity Repair (the other half of a parameter rename: instances that lost their values) and MetaSound Parameter Surgeon (the same fix for MetaSound inputs). Everything else: csaf.itch.io
AI disclosure: the code and the cover art were produced with AI assistance.
| Updated | 2 days ago |
| Published | 3 days ago |
| Status | Released |
| Category | Tool |
| Platforms | Windows |
| Author | CSAF — Core Systems Asset Factory |
| Made with | Unreal Engine |
| Tags | Automation, blueprints, editor-tool, gamedev-tool, Materials, pipeline, plugin, ue5, Unreal Engine, unreal-engine-5 |
| Languages | English |
| AI Disclosure | AI Assisted, Code, Graphics |
Purchase
In order to download this tool you must purchase it at or above the minimum price of $14.99 USD. You will get access to the following files:







Leave a comment
Log in with itch.io to leave a comment.