Bindless Virtual Textures are sampled with non-virtual samplers

UE - Rendering Architecture - Materials - Nov 28, 2024

Texture Collections can contain virtual textures. There is no way to inform TextureObjectFromCollection that the texture is virtual, only that it is a Texture2D. This texture object is then sampled ...

Updating Material does not update platform stats in derived Instance

UE - Rendering Architecture - Materials - Nov 26, 2024

It would seem that updating a material does not update the associated platform stats in a material instance editor, only the parameters. Can workaround by manually invoking shader compile in the ma ...

Invalid PropertyConnectedMask in layered material instance when base material doesn't use material attributes

UE - Rendering Architecture - Materials - Nov 20, 2024

When UMaterialInstanceConstant::UpdateCachedData() updates CachedExpressionData.PropertyConnectedMask for material instances with layers incorrectly, it can lead to various graphical issues includin ...

'prefix parameter names' checkbox in a material function's settings does nothing.

UE - Rendering Architecture - Materials - Nov 14, 2024

Prefix Parameter Names checkbox does not work as expected, and the Group names are unmodified. The value "UMaterialFunction::bPrefixParameterNames" does not appear to be used anywhere in the Engine ...

Material attribute layers issue with texture sample and VT lookups

UE - Rendering Architecture - Materials - Nov 14, 2024

When using material attribute layers in a material layer setup, there is a potential discrepancy in the number of VT Lookups presented in the material instance's Platform Stats. When the same textur ...

Null Material Layers in Material Instances cause Opacity Mask and WPO to break on Nanite Meshes

UE - Rendering Architecture - Materials - Oct 31, 2024

When a Material Instance is loaded that has a nullptr layer in StaticParametrs.Materiallayers.  The Material Instance will create it's own CachedExpressionData but the ConnectedParameterMask will be ...

Calling GetMaterial during compile on load can cause the material shader to fail to compile

UE - Rendering Architecture - Materials - Oct 4, 2024

Calling UStaticMeshComponent::GetMaterial() during a Blueprint compile on load can cause the Material shader to fail to compile because GetMaterial will trigger a PostLoad call on that Material and ...

Material Graph Editor crash when changing the value of a node entering a reentrant expression

UE - Rendering Architecture - Materials - Oct 1, 2024

It is possible to cause an editor crash when changing a the value of a node involved with a reentrant expression. See the steps to reproduce for more information. Specifically, the crash occurs whe ...

Material functions should be able to output the same data as it can accept as inputs

UE - Rendering Architecture - Materials - Sep 30, 2024

Material Functions cannot output Texture Objects or Booleans. This seems to be because the Material Editor believes that the outputs are Floats, and forbid connections to inputs that take Textures ...

Check for sRGB on Normal and Mask samplers instead checks against Greyscale and Alpha samplers

UE - Rendering Architecture - Materials - Sep 24, 2024

In FMaterialInstanceEditor::RefreshOnScreenMessages, there is a check for sRGB on Normal and Mask samplers. The issue is the check uses a TextureCompressionSettings enum cast to EMaterialSamplerTyp ...