# Texture/Material Replacement

The ClientAPI also allows you to easily replace textures or materials on the client game.\
You can use it to modify in-game billboards to add your server logo or simply re-texture parts of the game.\
\
You could theorically remaster the game or make a custom texture pack and send that to the client. It'll prob take some time to download and load but still.

1 ) Like with custom assets create your assetbundle and put the new texture inside it.\
\
2 ) Load it like shown below.

```csharp
string bundle = "mytextures.assets";
RegisterClientsideAssetBundle(bundle);
```

3 ) Register your texture or material override like shown below.

{% tabs %}
{% tab title="Texture" %}
```csharp
RegisterTextureReplace("HAM Legal Services Banner", bundle, "MyNewTexture");
```

This will replace the bus stop ad texture near the motel. (Only the one during daytime tho as it changes) You can ofcourse find the name of the night one and replace it too.\
![](https://1009565841-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdPzK9hYNRS2OIoKsRn5%2Fuploads%2FsFd5Eg5MFPRbizeRj5OT%2Fimage.png?alt=media\&token=58d86755-563d-41ed-950a-0b103176bc52)
{% endtab %}

{% tab title="Material" %}
```csharp
RegisterMaterialReplace("straight road 10m mat", bundle, "MyNewRoadMaterial");
```

This will replace parts of the road textures, there's multiple ones that you need to redo if you want to fully override all the roads textures.\
![](https://1009565841-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOdPzK9hYNRS2OIoKsRn5%2Fuploads%2F40D0516jNJgldlWpIeIe%2Fimage.png?alt=media\&token=014b36df-b332-4e7a-88a0-2a115da13000)
{% endtab %}
{% endtabs %}

And that's it, its as simple.\
Every player that will connect to the server will automatically download the asset and load the replacement textures you define.

Enjoy re-texturing the game ! :smile:
