How to Edit Post Process Material Parameter

I’m using a Post Process Material (Click here for an example) to adjust the in-game Gamma. I would like to give the player the option to adjust the Gamma (like a slider). The only problem I’m having is I have no idea on how to edit a post process material’s parameters. I know how to do this for regular materials, but that method doesn’t seem to work for post process materials. I cannot find out how to obtain a dynamic instance of the material, so I can edit it using Blueprints. Any help is greatly appreciated. I’ll post a picture of the material.

First add a PostProcessComponent to your character.


What we are doing here?

So, we add a postprocesscomponent to my character.
Then on The Begin Play event we create a new Dynamic Material Instance and we store it in the variable MYPPMAT (My PostProcess Material).
After that we set the component to unbound and then we assign the new material instance to postprocesscomponent settings.
On the key event P and M we get a reference to material and we read the scalar parameter name value of “Gamma” and we add/subtract 1, after that we set the new value.

Surely exists some better solution. You are free to find it.

That did the trick. Thanks a lot. I didn’t even know you could add a post process to the character.

Trying to do the same thing in 4.10 (creating a dynamic blendable material instance) and I get the following warning from my “Make Post Process Settings” node:
“Warning Blendables - the native property is not tagged as BlueprintReadWrite, the pin will be removed in a future release”

So, how do we change blendable parameters on the fly, then?

Yeah, I get that same error too - which also prompts a crash of the engine, every time.

+1 over here. What to do without the Blendables-node?


+1 Is there any solution?

You need to use “Add or Update Blendable” node

How do you make a blendable object from a material instance dynamic?

Hey Xnihil0zer0, any luck with this? I’ve come back around to this problem and I’m stuck in the same place.

Nevermind, I’ve got it. For anyone else who’s wondering, this (recently updated?) doc covers it.

Thank you! @Ignisor

Hi. This pin was removed.
You should now do the following>
Make WeightedBlendable from the Dynamic Material Instance
Make Array from the result
Make WeightedBlendables from the result
Pass it as “Post Process Materials” to Make PostProcessSettings


In 4.16 there is a warning “The native property is not tagged as BlueprintReadWrite, the pin will be removed in a future release.”

Thanks @benT9 . I went the long way around for that nugget of info :slight_smile:

Is there any way that someone could help me in doing this? I don’t understand how or where the “PP_MYPPMATERIAL” was created, and same for the variable “MYPPMAT”. I need this for a school project so any assistance helps a lot.