Skip to content

Remove obsolete specular tint controls and migrate material data #2163

Description

@mvaligursky

Summary

The Engine is removing StandardMaterial#specularTint and will always apply the specular color when the active material workflow uses specular color. This follows the existing diffuseTint and emissiveTint removal pattern.

The Editor currently exposes the Specular Tint control in both metalness and specular workflows and retains related reference, migration, and external type entries.

Required changes

  • Remove the Specular Tint control from both material inspector workflows.
  • Remove the asset:material:specularTint reference entry.
  • Extend the material tint migration to handle data.specularTint after the legacy data.specularMapTint mapping.
    • If the old tint value is false and a specular map is assigned, set data.specular to [1, 1, 1] before forcing or removing the flag. This preserves the previous rendered result when tint becomes unconditional.
    • A material without a specular map does not need its color reset because the constant color was already used in that case.
  • Update material schema/default data and Editor API asset types as applicable, including the remaining legacy specularMapTint entry.
  • Ensure existing assets containing either legacy field continue to load without a visual change.

Engine behavior to preserve

  • The constant specular color is applied only when the derived shader options use both specular shading and specular color.
  • The reflection-only path where useSpecular is false retains its current behavior.
  • specularityFactorTint is separate and remains unchanged.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions