ViewportFrames do not show SurfaceAppearances properly

Reproduction Steps
Create a part with a SurfaceAppearance inside of a ViewportFrame. Only the ColorMap is shown, not the Metallness or Normal maps.

Expected Behavior
It should appear as it does in the game.

Actual Behavior
It shows only the ColorMap, as if a Texture was applied.

ViewportFrame appearance:

World appearance:

Issue Area: Engine
Issue Type: Display
Impact: High
Frequency: Constantly


This is expected behaviour, ViewportFrames have no PBR/Shadow/Effects capacity and are not apart of the same pipeline. Even materials like glass and Neon get displayed at the lowest quality.


Thanks for the report. NormalMaps should already have an effect in ViewportFrames (I think I see it subtly in your video?), but metal objects look very different. This is because ViewportFrames don’t have the full set of lighting features the 3D view does - mainly they don’t reflect an environment map. They only reflect a uniform ambient color for the environment, which makes metals look like plastic.

We have some ideas to improve this, but VF improvements are currently on the backlog in favor of other projects.