In brief
- Material Parameter Collections store scalar and vector parameters that materials can access in common.
- A collection can contain up to 1024 scalar and 1024 vector parameters.
- A material can reference up to two different Material Parameter Collections.
- You can change a sample value in Blueprint with Set Scalar Parameter Value and Timeline.
What will you learn in this guide?
Instead of changing a value separately in many materials across a scene, you can define it once in a shared collection in Unreal Engine. A Material Parameter Collection (MPC) stores scalar and vector parameters that materials can access. Changing a value in the collection therefore updates all materials that use it.
In this guide, we’ll follow the example from Unreal Engine’s 4.27 documentation to create an MPC. We’ll then use a scalar parameter from the collection to control the color saturation of a simple material, and finally use Blueprint and Timeline to change the value during gameplay. The example shows how to manage a material property from a shared control point; the same approach can also be used for scene-wide effect values such as snow, destruction, or wetness, as noted in the documentation.
Requirements
Software and version: This walkthrough is based on the workflow in Epic Games’ Unreal Engine 4.27 documentation. Don’t assume the menus or interface are identical in other versions.
Project content: You’ll need an Unreal Engine project, a material, and objects to which that material can be applied.
Blueprint step: Use the Level Blueprint if you want the value to change during gameplay. You can skip the Blueprint step if you only want to test the collection and material connection.
Account and hardware: The source documentation does not specify any special account or hardware requirements for this process.
1. Create a Material Parameter Collection
Right-click in the Content Browser to open the creation menu. Under Materials & Textures, click Material Parameter Collection. Give the new asset a descriptive name; Epic’s example uses MPC_Global_Material_Prams.
Double-click the collection to open it. Use the add button on the Scalar Parameters row to create a scalar parameter, and name it Global_Desaturation. Leave its default value at 0.0. A scalar parameter holds a single numeric value, while the collection can also store vector parameters. We’ll use only a scalar parameter in this example.
It’s important to choose consistent parameter names from the start. According to Epic’s documentation, renaming a parameter can leave the material connection that uses it intact, but you may need to update Blueprint references that use the parameter by name.
2. Connect the collection value to a material
Create a new material or open an existing one. The example uses a simple material with parameter nodes for Base Color, Metallic, and Roughness. Connecting these nodes to the corresponding material inputs makes it easier to change the base color in the next step.
Add a Desaturation expression to the material graph. Then drag the MPC asset from the Content Browser into the graph; this adds a node that accesses the collection parameter. Make the connections in this order:
Connect the Base Color output to the first input of the Desaturation node.
Connect the collection parameter output to the Fraction input of Desaturation.
Connect the Desaturation output to the main material node’s Base Color input.
Click Apply on the material.
After applying the material to objects in the scene, open the MPC and change the Global_Desaturation value between 0 and 1. Changing the value affects the appearance of objects that use this material. In the source example, objects that appear blue at a value of 0 turn white when the value reaches 1.
3. Change the value with Blueprint and Timeline
Manually changing the value is enough to verify the connection. To trigger the effect during gameplay, open the Level Blueprint. The components used in Epic’s example are a left mouse button press event, a Timeline, a Set Scalar Parameter Value node, and a float variable named Des.
Select the MPC to use in the Collection input of the Set Scalar Parameter Value node. Set Parameter Name to Global_Desaturation. This lets the Blueprint update the correct value in the collection.
Open the Timeline and add a Float Track. Create two keys on the track: set the first key’s time and value to 0, and the second key’s time and value to 1. You can name the track Des_Amount. In the Blueprint graph, connect the Timeline output to the flow that sets the collection value; make the effect progress when the mouse button is pressed and reverse when it’s released. The source example shows the materials turning gray while the left mouse button is held and returning to their original colors when it’s released.
Compile the graph with Compile and run the project. If you don’t see a change, first check that the material is applied to the right objects, that the material graph has compiled, and that the correct collection and parameter name are selected in the Blueprint.
What does this offer architectural visualization workflows?
In architectural scenes, managing the same material property through a shared parameter instead of applying it separately to many objects is useful, especially for values that need to change across an entire level. Effects such as snow, destruction, and wetness—which Epic uses as examples—are scenarios where multiple materials can use the same data. The saturation example here is a simple starting point that demonstrates how to set up the connections.
This approach requires keeping track of which materials in the scene reference the collection. Each material can reference up to two different MPCs, while a single collection can hold 1024 scalar and 1024 vector parameters. Changing the number of parameters in a collection causes materials that reference it to recompile. It’s therefore useful to plan the collection structure in advance if you expect to add many parameters. The documentation also notes that updating MPC values is more efficient than adjusting parameters separately across many material instances.
Common mistakes
Mismatched parameter names: The name selected in the material or Blueprint must match the name in the collection. Renaming a parameter can break the Blueprint connection.
Connecting to the wrong node: In this example, the collection output goes to the Fraction input, and the Desaturation output goes to Base Color.
Not compiling changes: Click Apply for the material and Compile for the Level Blueprint.
Putting everything in a single collection without limits: Keep the per-collection parameter limits and the two-collection-per-material limit in mind. Account for the possibility that increasing the parameter count later may require materials to recompile.
Next steps
First, verify the connection with just one collection parameter and one material. Then add other materials that use the same MPC to observe the scope of a single value change. For Blueprint, use the Timeline approach from the example as a starting point and define parameters to suit the needs of your scene. Give parameters descriptive names and keep track of which collections materials reference in your project.
Source and license
This guide is adapted into Turkish from Epic Games’ Material Parameter Collections documentation for Unreal Engine 4.27. The source is marked as freely licensed in the supplied content information. The example workflow and connections have been rewritten, and the explanations adapted to the architectural visualization context.
Sources
1 sourceSource texts are not republished; short quotes are marked, everything else is our own summary and commentary.
The main practical benefit of an MPC is that it reduces the need to update the same property individually across many materials. For architectural visualization teams, managing scene-wide effects from a shared point can make setups more organized, especially when material adjustments need to be repeated. The Blueprint step makes this control adjustable during gameplay or an interactive presentation.
For offices and students in Turkey, fitting into the existing project structure and planning parameters correctly matter more than the initial cost. The source does not specify hardware requirements, and it’s best not to assume unmeasured performance gains. Before using this workflow based on the Unreal Engine 4.27 documentation in other versions, check interface and project compatibility, and account for the fact that changing the number of parameters may trigger material recompilation.
Frequently asked questions
What is a Material Parameter Collection in Unreal Engine used for?
It stores scalar and vector parameters that materials can access in common. Changing a value in the collection lets you control all materials that use it together.
How many parameters can a Material Parameter Collection contain?
According to Epic’s Unreal Engine 4.27 documentation, a collection can contain up to 1024 scalar and 1024 vector parameters.
Can you change a Material Parameter Collection with Blueprint?
Yes. The source example shows how to change a scalar value during gameplay using the Set Scalar Parameter Value node and a Timeline in Blueprint.



