Seaside Studios
3D Shader
3D Shader
  • What is All In 1 3D Shader
  • Overview
  • First Steps (Must Read)
  • URP And Post Processing Setup
  • Asset Component Features
  • Asset Window
  • Saving Prefabs
  • Convert Materials to 3D Shader
  • Light Models
  • Effects List
  • Scripting
  • Batch Override Materials
  • How to animate effects
  • Advanced Configuration and Key Rendering Concepts
  • How to Enable/Disable Effects at Runtime
  • Random Seed
  • Scaled Time
  • Outlines
  • Wind Effect and Wind Controller
  • Depth Coloring - Stylized Fog
  • Shadow Color
  • Fast Lighting
  • Performance Considerations
  • FAQ (Frequently Asked Questions)
Powered by GitBook
On this page

Scripting

PreviousEffects ListNextBatch Override Materials

Last updated 1 month ago

If you prefer avoiding animations or want to change properties through code you also have the possibility.

You can find the property names by hovering the mouse over any property in the Material Inspector:

To do so you’ll need to use the following Unity functions:

You can find all property names on AllIn13DShader\Shaders/AllIn13DShader.shader. All properties are located at the top of the file. Here an example code snippet:

mat = GetComponent<Renderer>().material;
mat.SetFloat("_Alpha", 1f);
mat.SetColor("_Color", new Color(0.5f, 1f, 0f, 1f));
mat.SetTexture("_MainTex", texture);

Note that there is an important distinction to be made between a “material” and a “sharedMaterial” of a Renderer. You shall use “material” if you only want to change a property of that instance of the material. And “sharedMaterial” if you want to change the property of all the instances of that material

Material.SetFloat:

Material.SetColor:

Material.SetTexture:

https://docs.unity3d.com/ScriptReference/Material.SetFloat.html
https://docs.unity3d.com/ScriptReference/Material.SetColor.html
https://docs.unity3d.com/ScriptReference/Material.SetTexture.html