There’s a potential issue with some changes we made to UMaterialInstance::GetParameterValue (https://github.com/EpicGames/UnrealEngine/commit/8f2bebb008ba645f5938da844cd46b0925322b13). It seems as though some parameters on an MI are returning False when they should be returning true, but only when the MI is converted from 5.7 to 5.8. If the parameter is created on the material in 5.8 he can’t reproduce the issue. Any thoughts here?
It is only reproduceable with a plugin that accesses metadata which is present only in the Base Material values.
The issue happens in 2 steps. A material instance is created based off of a Material with a Parameter. That parameter is overriden and then it is converted to use CustomPrimitiveData inside the Material.
From that point on, UMaterialInstance::GetParameterValue will think that parameter is overidden and not return the metadata of that parameter present in the base material and thus not the PrimitiveDataIndex which is required for parameters which Use Custom Primitive Data.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-385962 in the post.
| 0 |
| Component | UE - Rendering - Architecture - Materials |
|---|---|
| Affects Versions | 5.8 |
| Target Fix | 5.8.1 |
| Fix Commit | 55561321 |
|---|
| Created | Jun 24, 2026 |
|---|---|
| Resolved | Jun 26, 2026 |
| Updated | Jun 26, 2026 |