void Slice(SliceConfigurationFile sliceConfigurationFile) { SliceConfiguration sliceConfigurationToUse = new SliceConfiguration(sliceConfigurationFile.SliceConfiguration); var slicer = new Slicer(sliceConfigurationToUse, new VersionDependentDataCopier()); string additionalDetails; try { additionalDetails = slicer.InitializeSlice(new CustomTreeDataHandler()); } catch (System.Exception exception) { SliceException sliceException = exception as SliceException; if (sliceException != null) { EditorUtility.DisplayDialog("Slicing Error", sliceException.ReasonSliceFailed, "OK"); return; } SliceCanceledException cancelException = exception as SliceCanceledException; if (cancelException != null) { return; } throw exception; } if (additionalDetails != "") { Debug.Log(additionalDetails); } }