# MaterialBase

The `MaterialBase` class exposes properties common to all material types.

## Properties

| Property                  | Description                                                                                                                                                                                                                                                                                                  |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `alphaCutoff`             | `(get) alphaCutoff: ScalarSignal (set) alphaCutoff: ScalarSignal` Specifies a number between 0.0 and 1.0.                                                                                                                                                                                                    |
| `cullMode`                | <p><code>(get) cullMode: Signal\<MaterialsModule.CullMode> (set) cullMode: Signal\<MaterialsModule.CullMode></code></p><p>Specifies the material cull mode.</p>                                                                                                                                              |
| `diffuse`                 | <p><code>(get) diffuse: TextureBase (set) diffuse: TextureBase</code></p><p>Specifies the texture that forms the basis of this material.</p>                                                                                                                                                                 |
| `diffuseTextureTransform` | <p><code>(get) diffuseTextureTransform: TextureTransform (set) diffuseTextureTransform: TextureTransformSignal</code></p><p>Specifies the coordinates transform of the diffuse texture of this material.</p>                                                                                                 |
| `doubleSided`             | <p><code>(get) doubleSided: BoolSignal (set) doubleSided: BoolSignal</code></p><p>Indicates whether the material can be seen from both sides when rendering the scene.</p><p><strong>Note</strong>: When <code>FALSE</code>, only the side specified by object's <strong>Cull Mode</strong> is rendered.</p> |
| `identifier`              | <p><code>(get) identifier: string (set) (Not Available)</code></p><p>Specifies the unique identifier for the material.</p>                                                                                                                                                                                   |
| `name`                    | <p><code>(get) name: string (set) (Not Available)</code></p><p>Specifies the unique identifier for the material name. This value is specified in AR Studio at design time.</p><p><strong>See Also</strong>: <code>MaterialsModule.get</code>.</p>                                                            |
| `opacity`                 | <p><code>(get) opacity: ScalarSignal (set) opacity: ScalarSignal</code></p><p>Specifies a number between 0.0 and 1.0 indicating the opacity threshold for discarding pixels. 0 is transparent and 1 is opaque.</p>                                                                                           |

## Methods

| Method           | Description                                                                                                                                                      |                         |                           |                                                                                                                              |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `setTexture`     | <p><code>setTexture(signal: ShaderSignal, config: { textureSlotName: DefaultMaterialTextures                                                                     | BlendedMaterialTextures | FacePaintMaterialTextures | PhysicallyBasedMaterialTextures }): void</code></p><p>Assigns a <code>ShaderSignal</code> to the specified texture slot.</p> |
| `setTextureSlot` | <p><code>setTextureSlot(textureSlotName: String, signal: ShaderSignal): void</code></p><p>Assigns a <code>ShaderSignal</code> to the specified texture slot.</p> |                         |                           |                                                                                                                              |
