In brief
- A Material Parameter Collection stores scalar and vector parameters in a separate asset.
- A material can reference up to two different Material Parameter Collections.
- Collection values are updated consistently across the materials that use them.
- Collection parameters can be changed with Blueprint or keyed in Sequencer.
What you'll learn in this guide
When multiple materials in the same Unreal Engine scene need to respond to a shared value, you can use a Material Parameter Collection (MPC) instead of changing that value separately in each material instance. The collection stores scalar and vector parameters in an asset separate from the materials. Materials linked to the collection can then use its shared values; when you update a collection value, the change is reflected in the materials that use it.
This guide walks through creating a collection, connecting it to a material graph, and managing its values with Blueprint or Sequencer. One possible use case is controlling the emissive values of multiple materials in a scene with a single scalar parameter. This approach makes shared settings easier to edit; it does not manage every property of each material on its own.
Requirements
Work in Unreal Engine using Content Browser, Material Editor, and Blueprint. You’ll need a basic understanding of creating materials to use a collection in one. Users who want to animate the parameter on a timeline should also have a basic understanding of Sequencer and material creation. The source guide for Sequencer was prepared for Unreal Engine 4.27; check that the interface and workflow are compatible with your project version.
The sources do not specify any special account, cost, or hardware requirements for this process. We’ll use emissive control in the example, but you can add another scalar or vector value to a collection using the same general method. Choose a parameter name when creating it, then use that same name in the following steps. The key is to select the correct collection in the material graph and connect the Collection Parameter node to the target parameter.
Step by step: Create a collection and connect it to a material
Create the collection asset. Right-click in Content Browser. From the Material submenu in the Create Advanced Asset section, select MaterialParameterCollection. Give the asset a descriptive name; for example, use
MPC_GlobalParamsif it will hold scene-wide values.Add a parameter. Double-click the asset to open it. Create a new parameter by clicking Add Element (+) in the Scalar Parameters or Vector Parameters section. Add a scalar parameter for a single-value control, or a vector parameter when the control requires a vector value. Name parameters according to their purpose; for example, you could call a scalar that controls emissive intensity
EmissivePower. Set its initial value in this panel as well.Call the collection in the material graph. Open a material and right-click in the Material Graph area, then search for “collection”. Add a Collection Parameter node. In the Collection dropdown in Details Panel, select the MPC you just created; in the Parameter Name list, select the parameter you added. The material will then get the relevant value from the collection asset.
Connect the parameter to the material calculation. Connect the output of the Collection Parameter node to the part of the graph that uses the material property you want to control. For example, to manage the emissive value, use the collection’s scalar in the emissive calculation. How you make this connection depends on your material graph; the example in the source guide controls the value of an emissive surface through a collection.
Save and test with multiple materials. Save the material and wait for it to compile. Use the relevant node and parameter in other materials that reference the same collection. Then change the value in the collection asset. Materials linked to that collection are affected by the shared update, reducing the need to change the same setting separately in Material Instances.
Control with Blueprint and Sequencer
To change a collection value at runtime, use the Set Scalar Parameter Value node in the Level Blueprint. Select the relevant collection and parameter in the node, then set the parameter value in the flow you want. In the official example, keyboard events are connected to this node: key press and release events can set different values. This illustrates how the method works; in a production project, inputs should be set up to fit the project’s own control flow.
If the value needs to change over time, click + Track in Sequencer and select the Material Parameter Collection asset. Use the + Parameter button on the track to add the parameter you want to animate. A keyframe is created for the parameter at the current time position. You can edit and key the scalar value on the track; for a vector parameter, double-click the keyframe to open the color picker. This lets materials using the same collection change through a shared parameter, rather than animating individual material channels one by one.
Common mistakes and things to watch out for
Selecting the wrong collection in the material graph or failing to match the parameter name correctly in the list can prevent the expected shared control from working. First check the Collection Parameter node selection, then its connection, and finally the parameter value in the collection. A material can reference up to two different Material Parameter Collections, so account for this limit when organizing a scene. Each collection can contain up to 1024 scalar and 1024 vector parameters.
Changing the number of parameters in a collection causes materials that reference it to recompile. Planning the parameters you need in advance, rather than repeatedly adding and removing them, can make the workflow simpler. Renaming a parameter also requires care on the Blueprint side: materials that use it will continue to work, but you’ll need to reassign the corresponding parameter name in Blueprint.
Think of an MPC as a way to separate shared, scene-wide values from settings specific to a material instance. If each object needs a different value, don’t assume a single shared parameter will automatically distinguish values per object. The strength of a collection is that it makes a shared value available to multiple materials. The source guide also states that updating values through a collection is more efficient than setting many different Material Instance parameters individually; this is not a performance guarantee for specific hardware.
What does this offer for architecture and archviz workflows?
In architectural visualization scenes, grouping surfaces that need to share a control around a single parameter can reduce repetitive edits during iteration. For example, a collection can manage a shared emissive, color, or other scalar/vector value across a group of scene materials; the property used depends on the connection set up in the material graph. With Sequencer, parameter values can be keyed on a timeline; in Blueprint, values can be changed by events in the flow.
That said, it’s useful to decide early in the project which values to put in a collection and which materials will use it. Changing the number of parameters can cause materials to recompile; renaming one may require additional fixes to Blueprint connections. The sources specify no special licensing or hardware requirements. The project team should verify the Sequencer workflow in the Unreal Engine version it uses and move only values that genuinely need shared control into an MPC.
Next steps
Start with a small test using a single scalar parameter. Connect it to two different materials, then change the collection value to verify the shared update. Next, try setting the same parameter through Blueprint or keying it in Sequencer. If you need a vector parameter, test the keyframe editing workflow with the color picker as well.
Use parameter names consistently throughout the project, and review any Blueprint connections before changing names used by Blueprint. As the number of materials or the scope of parameters grows, keep the number and purpose of collections organized; check that no single material exceeds the two-collection limit.
Sources and licensing
This guide has been adapted using original wording from Epic Games’ Unreal Engine documentation on Material Parameter Collections, the Material Parameter Collection Sequencer track, and Material Parameter Expressions. The source records list the license as “free”; because no specific license type is provided, the source sentences have not been quoted directly.
Sources
3 sourcesSource texts are not republished; short quotes are marked, everything else is our own summary and commentary.
For architecture firms and visualization teams in Turkey, the practical value of an MPC is that they don’t have to repeat the same scene setting across multiple materials. It can make edits more consistent, especially in scenes that need shared color or emissive controls; the Sequencer and Blueprint options also work with different presentation workflows.
However, this feature isn’t a way to speed up render hardware on its own. Planning parameters and linked materials in advance reduces the risk of compile requirements and Blueprint renaming issues. Since the sources don’t specify any additional costs or hardware requirements, teams should test Sequencer compatibility in their own Unreal Engine version.
Frequently asked questions
What is Unreal Engine Material Parameter Collection used for?
It stores scalar and vector values in an asset separate from materials. Multiple materials that reference the collection can receive shared value updates.
How many Material Parameter Collections can a material use?
A material can reference up to two different Material Parameter Collections.
Can Material Parameter Collection values be animated in Sequencer?
Yes. You can add a collection track in Sequencer, select a parameter, and change its values with keyframes.



