When using Vertex Interpolator node in the Material Editor, parameters that are expected to be hidden are incorrectly exposed in the resulting Material Instance.
This happens even when the parameters are not intended for user control and should remain internal to the material.
This bug was already mentioned on Unreal Engine Forum https://forums.unrealengine.com/t/vertex-interpolator-exposing-parameters-to-instance-even-if-its-not-connected-bug-or-a-feature/1805184
The bug exists in ALL Unreal Engine versions. It is quite annoying, when you build the complex Material with many material attributes, switches and expressions.
[Attachment Removed]
Hello,
Thank you for reaching out.
I’ve been assigned this issue, and we will be looking into this Vertex Interpolator behavior for you.
[Attachment Removed]
Hello,
Based on the comments in “FHLSLMaterialTranslator::TranslateMaterial()” from HLSLMaterialTranslator.cpp, the behavior you are observing looks expected.
A comment above the code to compile all Vertex Interpolator Material Expressions reads:
// Translate all custom vertex interpolators before main attributes so type information is available We will discuss this more with our colleagues and get back to you.
[Attachment Removed]
Thanks for the update. I understand the intent of compiling all Vertex Interpolator expressions early in
FHLSLMaterialTranslator::TranslateMaterial()to make type information available.
However, the issue I’m reporting is not the translation order itself but a side effect: during this early compilation pass, parameter expressions that are intended to remain hidden/internal are being registered as “used” and then appear in the Material Instance parameter list.
So while the early compile may be expected for type inference, the resulting change in Material Instance parameter visibility seems unintended.
Question: is it possible (or intended) for the Vertex Interpolator pre-translation pass to run in a “type-gathering / analysis” mode that does not contribute to parameter usage tracking (i.e., does not affect which parameters are exposed in Material Instances)?
Best regards,
Vladyslav
[Attachment Removed]
Hello,
After speaking with our colleagues, we will be creating a bug report.
We will reply with a tracker when the report is submitted.
[Attachment Removed]
Hello,
Thank you for reporting this. We have opened a bug report:
https://issues.unrealengine.com/issue/UE\-366229
The tracker will be visible after it is approved internally at Epic Games and is publicly accessible.
If you have any further questions, please let us know.
[Attachment Removed]