public override void AddDefaultProperty(PropertyCollector properties, GenerationMode generationMode) { if (!generationMode.IsPreview()) { return; } var matOwner = owner as AbstractMaterialNode; if (matOwner == null) { throw new Exception(string.Format("Slot {0} either has no owner, or the owner is not a {1}", this, typeof(AbstractMaterialNode))); } var property = new Matrix4ShaderProperty() { overrideReferenceName = matOwner.GetVariableNameForSlot(id), generatePropertyBlock = false, value = value }; properties.AddShaderProperty(property); }