A material that uses a custom [Shader] program. A material that uses a custom [Shader] program to render either items to screen or process particles. You can create multiple materials for the same shader but configure different values for the uniforms defined in the shader. [b]Note:[/b] Due to a renderer limitation, emissive [ShaderMaterial]s cannot emit light when used in a [GIProbe]. Only emissive [SpatialMaterial]s can emit light in a [GIProbe]. $DOCS_URL/tutorials/shaders/index.md Returns the current value set for this material of a uniform in the shader. Returns [code]true[/code] if the property identified by [code]name[/code] can be reverted to a default value. Returns the default value of the material property with given [code]name[/code]. Changes the value set for this material of a uniform in the shader. [b]Note:[/b] [code]param[/code] must match the name of the uniform in the code exactly. The [Shader] program used to render this material.