# MaterialService

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Tags: Not creatable, Service
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/MaterialService/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/MaterialService

The game service responsible for managing materials.

## Properties

### AsphaltName

```luau
MaterialService.AsphaltName: string = "Asphalt"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Asphalt.

### BasaltName

```luau
MaterialService.BasaltName: string = "Basalt"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Basalt.

### BrickName

```luau
MaterialService.BrickName: string = "Brick"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Brick.

### CardboardName

```luau
MaterialService.CardboardName: string = "Cardboard"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Cardboard.

### CarpetName

```luau
MaterialService.CarpetName: string = "Carpet"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Carpet.

### CeramicTilesName

```luau
MaterialService.CeramicTilesName: string = "CeramicTiles"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in CeramicTiles.

### ClayRoofTilesName

```luau
MaterialService.ClayRoofTilesName: string = "ClayRoofTiles"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in ClayRoofTiles.

### CobblestoneName

```luau
MaterialService.CobblestoneName: string = "Cobblestone"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Cobblestone.

### ConcreteName

```luau
MaterialService.ConcreteName: string = "Concrete"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Concrete.

### CorrodedMetalName

```luau
MaterialService.CorrodedMetalName: string = "CorrodedMetal"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in CorrodedMetal.

### CrackedLavaName

```luau
MaterialService.CrackedLavaName: string = "CrackedLava"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in CrackedLava.

### DiamondPlateName

```luau
MaterialService.DiamondPlateName: string = "DiamondPlate"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in DiamondPlate.

### FabricName

```luau
MaterialService.FabricName: string = "Fabric"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Fabric.

### FoilName

```luau
MaterialService.FoilName: string = "Foil"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Foil.

### GlacierName

```luau
MaterialService.GlacierName: string = "Glacier"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Glacier.

### GraniteName

```luau
MaterialService.GraniteName: string = "Granite"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Granite.

### GrassName

```luau
MaterialService.GrassName: string = "Grass"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Grass.

### GroundName

```luau
MaterialService.GroundName: string = "Ground"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Ground.

### IceName

```luau
MaterialService.IceName: string = "Ice"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Ice.

### LeafyGrassName

```luau
MaterialService.LeafyGrassName: string = "LeafyGrass"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in LeafyGrass.

### LeatherName

```luau
MaterialService.LeatherName: string = "Leather"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Leather.

### LimestoneName

```luau
MaterialService.LimestoneName: string = "Limestone"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Limestone.

### MarbleName

```luau
MaterialService.MarbleName: string = "Marble"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Marble.

### MetalName

```luau
MaterialService.MetalName: string = "Metal"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Metal.

### MudName

```luau
MaterialService.MudName: string = "Mud"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Mud.

### PavementName

```luau
MaterialService.PavementName: string = "Pavement"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Pavement.

### PebbleName

```luau
MaterialService.PebbleName: string = "Pebble"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Pebble.

### PlasterName

```luau
MaterialService.PlasterName: string = "Plaster"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Plaster.

### PlasticName

```luau
MaterialService.PlasticName: string = "Plastic"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Plastic.

### RockName

```luau
MaterialService.RockName: string = "Rock"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Rock.

### RoofShinglesName

```luau
MaterialService.RoofShinglesName: string = "RoofShingles"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in RoofShingles.

### RubberName

```luau
MaterialService.RubberName: string = "Rubber"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Rubber.

### SaltName

```luau
MaterialService.SaltName: string = "Salt"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Salt.

### SandName

```luau
MaterialService.SandName: string = "Sand"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Sand.

### SandstoneName

```luau
MaterialService.SandstoneName: string = "Sandstone"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Sandstone.

### SlateName

```luau
MaterialService.SlateName: string = "Slate"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Slate.

### SmoothPlasticName

```luau
MaterialService.SmoothPlasticName: string = "SmoothPlastic"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in SmoothPlastic.

### SnowName

```luau
MaterialService.SnowName: string = "Snow"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Snow.

### WoodName

```luau
MaterialService.WoodName: string = "Wood"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in Wood.

### WoodPlanksName

```luau
MaterialService.WoodPlanksName: string = "WoodPlanks"
```

- Tags: Not scriptable, Roblox engine security, Read capabilities: Material

Specify [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name to override built-in WoodPlanks.

### Use2022Materials

```luau
MaterialService.Use2022Materials: boolean = false
```

- Tags: Not replicated, Roblox script security, Read capabilities: Material

Switch built-in material pack.

### Use2022MaterialsXml

```luau
MaterialService.Use2022MaterialsXml: boolean = false
```

- Tags: Hidden, Not scriptable, Read capabilities: Material

## Methods

### GetBaseMaterialOverride

```luau
MaterialService:GetBaseMaterialOverride(material: Enum.Material): string
```

- Tags: Capabilities: Material

Get the override [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name of specified Material type.

Parameters:

- `material`: Material type to be fetched.

Returns: MaterialVariant name currently set as override.

### GetIsMaterialActionAsToolEnabled

```luau
MaterialService:GetIsMaterialActionAsToolEnabled(): boolean
```

- Tags: Roblox script security, Capabilities: Material

### GetMaterialOverrideChanged

```luau
MaterialService:GetMaterialOverrideChanged(material: Enum.Material): RBXScriptSignal
```

- Tags: Roblox script security, Capabilities: Material

### GetMaterialVariant

```luau
MaterialService:GetMaterialVariant(material: Enum.Material, name: string): MaterialVariant
```

- Tags: Capabilities: Material

Get the effective MaterialVariant reference given a name and Material.

Parameters:

- `material`: BaseMaterial of MaterialVariant.
- `name`: Name of MaterialVariant.

Returns: A MaterialVariant instance that matches parameters.

### GetOverrideStatus

```luau
MaterialService:GetOverrideStatus(material: Enum.Material): Enum.PropertyStatus
```

- Tags: Roblox script security, Capabilities: Material

### SetBaseMaterialOverride

```luau
MaterialService:SetBaseMaterialOverride(material: Enum.Material, name: string)
```

- Tags: Capabilities: Material

Set a [`MaterialVariant`](https://rapi.sleaze.dev/classes/MaterialVariant.md) name that overrides a built-in material.

Parameters:

- `material`: The Material type to be changed.
- `name`: Name of the MaterialVariant object.

### SetCurrentMaterial

```luau
MaterialService:SetCurrentMaterial(baseMaterial: Enum.Material, materialVariant: string)
```

- Tags: Roblox script security, Capabilities: Material

### ToggleMaterialFillToolEnabled

```luau
MaterialService:ToggleMaterialFillToolEnabled()
```

- Tags: Roblox script security, Capabilities: Material

## Events

### MaterialFillToolEnabledChanged

```luau
MaterialService.MaterialFillToolEnabledChanged: RBXScriptSignal<(shouldEnable: boolean)>
```

- Tags: Roblox script security, Capabilities: Material

### OverrideStatusChanged

```luau
MaterialService.OverrideStatusChanged: RBXScriptSignal<(material: Enum.Material)>
```

- Tags: Roblox script security, Capabilities: Material

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
