Set Scalar Parameter Value not working in Shipping Configuration

I am having issues with the node Set Scalar Parameter Value not firing when running in Shipping configuration.

Windows 11, UE 5.4
Post Process Materials.

I create some dynamic material instances at application start that i use for post processing throughout the entire game. These get created, then added to a structure that stores a reference to all of them and that structure is a member of the game instance.

When entering a gameplay level, the post process volume for that level is retrieved, then the existing dynamic materials are made into a weighted blendables array for that post process volume and added.

Throughout gameplay, different things will trigger a call to a blueprint function within the game instance i wrote called SetGlobalShaderScalar(Name, Value) where inputs are a Name and a float. It then sets the Scalar Value on all the Dynamic Material Instances within my structure.

Currently, the parameters are being set correctly when running in the following configs

Editor Selected Viewport
Editor Play In Editor
Editor Standalone
Windows Build Debug Configuration
Windows Build Development Configuration

The paramters are NOT being set correctly when running in the following configs

Windows Build Shipping

To clarify, the parameters are always using the default values when in the shipping build (as far as i can tell)

My hunch is something to do with the optimizer being too aggressive? The Post Process dynamic material effects I am toggling would essentially do nothing unless the scalar parameters were to be changed at run time since their defaults all lead to code paths that don’t do anything

Any insight would be helpful! Thanks!

I am still having this issue.

Set Scalar Parameter on a Dynamic Material Instance (Post Process) does not work in Shipping Configuration when packaged. It does work in editor

I “solved” the issue, as in I found the source of the problem and was able to avoid that. The calls to Set Scalar Parameter Value were being done through a simple interface (not unreal engine interface) that was a Blueprint Function Library. i removed the BPFL and did the calls directly and found that they would function correctly outside of editor. There is something implicit happening when redirecting through the BPFL that is not obvious, i’m not sure if it would be considered a bug or rather that I was using BPFL incorrectly, but the current implementation allows for Set Scalar Parameter Value to be called thru BPFL in all builds except the packaged one.