static void ResetReflectionProbe(MenuCommand menuCommand) { GameObject go = ((ReflectionProbe)menuCommand.context).gameObject; Assert.IsNotNull(go); ReflectionProbe reflectionProbe = go.GetComponent <ReflectionProbe>(); HDAdditionalReflectionData reflectionProbeAdditionalData = go.GetComponent <HDAdditionalReflectionData>(); Assert.IsNotNull(reflectionProbe); Assert.IsNotNull(reflectionProbeAdditionalData); Undo.SetCurrentGroupName("Reset HD Reflection Probe"); Undo.RecordObjects(new UnityEngine.Object[] { reflectionProbe, reflectionProbeAdditionalData }, "Reset HD Reflection Probe"); reflectionProbe.Reset(); // To avoid duplicating init code we copy default settings to Reset additional data // Note: we can't call this code inside the HDAdditionalReflectionData, thus why we don't wrap it in Reset() function EditorUtility.CopySerialized(HDUtils.s_DefaultHDAdditionalReflectionData, reflectionProbeAdditionalData); }