private static void EditCustomSettingsProperties() { GameObject prefab = Resources.Load <GameObject>(SpectatorView.SettingsPrefabName); GameObject hierarchyPrefab = null; if (prefab == null) { hierarchyPrefab = new GameObject(SpectatorView.SettingsPrefabName); hierarchyPrefab.AddComponent <BroadcasterSettings>(); hierarchyPrefab.AddComponent <SpatialLocalizationInitializationSettings>(); hierarchyPrefab.AddComponent <MobileRecordingSettings>(); hierarchyPrefab.AddComponent <NetworkConfigurationSettings>(); AssetCache.EnsureAssetDirectoryExists(); prefab = PrefabUtility.SaveAsPrefabAsset(hierarchyPrefab, AssetCache.GetAssetCachePath(SpectatorView.SettingsPrefabName, ".prefab")); Object.DestroyImmediate(hierarchyPrefab); } else { GameObject editablePrefab = PrefabUtility.LoadPrefabContents(AssetCache.GetAssetCachePath(SpectatorView.SettingsPrefabName, ".prefab")); EnsureComponent <BroadcasterSettings>(editablePrefab); EnsureComponent <SpatialLocalizationInitializationSettings>(editablePrefab); EnsureComponent <MobileRecordingSettings>(editablePrefab); EnsureComponent <NetworkConfigurationSettings>(editablePrefab); PrefabUtility.SaveAsPrefabAsset(editablePrefab, AssetCache.GetAssetCachePath(SpectatorView.SettingsPrefabName, ".prefab")); PrefabUtility.UnloadPrefabContents(editablePrefab); } AssetDatabase.OpenAsset(prefab); }
private static void EditCustomShaderProperties() { GameObject prefab = Resources.Load <GameObject>(StateSynchronizationSceneManager.CustomBroadcasterServicesPrefabName); if (prefab == null) { GameObject hierarchyPrefab = new GameObject(StateSynchronizationSceneManager.CustomBroadcasterServicesPrefabName); AssetCache.EnsureAssetDirectoryExists(); prefab = PrefabUtility.SaveAsPrefabAsset(hierarchyPrefab, AssetCache.GetAssetCachePath(StateSynchronizationSceneManager.CustomBroadcasterServicesPrefabName, ".prefab")); Object.DestroyImmediate(hierarchyPrefab); } AssetDatabase.OpenAsset(prefab); }
internal static void EditGlobalPerformanceParameters() { GameObject prefab = Resources.Load <GameObject>(StateSynchronizationSceneManager.DefaultStateSynchronizationPerformanceParametersPrefabName); if (prefab == null) { GameObject hierarchyPrefab = new GameObject(StateSynchronizationSceneManager.DefaultStateSynchronizationPerformanceParametersPrefabName); hierarchyPrefab.AddComponent <DefaultStateSynchronizationPerformanceParameters>(); AssetCache.EnsureAssetDirectoryExists(); prefab = PrefabUtility.SaveAsPrefabAsset(hierarchyPrefab, AssetCache.GetAssetCachePath(StateSynchronizationSceneManager.DefaultStateSynchronizationPerformanceParametersPrefabName, ".prefab")); Object.DestroyImmediate(hierarchyPrefab); } AssetDatabase.OpenAsset(prefab); }