Quality Switch in material doesn't filter correctly by scalability

Hi Epic,

When using a Quality Switch node inside a material seems that it doesn’t behave as Expected. (for any type of materials)

The maximum path it will return will be High, even if the scalability used are Epic or Cinematic.

As you can observe in the video, when scalability is set to Epic or Cinematic, the Quality Switch will always return the results on the High branch and never return any info from the Epic or Cinematic branch. Lower scalabilities works as expected.

Could it be possible to fix this issue or is there something I am missing that the expectations are not correct?

Thanks in advance!

[Attachment Removed]

Hi, the Quality Switch node is behaving correctly here. What is throwing this off is the scalability config, not the node. The node reads the r.MaterialQualityLevel console variable, where 0 is Low, 1 is High, 2 is Medium, and 3 is Epic. That variable is set by the Effects Quality scalability group, and in BaseScalability.ini, both Epic and Cinematic set r.MaterialQualityLevel=1. So the shipped defaults deliberately cap material quality at High for the top two presets, which is what you are seeing.

To confirm this, open the console and type r.MaterialQualityLevel 3. The Epic branch will light up. Then, in the editor, you can also use Settings > Material Quality Level > Epic in the main toolbar. However, that one gets overwritten the next time you change the scalability preset, whereas the console value sticks. For a permanent change, override the mapping in your project’s Config/DefaultScalability.ini:

[EffectsQuality@3]
r.MaterialQualityLevel=3
 
[EffectsQuality@Cine]
r.MaterialQualityLevel=3

I would like to mention this before you do: enabling the Epic level means every material with a Quality Switch will cook an additional set of shader permutations, so expect cook time and shader memory to increase. Please let me know if you have any further questions.

Best,

Tim

[Attachment Removed]

Hi Tim!

Thanks for clarifying :smiley: Makes completely sense now. We can close this ticket then.

[Attachment Removed]

Ok, I am glad that helped :slight_smile: I will close out then.

[Attachment Removed]