# MaterialDefinition

> Describes a VisualElement material.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine.UIElements](/engine/6000.7/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule
* **Implements:** [IEquatable\<MaterialDefinition>](https://learn.microsoft.com/dotnet/api/system.iequatable-1)

```csharp
public struct MaterialDefinition : IEquatable<MaterialDefinition>
```

## Constructors

| Constructor                                                                                                                   | Description                                                                         |
| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| [MaterialDefinition(UnityEngine.Material)](/engine/6000.7/script-reference/unityengine/uielements/materialdefinition/ctor.md) | Creates from a [Material](/engine/6000.7/script-reference/unityengine/material.md). |

## Properties

| Property                                                                                          | Description                                |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| [material](/engine/6000.7/script-reference/unityengine/uielements/materialdefinition/material.md) | The material to use to render the element. |

## Methods

| Method                                                                                                | Description                                            |
| ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
| [GetColor](/engine/6000.7/script-reference/unityengine/uielements/materialdefinition/getcolor.md)     | Gets a color property value by name.                   |
| [GetFloat](/engine/6000.7/script-reference/unityengine/uielements/materialdefinition/getfloat.md)     | Gets a float property value by name.                   |
| [GetTexture](/engine/6000.7/script-reference/unityengine/uielements/materialdefinition/gettexture.md) | Gets a texture property value by name.                 |
| [GetVector](/engine/6000.7/script-reference/unityengine/uielements/materialdefinition/getvector.md)   | Gets a vector property value by name.                  |
| [IsEmpty](/engine/6000.7/script-reference/unityengine/uielements/materialdefinition/isempty.md)       | Help verify whether an asset has been assigned or not. |
| [SetColor](/engine/6000.7/script-reference/unityengine/uielements/materialdefinition/setcolor.md)     | Sets a color property value by name.                   |
| [SetFloat](/engine/6000.7/script-reference/unityengine/uielements/materialdefinition/setfloat.md)     | Sets a float property value by name.                   |
| [SetTexture](/engine/6000.7/script-reference/unityengine/uielements/materialdefinition/settexture.md) | Sets a texture property value by name.                 |
| [SetVector](/engine/6000.7/script-reference/unityengine/uielements/materialdefinition/setvector.md)   | Sets a vector property value by name.                  |

## Static Methods

| Method                                                                                                    | Description                                                                                               |
| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| [FromMaterial](/engine/6000.7/script-reference/unityengine/uielements/materialdefinition/frommaterial.md) | Creates a material definition from a [Material](/engine/6000.7/script-reference/unityengine/material.md). |
