user: How do I use References in Blender? Include parameters, examples, warnings and best practices.

assistant: nput_template "bpy.types.ShaderNodeMapping.input_template") - [`ShaderNodeMapping.output_template`](bpy.types.ShaderNodeMapping.html#bpy.types.ShaderNodeMapping.output_template "bpy.types.ShaderNodeMapping.output_template") - [`ShaderNodeMath.input_template`](bpy.types.ShaderNodeMath.html#bpy.types.ShaderNodeMath.input_template "bpy.types.ShaderNodeMath.input_template") - [`ShaderNodeMath.output_template`](bpy.types.ShaderNodeMath.html#bpy.types.ShaderNodeMath.output_template "bpy.types.ShaderNodeMath.output_template") - [`ShaderNodeMix.input_template`](bpy.types.ShaderNodeMix.html#bpy.types.ShaderNodeMix.input_template "bpy.types.ShaderNodeMix.input_template") - [`ShaderNodeMix.output_template`](bpy.types.ShaderNodeMix.html#bpy.types.ShaderNodeMix.output_template "bpy.types.ShaderNodeMix.output_template") - [`ShaderNodeMixRGB.input_template`](bpy.types.ShaderNodeMixRGB.html#bpy.types.ShaderNodeMixRGB.input_template "bpy.types.ShaderNodeMixRGB.input_template") - [`ShaderNodeMixRGB.output_template`](bpy.types.ShaderNodeMixRGB.html#bpy.types.ShaderNodeMixRGB.output_template "bpy.types.ShaderNodeMixRGB.output_template") - [`ShaderNodeMixShader.input_template`](bpy.types.ShaderNodeMixShader.html#bpy.types.ShaderNodeMixShader.input_template "bpy.types.ShaderNodeMixShader.input_template") - [`ShaderNodeMixShader.output_template`](bpy.types.ShaderNodeMixShader.html#bpy.types.ShaderNodeMixShader.output_template "bpy.types.ShaderNodeMixShader.output_template") - [`ShaderNodeNewGeometry.input_template`](bpy.types.ShaderNodeNewGeometry.html#bpy.types.ShaderNodeNewGeometry.input_template "bpy.types.ShaderNodeNewGeometry.input_template") - [`ShaderNodeNewGeometry.output_template`](bpy.types.ShaderNodeNewGeometry.html#bpy.types.ShaderNodeNewGeometry.output_template "bpy.types.ShaderNodeNewGeometry.output_template") - [`ShaderNodeNormal.input_template`](bpy.types.ShaderNodeNormal.html#bpy.types.ShaderNodeNormal.input_template "bpy.types.ShaderNodeNormal.input_template") - [`ShaderNodeNormal.output_template`](bpy.types.ShaderNodeNormal.html#bpy.types.ShaderNodeNormal.output_template "bpy.types.ShaderNodeNormal.output_template") - [`ShaderNodeNormalMap.input_template`](bpy.types.ShaderNodeNormalMap.html#bpy.types.ShaderNodeNormalMap.input_template "bpy.types.ShaderNodeNormalMap.input_template") - [`ShaderNodeNormalMap.output_template`](bpy.types.ShaderNodeNormalMap.html#bpy.types.ShaderNodeNormalMap.output_template "bpy.types.ShaderNodeNormalMap.output_template") - [`ShaderNodeObjectInfo.input_template`](bpy.types.ShaderNodeObjectInfo.html#bpy.types.ShaderNodeObjectInfo.input_template "bpy.types.ShaderNodeObjectInfo.input_template") - [`ShaderNodeObjectInfo.output_template`](bpy.types.ShaderNodeObjectInfo.html#bpy.types.ShaderNodeObjectInfo.output_template "bpy.types.ShaderNodeObjectInfo.output_template") - [`ShaderNodeOutputAOV.input_template`](bpy.types.ShaderNodeOutputAOV.html#bpy.types.ShaderNodeOutputAOV.input_template "bpy.types.ShaderNodeOutputAOV.input_template") - [`ShaderNodeOutputAOV.output_template`](bpy.types.ShaderNodeOutputAOV.html#bpy.types.ShaderNodeOutputAOV.output_template "bpy.types.ShaderNodeOutputAOV.output_template") - [`ShaderNodeOutputLight.input_template`](bpy.types.ShaderNodeOutputLight.html#bpy.types.ShaderNodeOutputLight.input_template "bpy.types.ShaderNodeOutputLight.input_template") - [`ShaderNodeOutputLight.output_template`](bpy.types.ShaderNodeOutputLight.html#bpy.types.ShaderNodeOutputLight.output_template "bpy.types.ShaderNodeOutputLight.output_template") - [`ShaderNodeOutputLineStyle.input_template`](bpy.types.ShaderNodeOutputLineStyle.html#bpy.types.ShaderNodeOutputLineStyle.input_template "bpy.types.ShaderNodeOutputLineStyle.input_template") - [`ShaderNodeOutputLineStyle.output_template`](bpy.types.ShaderNodeOutputLineStyle.html#bpy.types.ShaderNodeOutputLineStyle.output_template "bpy.types.ShaderNodeOutputLineStyle.output_template") - [`ShaderNodeOutputMaterial.input_template`](bpy.types.ShaderNodeOutputMaterial.html#bpy.types.ShaderNodeOutputMaterial.input_template "bpy.types.ShaderNodeOutputMaterial.input_template") - [`ShaderNodeOutputMaterial.output_template`](bpy.types.ShaderNodeOutputMaterial.html#bpy.types.ShaderNodeOutputMaterial.output_template "bpy.types.ShaderNodeOutputMaterial.output_template") - [`ShaderNodeOutputWorld.input_template`](bpy.types.ShaderNodeOutputWorld.html#bpy.types.ShaderNodeOutputWorld.input_template "bpy.types.ShaderNodeOutputWorld.input_template") - [`ShaderNodeOutputWorld.output_template`](bpy.types.ShaderNodeOutputWorld.html#bpy.types.ShaderNodeOutputWorld.output_template "bpy.types.ShaderNodeOutputWorld.output_template") - [`ShaderNodeParticleInfo.input_template`](bpy.types.ShaderNodeParticleInfo.html#bpy.types.ShaderNodeParticleInfo.input_template "bpy.types.ShaderNodeParticleInfo.input_template") - [`ShaderNodeParticleInfo.output_template`](bpy.types.ShaderNodeParticleInfo.html#bpy.types.ShaderNodeParticleInfo.output_template "bpy.types.ShaderNodeParticleInfo.output_template") - [`ShaderNodePointInfo.input_template`](bpy.types.ShaderNodePointInfo.html#bpy.types.ShaderNodePointInfo.input_template "bpy.types.ShaderNodePointInfo.input_template") - [`ShaderNodePointInfo.output_template`](bpy.types.ShaderNodePointInfo.html#bpy.types.ShaderNodePointInfo.output_template "bpy.types.ShaderNodePointInfo.output_template") - [`ShaderNodeRGB.input_template`](bpy.types.ShaderNodeRGB.html#bpy.types.ShaderNodeRGB.input_template "bpy.types.ShaderNodeRGB.input_template") - [`ShaderNodeRGB.output_template`](bpy.types.ShaderNodeRGB.html#bpy.types.ShaderNodeRGB.output_template "bpy.types.ShaderNodeRGB.output_template") - [`ShaderNodeRGBCurve.input_template`](bpy.types.ShaderNodeRGBCurve.html#bpy.types.ShaderNodeRGBCurve.input_template "bpy.types.ShaderNodeRGBCurve.input_template") - [`ShaderNodeRGBCurve.output_template`](bpy.types.ShaderNodeRGBCurve.html#bpy.types.ShaderNodeRGBCurve.output_template "bpy.types.ShaderNodeRGBCurve.output_template") - [`ShaderNodeRGBToBW.input_template`](bpy.types.ShaderNodeRGBToBW.html#bpy.types.ShaderNodeRGBToBW.input_template "bpy.types.ShaderNodeRGBToBW.input_template") - [`ShaderNodeRGBToBW.output_template`](bpy.types.ShaderNodeRGBToBW.html#bpy.types.ShaderNodeRGBToBW.output_template "bpy.types.ShaderNodeRGBToBW.output_template") - [`ShaderNodeRadialTiling.input_template`](bpy.types.ShaderNodeRadialTiling.html#bpy.types.ShaderNodeRadialTiling.input_template "bpy.types.ShaderNodeRadialTiling.input_template") - [`ShaderNodeRadialTiling.output_template`](bpy.types.ShaderNodeRadialTiling.html#bpy.types.ShaderNodeRadialTiling.output_template "bpy.types.ShaderNodeRadialTiling.output_template") - [`ShaderNodeScript.input_template`](bpy.types.ShaderNodeScript.html#bpy.types.ShaderNodeScript.input_template "bpy.types.ShaderNodeScript.input_template") - [`ShaderNodeScript.output_template`](bpy.types.ShaderNodeScript.html#bpy.types.ShaderNodeScript.output_template "bpy.types.ShaderNodeScript.output_template") - [`ShaderNodeSeparateColor.input_template`](bpy.types.ShaderNodeSeparateColor.html#bpy.types.ShaderNodeSeparateColor.input_template "bpy.types.ShaderNodeSeparateColor.input_template") - [`ShaderNodeSeparateColor.output_template`](bpy.types.ShaderNodeSeparateColor.html#bpy.types.ShaderNodeSeparateColor.output_template "bpy.types.ShaderNodeSeparateColor.output_template") - [`ShaderNodeSeparateXYZ.input_template`](bpy.types.ShaderNodeSeparateXYZ.html#bpy.types.ShaderNodeSeparateXYZ.input_template "bpy.types.ShaderNodeSeparateXYZ.input_template") - [`ShaderNodeSeparateXYZ.output_template`](bpy.types.ShaderNodeSeparateXYZ.html#bpy.types.ShaderNodeSeparateXYZ.output_template "bpy.types.ShaderNodeSeparateXYZ.output_template") - [`ShaderNodeShaderToRGB.input_template`](bpy.types.ShaderNodeShaderToRGB.html#bpy.types.ShaderNodeShaderToRGB.input_template "bpy.types.ShaderNodeShaderToRGB.input_template") - [`ShaderNodeShaderToRGB.output_template`](bpy.types.ShaderNodeShaderToRGB.html#bpy.types.ShaderNodeShaderToRGB.output_template "bpy.types.ShaderNodeShaderToRGB.output_template") - [`ShaderNodeSqueeze.input_template`](bpy.types.ShaderNodeSqueeze.html#bpy.types.ShaderNodeSqueeze.input_template "bpy.types.ShaderNodeSqueeze.input_template") - [`ShaderNodeSqueeze.output_template`](bpy.types.ShaderNodeSqueeze.html#bpy.types.ShaderNodeSqueeze.output_template "bpy.types.ShaderNodeSqueeze.output_template") - [`ShaderNodeSubsurfaceScattering.input_template`](bpy.types.ShaderNodeSubsurfaceScattering.html#bpy.types.ShaderNodeSubsurfaceScattering.input_template "bpy.types.ShaderNodeSubsurfaceScattering.input_template") - [`ShaderNodeSubsurfaceScattering.output_template`](bpy.types.ShaderNodeSubsurfaceScattering.html#bpy.types.ShaderNodeSubsurfaceScattering.output_template "bpy.types.ShaderNodeSubsurfaceScattering.output_template") - [`ShaderNodeTangent.input_template`](bpy.types.ShaderNodeTangent.html#bpy.types.ShaderNodeTangent.input_template "bpy.types.ShaderNodeTangent.input_template") - [`ShaderNodeTangent.output_template`](bpy.types.ShaderNodeTangent.html#bpy.types.ShaderNodeTangent.output_template "bpy.types.ShaderNodeTangent.output_template") - [`ShaderNodeTexBrick.input_template`](bpy.types.ShaderNodeTexBrick.html#bpy.types.ShaderNodeTexBrick.input_template "bpy.types.ShaderNodeTexBrick.input_template") - [`ShaderNodeTexBrick.output_template`](bpy.types.ShaderNodeTexBrick.html#bpy.types.ShaderNodeTexBrick.output_template "bpy.types.ShaderNodeTexBrick.output_template") - [`ShaderNodeTexChecker.input_template`](bpy.types.ShaderNodeTexChecker.html#bpy.types.ShaderNodeTexChecker.input_template "bpy.types.ShaderNodeTexChecker.input_template") - [`ShaderNodeTexChecker.output_template`](bpy.types.ShaderNodeTexChecker.html#bpy.types.ShaderNodeTexChecker.output_template "bpy.types.ShaderNodeTexChecker.output_template") - [`ShaderNodeTexCoord.input_template`](bpy.types.ShaderNodeTexCoord.html#bpy.types.ShaderNodeTexCoord.input_template "bpy.types.ShaderNodeTexCoord.input_template") - [`ShaderNodeTexCoord.output_template`](bpy.types.ShaderNodeTexCoord.html#bpy.types.ShaderNodeTexCoord.output_template "bpy.types.ShaderNodeTexCoord.output_template") - [`ShaderNodeTexEnvironment.input_template`](bpy.types.ShaderNodeTexEnvironment.html#bpy.types.ShaderNodeTexEnvironment.input_template "bpy.types.ShaderNodeTexEnvironment.input_template") - [`ShaderNodeTexEnvironment.output_template`](bpy.types.ShaderNodeTexEnvironment.html#bpy.types.ShaderNodeTexEnvironment.output_template "bpy.types.ShaderNodeTexEnvironment.output_template") - [`ShaderNodeTexGabor.input_template`](bpy.types.ShaderNodeTexGabor.html#bpy.types.ShaderNodeTexGabor.input_template "bpy.types.ShaderNodeTexGabor.input_template") - [`ShaderNodeTexGabor.output_template`](bpy.types.ShaderNodeTexGabor.html#bpy.types.ShaderNodeTexGabor.output_template "bpy.types.ShaderNodeTexGabor.output_template") - [`ShaderNodeTexGradient.input_template`](bpy.types.ShaderNodeTexGradient.html#bpy.types.ShaderNodeTexGradient.input_template "bpy.types.ShaderNodeTexGradient.input_template") - [`ShaderNodeTexGradient.output_template`](bpy.types.ShaderNodeTexGradient.html#bpy.types.ShaderNodeTexGradient.output_template "bpy.types.ShaderNodeTexGradient.output_template") - [`ShaderNodeTexIES.input_template`](bpy.types.ShaderNodeTexIES.html#bpy.types.ShaderNodeTexIES.input_template "bpy.types.ShaderNodeTexIES.input_template") - [`ShaderNodeTexIES.output_template`](bpy.types.ShaderNodeTexIES.html#bpy.types.ShaderNodeTexIES.output_template "bpy.types.ShaderNodeTexIES.output_template") - [`ShaderNodeTexImage.input_template`](bpy.types.ShaderNodeTexImage.html#bpy.types.ShaderNodeTexImage.input_template "bpy.types.ShaderNodeTexImage.input_template") - [`ShaderNodeTexImage.output_template`](bpy.types.ShaderNodeTexImage.html#bpy.types.ShaderNodeTexImage.output_template "bpy.types.ShaderNodeTexImage.output_template") - [`ShaderNodeTexMagic.input_template`](bpy.types.ShaderNodeTexMagic.html#bpy.types.ShaderNodeTexMagic.input_template "bpy.types.ShaderNodeTexMagic.input_template") - [`ShaderNodeTexMagic.output_template`](bpy.types.ShaderNodeTexMagic.html#bpy.types.ShaderNodeTexMagic.output_template "bpy.types.ShaderNodeTexMagic.output_template") - [`ShaderNodeTexNoise.input_template`](bpy.types.ShaderNodeTexNoise.html#bpy.types.ShaderNodeTexNoise.input_template "bpy.types.ShaderNodeTexNoise.input_template") - [`ShaderNodeTexNoise.output_template`](bpy.types.ShaderNodeTexNoise.html#bpy.types.ShaderNodeTexNoise.output_template "bpy.types.ShaderNodeTexNoise.output_template") - [`ShaderNodeTexSky.input_template`](bpy.types.ShaderNodeTexSky.html#bpy.types.ShaderNodeTexSky.input_template "bpy.types.ShaderNodeTexSky.input_template") - [`ShaderNodeTexSky.output_template`](bpy.types.ShaderNodeTexSky.html#bpy.types.ShaderNodeTexSky.output_template "bpy.types.ShaderNodeTexSky.output_template") - [`ShaderNodeTexVoronoi.input_template`](bpy.types.ShaderNodeTexVoronoi.html#bpy.types.ShaderNodeTexVoronoi.input_template "bpy.types.ShaderNodeTexVoronoi.input_template") - [`ShaderNodeTexVoronoi.output_template`](bpy.types.ShaderNodeTexVoronoi.html#bpy.types.ShaderNodeTexVoronoi.output_template "bpy.types.ShaderNodeTexVoronoi.output_template") - [`ShaderNodeTexWave.input_template`](bpy.types.ShaderNodeTexWave.html#bpy.types.ShaderNodeTexWave.input_template "bpy.types.ShaderNodeTexWave.input_template") - [`ShaderNodeTexWave.output_template`](bpy.types.ShaderNodeTexWave.html#bpy.types.ShaderNodeTexWave.output_template "bpy.types.ShaderNodeTexWave.output_template") - [`ShaderNodeTexWhiteNoise.input_template`](bpy.types.ShaderNodeTexWhiteNoise.html#bpy.types.ShaderNodeTexWhiteNoise.input_template "bpy.types.ShaderNodeTexWhiteNoise.input_template") - [`ShaderNodeTexWhiteNoise.output_template`](bpy.types.ShaderNodeTexWhiteNoise.html#bpy.types.ShaderNodeTexWhiteNoise.output_template "bpy.types.ShaderNodeTexWhiteNoise.output_template") - [`ShaderNodeUVAlongStroke.input_template`](bpy.types.ShaderNodeUVAlongStroke.html#bpy.types.ShaderNodeUVAlongStroke.input_template "bpy.types.ShaderNodeUVAlongStroke.input_template") - [`ShaderNodeUVAlongStroke.output_template`](bpy.types.ShaderNodeUVAlongStroke.html#bpy.types.ShaderNodeUVAlongStroke.output_template "bpy.types.ShaderNodeUVAlongStroke.output_template") - [`ShaderNodeUVMap.input_template`](bpy.types.ShaderNodeUVMap.html#bpy.types.ShaderNodeUVMap.input_template "bpy.types.ShaderNodeUVMap.input_template") - [`ShaderNodeUVMap.output_template`](bpy.types.ShaderNodeUVMap.html#bpy.types.ShaderNodeUVMap.output_template "bpy.types.ShaderNodeUVMap.output_template") - [`ShaderNodeValToRGB.input_template`](bpy.types.ShaderNodeValToRGB.html#bpy.types.ShaderNodeValToRGB.input_template "bpy.types.ShaderNodeValToRGB.input_template") - [`ShaderNodeValToRGB.output_template`](bpy.types.ShaderNodeValToRGB.html#bpy.types.ShaderNodeValToRGB.output_template "bpy.types.ShaderNodeValToRGB.output_template") - [`ShaderNodeValue.input_template`](bpy.types.ShaderNodeValue.html#bpy.types.ShaderNodeValue.input_template "bpy.types.ShaderNodeValue.input_template") - [`ShaderNodeValue.output_template`](bpy.types.ShaderNodeValue.html#bpy.types.ShaderNodeValue.output_template "bpy.types.ShaderNodeValue.output_template") - [`ShaderNodeVectorCurve.input_template`](bpy.types.ShaderNodeVectorCurve.html#bpy.types.ShaderNodeVectorCurve.input_template "bpy.types.ShaderNodeVectorCurve.input_template") - [`ShaderNodeVectorCurve.output_template`](bpy.types.ShaderNodeVectorCurve.html#bpy.types.ShaderNodeVectorCurve.output_template "bpy.types.ShaderNodeVectorCurve.output_template") - [`ShaderNodeVectorDisplacement.input_template`](bpy.types.ShaderNodeVectorDisplacement.html#bpy.types.ShaderNodeVectorDisplacement.input_template "bpy.types.ShaderNodeVectorDisplacement.input_template") - [`ShaderNodeVectorDisplacement.output_template`](bpy.types.ShaderNodeVectorDisplacement.html#bpy.types.ShaderNodeVectorDisplacement.output_template "bpy.types.ShaderNodeVectorDisplacement.output_template") - [`ShaderNodeVectorMath.input_template`](bpy.types.ShaderNodeVectorMath.html#bpy.types.ShaderNodeVectorMath.input_template "bpy.types.ShaderNodeVectorMath.input_template") - [`ShaderNodeVectorMath.output_template`](bpy.types.ShaderNodeVectorMath.html#bpy.types.ShaderNodeVectorMath.output_template "bpy.types.ShaderNodeVectorMath.output_template") - [`ShaderNodeVectorRotate.input_template`](bpy.types.ShaderNodeVectorRotate.html#bpy.types.ShaderNodeVectorRotate.input_template "bpy.types.ShaderNodeVectorRotate.input_template") - [`ShaderNodeVectorRotate.output_template`](bpy.types.ShaderNodeVectorRotate.html#bpy.types.ShaderNodeVectorRotate.output_template "bpy.types.ShaderNodeVectorRotate.output_template") - [`ShaderNodeVectorTransform.input_template`](bpy.types.ShaderNodeVectorTransform.html#bpy.types.ShaderNodeVectorTransform.input_template "bpy.types.ShaderNodeVectorTransform.input_template") - [`ShaderNodeVectorTransform.output_template`](bpy.types.ShaderNodeVectorTransform.html#bpy.types.ShaderNodeVectorTransform.output_template "bpy.types.ShaderNodeVectorTransform.output_template") - [`ShaderNodeVertexColor.input_template`](bpy.types.ShaderNodeVertexColor.html#bpy.types.ShaderNodeVertexColor.input_template "bpy.types.ShaderNodeVertexColor.input_template") - [`ShaderNodeVertexColor.output_template`](bpy.types.ShaderNodeVertexColor.html#bpy.types.ShaderNodeVertexColor.output_template "bpy.types.ShaderNodeVertexColor.output_template") - [`ShaderNodeVolumeAbsorption.input_template`](bpy.types.ShaderNodeVolumeAbsorption.html#bpy.types.ShaderNodeVolumeAbsorption.input_template "bpy.types.ShaderNodeVolumeAbsorption.input_template") - [`ShaderNodeVolumeAbsorption.output_template`](bpy.types.ShaderNodeVolumeAbsorption.html#bpy.types.ShaderNodeVolumeAbsorption.output_template "bpy.types.ShaderNodeVolumeAbsorption.output_template") - [`ShaderNodeVolumeCoefficients.input_template`](bpy.types.ShaderNodeVolumeCoefficients.html#bpy.types.ShaderNod