What are they?
Material attributes just are a basic way to put custom data into a material, they consist of a name and any value you want really.
How to define a Material Attribute
So to define a Material Attribute you can do it as so. First open your material, and locate the Attributes tab.
Inside this tab you will see this big region, this is where all your material attributes are contained, and where you add or remove them!
So now you can add an attribute like so, and here is how you can name it and define the value! (note any value can be put here really!)
and here is an example of multiple, as long as the name contains no spaces you can put what you want!
Using Attributes to Override specific materials in code!
Currently the only main thing you can do with these attributes are to make it so only the material with the attribute set can be overridden in game.
What this is useful for is, if your model has multiple materials, but you only want to replace 1 specific material at runtime (without material groups), you can use attributes to specify to only override this specific material!
What I mean by this is, for example, the citizen skin!
Now what they do with this is they do something along the lines of this