Uninomicon

Documenting the dark corners of the Unity Engine.

User Tools

Site Tools


camera

Camera

Camera.SetReplacementShader

SetReplacementShader will not render objects if their original materials don't contain any properties required by the replacement shader. For example, if your replacement shader uses _MainTex, and there is an object in the scene that doesn't have _MainTex, it won't be rendered at all.

SetReplacementShader will use the Materials of the existing objects in the scene1). However, it only seems to apply keywords that are registered as multi_compile. Per-material keywords registered with shader_feature do not get applied. For example, if you call SetReplacementShader with the default URP Lit.shader, these keywords will all be turned off:

Shaders can be replaced in the SceneView using SceneView.SetSceneViewShaderReplace.

1)
all of the textures and instance data is still sent to the replaced
camera.txt · Last modified: 2021/06/14 16:16 by uninomiconadmin