AnimUV Shader


Example of a scrolling LED sign AnimUV prop.

The AnimUV shader can be used to create scrolling or multi-frame animations. There are 2 AnimUV shaders - one for props and one for buildings and building sub-meshes.

The building AnimUV shader doesn't require a mod.

While vehicle sub-meshes and previously created props still require the AnimUV Params mod, a new method for saving shader parameters by boformer has removed the requirement for a mod. Vehicle sub-meshes still require the mod.

This article assumes you are familiar with regular prop asset creation.


The textures work just like they would for any normal prop.


UV Mapping

The UV mapping is as usual, but in the case of a multi-frame animation, the first frame should be UV mapped.


Use a format which supports vertex colors, such as FBX (2015 or older) or DAE.

Vertex Paint

The vertex colors define which parts will have UV animation.

Black vertex paint will be animated and everything else should be white.


There are 2 types of scripts for each type of asset - one creates a simple scrolling animation, and the other can be used to create multi-frame animations.

Transform Amount

For the advanced multi-frame animation scripts, the transform amount is (how many pixels you want the UV mapping to move each frame) divided by (the width or height of the texture).


The frames variable describes how many frames each animation has.


The cycles variable describes how many times per minute the animation runs. If 60 doesn't divide by this number evenly, the animation will "reset" every minute.


The building AnimUV shader scripts work without any mods. And they can also be applied to building sub-meshes.


The prop AnimUV shader scripts don't require a mod anymore.

Vehicle sub-meshes

The prop AnimUV shader can also be applied to vehicle sub-meshes using these scripts, this use case still requires the AnimUV Params mod. The mesh must be imported as a prop first, then the game must be reloaded and then the vertex paint can be copied from the prop to the vehicle sub-mesh. This is similar to the process of creating rotors shader propellers for blimps.