Material & VFX Workflow
Materials
Inspect Before Edit
Always run material_inspect before editing an existing material to understand:
- Current expression graph structure
- Existing connections and parameters
- Texture references and shader stats
- Parent chain (for Material Instances)
Creating Materials
material_edit(operation="create_material", material_path="/Game/Materials/M_MyMaterial")
Material Workflow
search_assets with class_names=["Texture2D"] — find textures
material_edit with create_material — create base material
material_edit — create parameters (scalar, vector, texture) and expressions
material_edit — wire expressions to material properties (BaseColor, Roughness, Metallic, Normal, Emissive, etc.)
material_edit with recompile_material — compile
material_inspect — verify graph, connections, parameter setup
Material Instances
Create instances that inherit from a parent material and expose parameter overrides without recompiling the parent shader.
Material Functions
Reusable expression subgraphs that can be shared across materials.
Material Parameter Collections
Global parameter sets accessible from any material — useful for time-of-day, weather, global tinting.
Pin Name Resolution
material_edit auto-retries single-input pin name resolution — passing empty to_input_name for single-input nodes (Sine, Cosine, Abs, Normalize) is the canonical form.
Niagara VFX
System Architecture
- NiagaraSystem — top-level container with emitters
- NiagaraEmitter — particle behavior (spawn, update, render)
- NiagaraScript — reusable module graphs
Workflow
niagara_inspect — read-only system inspection (emitters, modules, parameters, renderers)
niagara_edit — create/modify systems, emitters, user parameters, renderers
niagara_script_edit — author reusable NiagaraScript module graphs (custom particle behavior)
Spawning Niagara in Blueprints
Use function_call with SpawnSystemAtLocation from /Script/Niagara.NiagaraFunctionLibrary:
- Pin defaults:
SystemTemplate (asset path), Location (vector), Rotation (rotator), Scale (vector)
Chaos Destruction
chaos_edit handles Geometry Collections:
- Fracture geometry into pieces
- Clustering (how pieces group)
- Damage thresholds (when things break)
- Physics properties for debris
Curve Assets
ramp_authoring creates:
UCurveFloat — scalar curves (falloff, opacity over time)
UCurveVector — vector curves (position paths, wind)
UCurveLinearColor — color gradients (material ramps, VFX color over life)
Author the curve FIRST, then reference its path from the consumer (material, Niagara module, widget animation, etc.).
Procedural Audio
metasound_edit — MetaSound graph authoring:
- Oscillators (sine, saw, square, noise)
- Filters (low-pass, high-pass, band-pass)
- Envelopes (ADSR)
- Mixers and gain
- Sample players
sound_asset_edit — traditional audio:
- SoundCue graphs (attenuation, random, modulator, mixer nodes)
- SoundClass hierarchy
- SoundAttenuation curves and spatialization settings
PCG (Procedural Content Generation)
pcg_graph_edit — PCG graph authoring:
- Point generators and samplers
- Filters and density operators
- Mesh spawners with typed pin wiring
- Landscape-aware placement
1---2name: material-vfx3description: Material authoring and VFX workflow for the Flopperam Unreal Engine MCP. Covers material creation, expression graphs, Niagara particle systems, Chaos destruction, and curve assets. Use when creating materials, material instances, Niagara systems, destruction effects, or procedural audio.4---56# Material & VFX Workflow78## Materials910### Inspect Before Edit11Always run `material_inspect` before editing an existing material to understand:12- Current expression graph structure13- Existing connections and parameters14- Texture references and shader stats15- Parent chain (for Material Instances)1617### Creating Materials18```19material_edit(operation="create_material", material_path="/Game/Materials/M_MyMaterial")20```2122### Material Workflow231. `search_assets` with `class_names=["Texture2D"]` — find textures242. `material_edit` with `create_material` — create base material253. `material_edit` — create parameters (scalar, vector, texture) and expressions264. `material_edit` — wire expressions to material properties (BaseColor, Roughness, Metallic, Normal, Emissive, etc.)275. `material_edit` with `recompile_material` — compile286. `material_inspect` — verify graph, connections, parameter setup2930### Material Instances31Create instances that inherit from a parent material and expose parameter overrides without recompiling the parent shader.3233### Material Functions34Reusable expression subgraphs that can be shared across materials.3536### Material Parameter Collections37Global parameter sets accessible from any material — useful for time-of-day, weather, global tinting.3839### Pin Name Resolution40`material_edit` auto-retries single-input pin name resolution — passing empty `to_input_name` for single-input nodes (Sine, Cosine, Abs, Normalize) is the canonical form.4142## Niagara VFX4344### System Architecture45- **NiagaraSystem** — top-level container with emitters46- **NiagaraEmitter** — particle behavior (spawn, update, render)47- **NiagaraScript** — reusable module graphs4849### Workflow501. `niagara_inspect` — read-only system inspection (emitters, modules, parameters, renderers)512. `niagara_edit` — create/modify systems, emitters, user parameters, renderers523. `niagara_script_edit` — author reusable NiagaraScript module graphs (custom particle behavior)5354### Spawning Niagara in Blueprints55Use `function_call` with `SpawnSystemAtLocation` from `/Script/Niagara.NiagaraFunctionLibrary`:56- Pin defaults: `SystemTemplate` (asset path), `Location` (vector), `Rotation` (rotator), `Scale` (vector)5758## Chaos Destruction5960`chaos_edit` handles Geometry Collections:61- Fracture geometry into pieces62- Clustering (how pieces group)63- Damage thresholds (when things break)64- Physics properties for debris6566## Curve Assets6768`ramp_authoring` creates:69- `UCurveFloat` — scalar curves (falloff, opacity over time)70- `UCurveVector` — vector curves (position paths, wind)71- `UCurveLinearColor` — color gradients (material ramps, VFX color over life)7273**Author the curve FIRST, then reference its path from the consumer** (material, Niagara module, widget animation, etc.).7475## Procedural Audio7677`metasound_edit` — MetaSound graph authoring:78- Oscillators (sine, saw, square, noise)79- Filters (low-pass, high-pass, band-pass)80- Envelopes (ADSR)81- Mixers and gain82- Sample players8384`sound_asset_edit` — traditional audio:85- SoundCue graphs (attenuation, random, modulator, mixer nodes)86- SoundClass hierarchy87- SoundAttenuation curves and spatialization settings8889## PCG (Procedural Content Generation)9091`pcg_graph_edit` — PCG graph authoring:92- Point generators and samplers93- Filters and density operators94- Mesh spawners with typed pin wiring95- Landscape-aware placement