private void RefreshData() { stringBuilder.Length = 0; Assembly editorAssembly = typeof(VRTK_SDKManagerEditor).Assembly; Assembly assembly = typeof(VRTK_SDKManager).Assembly; Append( "Versions", () => { Append("Unity", InternalEditorUtility.GetFullUnityVersion()); Type steamVRUpdateType = editorAssembly.GetType("SteamVR_Update"); if (steamVRUpdateType != null) { FieldInfo currentVersionField = steamVRUpdateType.GetField("currentVersion", BindingFlags.NonPublic | BindingFlags.Static); if (currentVersionField != null) { string currentVersion = (string)currentVersionField.GetValue(null); Append("SteamVR", currentVersion); } } Type ovrPluginType = assembly.GetType("OVRPlugin"); if (ovrPluginType != null) { Append( "OVRPlugin (Oculus Utilities)", () => { FieldInfo wrapperVersionField = ovrPluginType.GetField("wrapperVersion", BindingFlags.Public | BindingFlags.Static); if (wrapperVersionField != null) { Version wrapperVersion = (Version)wrapperVersionField.GetValue(null); Append("wrapperVersion", wrapperVersion); } PropertyInfo versionField = ovrPluginType.GetProperty("version", BindingFlags.Public | BindingFlags.Static); if (versionField != null) { Version version = (Version)versionField.GetGetMethod().Invoke(null, null); Append("version", version); } PropertyInfo nativeSDKVersionField = ovrPluginType.GetProperty("nativeSDKVersion", BindingFlags.Public | BindingFlags.Static); if (nativeSDKVersionField != null) { Version nativeSDKVersion = (Version)nativeSDKVersionField.GetGetMethod().Invoke(null, null); Append("nativeSDKVersion", nativeSDKVersion); } } ); } } ); Append( "VR Settings", () => { foreach (BuildTargetGroup targetGroup in VRTK_SharedMethods.GetValidBuildTargetGroups()) { bool isVREnabled; #if UNITY_5_5_OR_NEWER isVREnabled = VREditor.GetVREnabledOnTargetGroup(targetGroup); #else isVREnabled = VREditor.GetVREnabled(targetGroup); #endif if (!isVREnabled) { continue; } string[] vrEnabledDevices; #if UNITY_5_5_OR_NEWER vrEnabledDevices = VREditor.GetVREnabledDevicesOnTargetGroup(targetGroup); #else vrEnabledDevices = VREditor.GetVREnabledDevices(targetGroup); #endif Append(targetGroup, string.Join(", ", vrEnabledDevices)); } } ); Append( "Scripting Define Symbols", () => { foreach (BuildTargetGroup targetGroup in VRTK_SharedMethods.GetValidBuildTargetGroups()) { string symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(targetGroup); if (!string.IsNullOrEmpty(symbols)) { Append(targetGroup, symbols); } } } ); stringBuilder.Length--; }