Set Material Parameter don't work in packaged games

Yeah with Dynamci Material works, the other way works too but only in editor, so what is the point in add content to the engine that don’t works ?

Actually what you posted is from the get node, I’m not using that, but the set nodes only.

https://github.com/EpicGames/UnrealEngine/blob/f794321ffcad597c6232bc706304c0c9b4e154b2/Engine/Source/Runtime/Engine/Classes/Components/MeshComponent.h#L108-L118

As second point this is from 4.16, but 4.15 have same node and no comments…

As last point, someone set a Vector3 node where should be a FLinearColor

No, the node I posted DON’T WORK IN THE CONSTRUCTOR IN A PACKAGED 32 bit build

Anyway this is a bug report, as is not a deprecated or removed node, don’t see the point you have to explain me at all why this work or not if is Epic Games who actually have to fix this or report this.

You’re not from Epic Games from what I see, why I should mark this as fixed, when is not fixed.

Are you in the version 4.15 ?

If you add a mesh to your Blueprint and select it from Get node and call the “Set Vector Parameter Value On Material” add this node, it have 3 inputs, A. The mesh. B. The Name of the parameter. C. A Vector3.

This node work in editor if you add it to the construct of some blueprint with instance material and mesh But don’t work in the packaged game.

If you add a mesh aswell to your Blueprint or use the before one and now add a node called Create Dynamic Material, and make a new var from the output material.

Then call the var of the material call the same node now for texture that is Set Vector Parameter Value, the inputs are 3: A. The mesh. B. The Name of the parameter. C. COLOR INPUT. If you set this ones and then apply material to the mesh then this works in packaged and editor. And why the 2 nodes that actually do the same have different inputs…

Who said they added this type of content to the engine? Just a small reminder:
There is a lot of deprecated code in the engine. However, you can’t just delete old code without telling others that something changed, so if other people upgrade to a newer version, they can easily exchange the code and read what has changed. There is and there will never be an automation process that does this job.

Furthermore, the get node also describes why using this method is not reliable.

Also, the node works in a cooked project if you use it in your constructor. However, you are probably trying to change this variable in runtime and this is not working as you need an MID to change Materials in runtime.

The only thing that might be confusing is that someone didn’t put the comment before the actual Set function. But you can’t brag about such a simple line swap in a game engine with 4325923459523 lines of code.

If you have nothing to add or want to make a pull request to change the comment, please go ahead, otherwise don’t forget to mark the question as resolved for tracking purposes. <3

I’m just here to tell you why the function is still there. You can fill in a bug report or make a pull request, if you still think it’s a bug or you can wait for an Epic Staff. I really don’t mind if you don’t listen to what I say.

I just compiled the constructor version with Set Vector Parameter Value On Material (input: A. The mesh. B. The Name of the parameter. C. A Vector3) 32 and 64 bit for windows, so I can’t reproduce your issue.

Yes,

4.16.1: 32 bit and 64 bit

And

4.15.3: 32 bit and 64 bit

In the Constructor, this function works, obviously not in runtime in tick for example, because you need that MID anyway.

But you need someone with a STAFF sign in front of his name, but in the end, he will mark my question as resolved, so I don’t bother anymore :3