# engineSetMaterialShader (Cliente)

> Cambia el shader de un material, manteniendo los valores que ya tiene.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Función Lua
- **Lado**: Cliente
- **Categoría**: Materiales y shaders
- **URL**: https://wiki.mymp.gg/es/engineSetMaterialShader

## Sintaxis

```lua
bool engineSetMaterialShader(material material, string|shader|false shader)
```

## Parámetros

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `material` | `material` | El material. |
| `shader` | `string\|shader\|false` | El nombre de un shader o un elemento `shader`. `false` quita el shader propio, y el material vuelve a usar el de su base. |

## Retorno

`true` cuando el shader se cambió.

## Ejemplo

```lua
local material = engineCreateMaterial()
local shader = engineCreateShader("shaders/hologram.shader")
engineSetMaterialShader(material, shader)
```

### Atención

Un nombre que no es de shader es un error; aquí no se aceptan presets.

## Ver también

- [engineGetMaterialShader (Cliente)](https://wiki.mymp.gg/es/engineGetMaterialShader.md): Indica qué shader usa un material.
- [engineCreateShader (Cliente)](https://wiki.mymp.gg/es/engineCreateShader.md): Crea un shader a partir de un archivo .shader o de su código fuente. El shader compila en segundo plano.
- [engineSetMaterialValue (Cliente)](https://wiki.mymp.gg/es/engineSetMaterialValue.md): Define un valor del material: un parámetro del shader, un interruptor estático o el render target de una salida TARGET_n.
