How can I make a material that constantly changes colours?

You don’t need any blueprints to do this, if you send time (by that i mean any value that increases over time) to shaders you can animate pretty much anything in shader by adding time to any value saving CPU performance. UE4 sends time to material and oyu can access it via “Time” node, you don’t need to know what value it outputs, you know it rising over time. Then you can use nodes like Sin or Frac node, any node any calculation that outputs any pattern regardless of how big input value will start to repeat that pattern is to repeat it over time. And you can control speed of animation by multiplying or dividing time.

Color change through color spectrum, is called hue shift, if you hue shift a rainbow spectrum it will offset the colors, if you look on spectrum circle it will spin. UE4 provides node just for that called Hue Shift, plug any saturated color (or whatever you want to hue shift, it needs saturation as hue is not visible in either white and black color) as a texture and plug time as a huge shift percentage and you should be covered. Remember to shift only part that you want to shift or else entire material will become rainbowish

3 Likes