diff --git a/Assets/HOTK/HOTK_Overlay.cs b/Assets/HOTK/HOTK_Overlay.cs
index e727abd..937c1af 100644
--- a/Assets/HOTK/HOTK_Overlay.cs
+++ b/Assets/HOTK/HOTK_Overlay.cs
@@ -610,7 +610,7 @@ private void UpdateOverlay()
var tex = new Texture_t
{
handle = OverlayTexture.GetNativeTexturePtr(),
- eType = SteamVR.instance.graphicsAPI,
+ eType = SteamVR.instance.textureType,
eColorSpace = EColorSpace.Auto
};
overlay.SetOverlayColor(_handle, 1f, 1f, 1f);
@@ -708,7 +708,7 @@ private void UpdateRenderTexture()
var tex = new Texture_t
{
handle = OverlayTexture.GetNativeTexturePtr(),
- eType = SteamVR.instance.graphicsAPI,
+ eType = SteamVR.instance.textureType,
eColorSpace = EColorSpace.Auto
};
diff --git a/Assets/HOTK/HOTK_TrackedDevice.cs b/Assets/HOTK/HOTK_TrackedDevice.cs
index 8503103..e7ba763 100644
--- a/Assets/HOTK/HOTK_TrackedDevice.cs
+++ b/Assets/HOTK/HOTK_TrackedDevice.cs
@@ -39,7 +39,7 @@ public enum EType
private EType _type;
- private void OnNewPoses(params object[] args)
+ private void OnNewPoses(params TrackedDevicePose_t[] args)
{
if (_type != Type)
{
@@ -79,7 +79,7 @@ private void OnNewPoses(params object[] args)
var i = (int) Index;
- var poses = (TrackedDevicePose_t[]) args[0];
+ var poses = args;
if (poses.Length <= i)
return;
@@ -130,12 +130,12 @@ private void OnControllerIndexChanged(ETrackedControllerRole role, uint index)
public void OnEnable()
{
Reset();
- SteamVR_Utils.Event.Listen("new_poses", OnNewPoses);
+ SteamVR_Events.NewPoses.Listen(OnNewPoses);
}
public void OnDisable()
{
- SteamVR_Utils.Event.Remove("new_poses", OnNewPoses);
+ SteamVR_Events.NewPoses.Remove(OnNewPoses);
Reset();
}
diff --git a/Assets/HOTK/HOTK_TrackedDeviceManager.cs b/Assets/HOTK/HOTK_TrackedDeviceManager.cs
index 264d53b..31b5fd2 100644
--- a/Assets/HOTK/HOTK_TrackedDeviceManager.cs
+++ b/Assets/HOTK/HOTK_TrackedDeviceManager.cs
@@ -65,8 +65,8 @@ private void UpdatePoses()
var compositor = OpenVR.Compositor;
if (compositor == null) return;
compositor.GetLastPoses(_poses, _gamePoses);
- SteamVR_Utils.Event.Send("new_poses", _poses);
- SteamVR_Utils.Event.Send("new_poses_applied");
+ SteamVR_Events.NewPoses.Send(_poses);
+ SteamVR_Events.NewPosesApplied.Send();
}
///
diff --git a/Assets/Plugins/openvr_api.bundle.meta b/Assets/Plugins/openvr_api.bundle.meta
index 7a63b74..089e14e 100644
--- a/Assets/Plugins/openvr_api.bundle.meta
+++ b/Assets/Plugins/openvr_api.bundle.meta
@@ -4,14 +4,43 @@ folderAsset: yes
timeCreated: 1465633285
licenseType: Free
PluginImporter:
- serializedVersion: 1
+ serializedVersion: 2
iconMap: {}
executionOrder: {}
isPreloaded: 0
+ isOverridable: 0
platformData:
- Any:
- enabled: 1
- settings: {}
+ data:
+ first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ data:
+ first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ DefaultValueInitialized: true
+ data:
+ first:
+ Standalone: OSXIntel
+ second:
+ enabled: 1
+ settings: {}
+ data:
+ first:
+ Standalone: OSXIntel64
+ second:
+ enabled: 1
+ settings: {}
+ data:
+ first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 1
+ settings: {}
userData:
assetBundleName:
assetBundleVariant:
diff --git a/Assets/Plugins/openvr_api.cs b/Assets/Plugins/openvr_api.cs
index f31b0cd..33bfd25 100644
--- a/Assets/Plugins/openvr_api.cs
+++ b/Assets/Plugins/openvr_api.cs
@@ -1,4 +1,4 @@
-//======= Copyright 1996-2014, Valve Corporation, All rights reserved. ========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: This file contains C#/managed code bindings for the OpenVR interfaces
// This file is auto-generated, do not edit it.
@@ -21,7 +21,7 @@ public struct IVRSystem
internal _GetRecommendedRenderTargetSize GetRecommendedRenderTargetSize;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate HmdMatrix44_t _GetProjectionMatrix(EVREye eEye, float fNearZ, float fFarZ, EGraphicsAPIConvention eProjType);
+ internal delegate HmdMatrix44_t _GetProjectionMatrix(EVREye eEye, float fNearZ, float fFarZ);
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetProjectionMatrix GetProjectionMatrix;
@@ -31,7 +31,7 @@ public struct IVRSystem
internal _GetProjectionRaw GetProjectionRaw;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate DistortionCoordinates_t _ComputeDistortion(EVREye eEye, float fU, float fV);
+ internal delegate bool _ComputeDistortion(EVREye eEye, float fU, float fV, ref DistortionCoordinates_t pDistortionCoordinates);
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _ComputeDistortion ComputeDistortion;
@@ -171,17 +171,17 @@ public struct IVRSystem
internal _GetEventTypeNameFromEnum GetEventTypeNameFromEnum;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate HiddenAreaMesh_t _GetHiddenAreaMesh(EVREye eEye);
+ internal delegate HiddenAreaMesh_t _GetHiddenAreaMesh(EVREye eEye, EHiddenAreaMeshType type);
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetHiddenAreaMesh GetHiddenAreaMesh;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate bool _GetControllerState(uint unControllerDeviceIndex, ref VRControllerState_t pControllerState);
+ internal delegate bool _GetControllerState(uint unControllerDeviceIndex, ref VRControllerState_t pControllerState, uint unControllerStateSize);
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetControllerState GetControllerState;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate bool _GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin, uint unControllerDeviceIndex, ref VRControllerState_t pControllerState, ref TrackedDevicePose_t pTrackedDevicePose);
+ internal delegate bool _GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin, uint unControllerDeviceIndex, ref VRControllerState_t pControllerState, uint unControllerStateSize, ref TrackedDevicePose_t pTrackedDevicePose);
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetControllerStateWithPose GetControllerStateWithPose;
@@ -257,6 +257,71 @@ public struct IVRExtendedDisplay
}
+[StructLayout(LayoutKind.Sequential)]
+public struct IVRTrackedCamera
+{
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate IntPtr _GetCameraErrorNameFromEnum(EVRTrackedCameraError eCameraError);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetCameraErrorNameFromEnum GetCameraErrorNameFromEnum;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRTrackedCameraError _HasCamera(uint nDeviceIndex, ref bool pHasCamera);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _HasCamera HasCamera;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRTrackedCameraError _GetCameraFrameSize(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref uint pnWidth, ref uint pnHeight, ref uint pnFrameBufferSize);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetCameraFrameSize GetCameraFrameSize;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRTrackedCameraError _GetCameraIntrinsics(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref HmdVector2_t pFocalLength, ref HmdVector2_t pCenter);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetCameraIntrinsics GetCameraIntrinsics;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRTrackedCameraError _GetCameraProjection(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, ref HmdMatrix44_t pProjection);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetCameraProjection GetCameraProjection;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRTrackedCameraError _AcquireVideoStreamingService(uint nDeviceIndex, ref ulong pHandle);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _AcquireVideoStreamingService AcquireVideoStreamingService;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRTrackedCameraError _ReleaseVideoStreamingService(ulong hTrackedCamera);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _ReleaseVideoStreamingService ReleaseVideoStreamingService;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRTrackedCameraError _GetVideoStreamFrameBuffer(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, IntPtr pFrameBuffer, uint nFrameBufferSize, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetVideoStreamFrameBuffer GetVideoStreamFrameBuffer;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRTrackedCameraError _GetVideoStreamTextureSize(uint nDeviceIndex, EVRTrackedCameraFrameType eFrameType, ref VRTextureBounds_t pTextureBounds, ref uint pnWidth, ref uint pnHeight);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetVideoStreamTextureSize GetVideoStreamTextureSize;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRTrackedCameraError _GetVideoStreamTextureD3D11(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, IntPtr pD3D11DeviceOrResource, ref IntPtr ppD3D11ShaderResourceView, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetVideoStreamTextureD3D11 GetVideoStreamTextureD3D11;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRTrackedCameraError _GetVideoStreamTextureGL(ulong hTrackedCamera, EVRTrackedCameraFrameType eFrameType, ref uint pglTextureId, ref CameraVideoStreamFrameHeader_t pFrameHeader, uint nFrameHeaderSize);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetVideoStreamTextureGL GetVideoStreamTextureGL;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRTrackedCameraError _ReleaseVideoStreamTextureGL(ulong hTrackedCamera, uint glTextureId);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _ReleaseVideoStreamTextureGL ReleaseVideoStreamTextureGL;
+
+}
+
[StructLayout(LayoutKind.Sequential)]
public struct IVRApplications
{
@@ -281,7 +346,7 @@ public struct IVRApplications
internal _GetApplicationCount GetApplicationCount;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate EVRApplicationError _GetApplicationKeyByIndex(uint unApplicationIndex, string pchAppKeyBuffer, uint unAppKeyBufferLen);
+ internal delegate EVRApplicationError _GetApplicationKeyByIndex(uint unApplicationIndex, System.Text.StringBuilder pchAppKeyBuffer, uint unAppKeyBufferLen);
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetApplicationKeyByIndex GetApplicationKeyByIndex;
@@ -300,6 +365,11 @@ public struct IVRApplications
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _LaunchTemplateApplication LaunchTemplateApplication;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRApplicationError _LaunchApplicationFromMimeType(string pchMimeType, string pchArgs);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _LaunchApplicationFromMimeType LaunchApplicationFromMimeType;
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVRApplicationError _LaunchDashboardOverlay(string pchAppKey);
[MarshalAs(UnmanagedType.FunctionPtr)]
@@ -326,7 +396,7 @@ public struct IVRApplications
internal _GetApplicationsErrorNameFromEnum GetApplicationsErrorNameFromEnum;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate uint _GetApplicationPropertyString(string pchAppKey, EVRApplicationProperty eProperty, string pchPropertyValueBuffer, uint unPropertyValueBufferLen, ref EVRApplicationError peError);
+ internal delegate uint _GetApplicationPropertyString(string pchAppKey, EVRApplicationProperty eProperty, System.Text.StringBuilder pchPropertyValueBuffer, uint unPropertyValueBufferLen, ref EVRApplicationError peError);
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetApplicationPropertyString GetApplicationPropertyString;
@@ -350,6 +420,31 @@ public struct IVRApplications
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetApplicationAutoLaunch GetApplicationAutoLaunch;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRApplicationError _SetDefaultApplicationForMimeType(string pchAppKey, string pchMimeType);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _SetDefaultApplicationForMimeType SetDefaultApplicationForMimeType;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate bool _GetDefaultApplicationForMimeType(string pchMimeType, string pchAppKeyBuffer, uint unAppKeyBufferLen);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetDefaultApplicationForMimeType GetDefaultApplicationForMimeType;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate bool _GetApplicationSupportedMimeTypes(string pchAppKey, string pchMimeTypesBuffer, uint unMimeTypesBuffer);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetApplicationSupportedMimeTypes GetApplicationSupportedMimeTypes;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate uint _GetApplicationsThatSupportMimeType(string pchMimeType, string pchAppKeysThatSupportBuffer, uint unAppKeysThatSupportBuffer);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetApplicationsThatSupportMimeType GetApplicationsThatSupportMimeType;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate uint _GetApplicationLaunchArguments(uint unHandle, string pchArgs, uint unArgs);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetApplicationLaunchArguments GetApplicationLaunchArguments;
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVRApplicationError _GetStartingApplication(string pchAppKeyBuffer, uint unAppKeyBufferLen);
[MarshalAs(UnmanagedType.FunctionPtr)]
@@ -380,6 +475,11 @@ public struct IVRApplications
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _LaunchInternalProcess LaunchInternalProcess;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate uint _GetCurrentSceneProcessId();
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetCurrentSceneProcessId GetCurrentSceneProcessId;
+
}
[StructLayout(LayoutKind.Sequential)]
@@ -580,21 +680,41 @@ public struct IVRCompositor
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetFrameTiming GetFrameTiming;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate uint _GetFrameTimings(ref Compositor_FrameTiming pTiming, uint nFrames);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetFrameTimings GetFrameTimings;
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate float _GetFrameTimeRemaining();
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetFrameTimeRemaining GetFrameTimeRemaining;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate void _GetCumulativeStats(ref Compositor_CumulativeStats pStats, uint nStatsSizeInBytes);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetCumulativeStats GetCumulativeStats;
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _FadeToColor(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground);
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _FadeToColor FadeToColor;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate HmdColor_t _GetCurrentFadeColor(bool bBackground);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetCurrentFadeColor GetCurrentFadeColor;
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _FadeGrid(float fSeconds, bool bFadeIn);
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _FadeGrid FadeGrid;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate float _GetCurrentGridAlpha();
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetCurrentGridAlpha GetCurrentGridAlpha;
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVRCompositorError _SetSkyboxOverride([In, Out] Texture_t[] pTextures, uint unTextureCount);
[MarshalAs(UnmanagedType.FunctionPtr)]
@@ -680,6 +800,46 @@ public struct IVRCompositor
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _SuspendRendering SuspendRendering;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRCompositorError _GetMirrorTextureD3D11(EVREye eEye, IntPtr pD3D11DeviceOrResource, ref IntPtr ppD3D11ShaderResourceView);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetMirrorTextureD3D11 GetMirrorTextureD3D11;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate void _ReleaseMirrorTextureD3D11(IntPtr pD3D11ShaderResourceView);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _ReleaseMirrorTextureD3D11 ReleaseMirrorTextureD3D11;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRCompositorError _GetMirrorTextureGL(EVREye eEye, ref uint pglTextureId, IntPtr pglSharedTextureHandle);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetMirrorTextureGL GetMirrorTextureGL;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate bool _ReleaseSharedGLTexture(uint glTextureId, IntPtr glSharedTextureHandle);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _ReleaseSharedGLTexture ReleaseSharedGLTexture;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate void _LockGLSharedTextureForAccess(IntPtr glSharedTextureHandle);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _LockGLSharedTextureForAccess LockGLSharedTextureForAccess;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate void _UnlockGLSharedTextureForAccess(IntPtr glSharedTextureHandle);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _UnlockGLSharedTextureForAccess UnlockGLSharedTextureForAccess;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate uint _GetVulkanInstanceExtensionsRequired(System.Text.StringBuilder pchValue, uint unBufferSize);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetVulkanInstanceExtensionsRequired GetVulkanInstanceExtensionsRequired;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate uint _GetVulkanDeviceExtensionsRequired(IntPtr pPhysicalDevice, System.Text.StringBuilder pchValue, uint unBufferSize);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetVulkanDeviceExtensionsRequired GetVulkanDeviceExtensionsRequired;
+
}
[StructLayout(LayoutKind.Sequential)]
@@ -770,6 +930,26 @@ public struct IVROverlay
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetOverlayAlpha GetOverlayAlpha;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVROverlayError _SetOverlayTexelAspect(ulong ulOverlayHandle, float fTexelAspect);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _SetOverlayTexelAspect SetOverlayTexelAspect;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVROverlayError _GetOverlayTexelAspect(ulong ulOverlayHandle, ref float pfTexelAspect);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetOverlayTexelAspect GetOverlayTexelAspect;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVROverlayError _SetOverlaySortOrder(ulong ulOverlayHandle, uint unSortOrder);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _SetOverlaySortOrder SetOverlaySortOrder;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVROverlayError _GetOverlaySortOrder(ulong ulOverlayHandle, ref uint punSortOrder);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetOverlaySortOrder GetOverlaySortOrder;
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVROverlayError _SetOverlayWidthInMeters(ulong ulOverlayHandle, float fWidthInMeters);
[MarshalAs(UnmanagedType.FunctionPtr)]
@@ -946,7 +1126,7 @@ public struct IVROverlay
internal _SetOverlayFromFile SetOverlayFromFile;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate EVROverlayError _GetOverlayTexture(ulong ulOverlayHandle, ref IntPtr pNativeTextureHandle, IntPtr pNativeTextureRef, ref uint pWidth, ref uint pHeight, ref uint pNativeFormat, ref EGraphicsAPIConvention pAPI, ref EColorSpace pColorSpace);
+ internal delegate EVROverlayError _GetOverlayTexture(ulong ulOverlayHandle, ref IntPtr pNativeTextureHandle, IntPtr pNativeTextureRef, ref uint pWidth, ref uint pHeight, ref uint pNativeFormat, ref ETextureType pAPIType, ref EColorSpace pColorSpace, ref VRTextureBounds_t pTextureBounds);
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _GetOverlayTexture GetOverlayTexture;
@@ -955,6 +1135,11 @@ public struct IVROverlay
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _ReleaseNativeOverlayHandle ReleaseNativeOverlayHandle;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVROverlayError _GetOverlayTextureSize(ulong ulOverlayHandle, ref uint pWidth, ref uint pHeight);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetOverlayTextureSize GetOverlayTextureSize;
+
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate EVROverlayError _CreateDashboardOverlay(string pchOverlayKey, string pchOverlayFriendlyName, ref ulong pMainHandle, ref ulong pThumbnailHandle);
[MarshalAs(UnmanagedType.FunctionPtr)]
@@ -1020,6 +1205,21 @@ public struct IVROverlay
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _SetKeyboardPositionForOverlay SetKeyboardPositionForOverlay;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVROverlayError _SetOverlayIntersectionMask(ulong ulOverlayHandle, ref VROverlayIntersectionMaskPrimitive_t pMaskPrimitives, uint unNumMaskPrimitives, uint unPrimitiveSize);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _SetOverlayIntersectionMask SetOverlayIntersectionMask;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVROverlayError _GetOverlayFlags(ulong ulOverlayHandle, ref uint pFlags);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetOverlayFlags GetOverlayFlags;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate VRMessageOverlayResponse _ShowMessageOverlay(string pchText, string pchCaption, string pchButton0Text, string pchButton1Text, string pchButton2Text, string pchButton3Text);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _ShowMessageOverlay ShowMessageOverlay;
+
}
[StructLayout(LayoutKind.Sequential)]
@@ -1100,6 +1300,21 @@ public struct IVRRenderModels
[MarshalAs(UnmanagedType.FunctionPtr)]
internal _RenderModelHasComponent RenderModelHasComponent;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate uint _GetRenderModelThumbnailURL(string pchRenderModelName, System.Text.StringBuilder pchThumbnailURL, uint unThumbnailURLLen, ref EVRRenderModelError peError);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetRenderModelThumbnailURL GetRenderModelThumbnailURL;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate uint _GetRenderModelOriginalPath(string pchRenderModelName, System.Text.StringBuilder pchOriginalPath, uint unOriginalPathLen, ref EVRRenderModelError peError);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetRenderModelOriginalPath GetRenderModelOriginalPath;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate IntPtr _GetRenderModelErrorNameFromEnum(EVRRenderModelError error);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetRenderModelErrorNameFromEnum GetRenderModelErrorNameFromEnum;
+
}
[StructLayout(LayoutKind.Sequential)]
@@ -1131,44 +1346,44 @@ public struct IVRSettings
internal _Sync Sync;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate bool _GetBool(string pchSection, string pchSettingsKey, bool bDefaultValue, ref EVRSettingsError peError);
+ internal delegate void _SetBool(string pchSection, string pchSettingsKey, bool bValue, ref EVRSettingsError peError);
[MarshalAs(UnmanagedType.FunctionPtr)]
- internal _GetBool GetBool;
+ internal _SetBool SetBool;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate void _SetBool(string pchSection, string pchSettingsKey, bool bValue, ref EVRSettingsError peError);
+ internal delegate void _SetInt32(string pchSection, string pchSettingsKey, int nValue, ref EVRSettingsError peError);
[MarshalAs(UnmanagedType.FunctionPtr)]
- internal _SetBool SetBool;
+ internal _SetInt32 SetInt32;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate int _GetInt32(string pchSection, string pchSettingsKey, int nDefaultValue, ref EVRSettingsError peError);
+ internal delegate void _SetFloat(string pchSection, string pchSettingsKey, float flValue, ref EVRSettingsError peError);
[MarshalAs(UnmanagedType.FunctionPtr)]
- internal _GetInt32 GetInt32;
+ internal _SetFloat SetFloat;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate void _SetInt32(string pchSection, string pchSettingsKey, int nValue, ref EVRSettingsError peError);
+ internal delegate void _SetString(string pchSection, string pchSettingsKey, string pchValue, ref EVRSettingsError peError);
[MarshalAs(UnmanagedType.FunctionPtr)]
- internal _SetInt32 SetInt32;
+ internal _SetString SetString;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate float _GetFloat(string pchSection, string pchSettingsKey, float flDefaultValue, ref EVRSettingsError peError);
+ internal delegate bool _GetBool(string pchSection, string pchSettingsKey, ref EVRSettingsError peError);
[MarshalAs(UnmanagedType.FunctionPtr)]
- internal _GetFloat GetFloat;
+ internal _GetBool GetBool;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate void _SetFloat(string pchSection, string pchSettingsKey, float flValue, ref EVRSettingsError peError);
+ internal delegate int _GetInt32(string pchSection, string pchSettingsKey, ref EVRSettingsError peError);
[MarshalAs(UnmanagedType.FunctionPtr)]
- internal _SetFloat SetFloat;
+ internal _GetInt32 GetInt32;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate void _GetString(string pchSection, string pchSettingsKey, string pchValue, uint unValueLen, string pchDefaultValue, ref EVRSettingsError peError);
+ internal delegate float _GetFloat(string pchSection, string pchSettingsKey, ref EVRSettingsError peError);
[MarshalAs(UnmanagedType.FunctionPtr)]
- internal _GetString GetString;
+ internal _GetFloat GetFloat;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate void _SetString(string pchSection, string pchSettingsKey, string pchValue, ref EVRSettingsError peError);
+ internal delegate void _GetString(string pchSection, string pchSettingsKey, System.Text.StringBuilder pchValue, uint unValueLen, ref EVRSettingsError peError);
[MarshalAs(UnmanagedType.FunctionPtr)]
- internal _SetString SetString;
+ internal _GetString GetString;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void _RemoveSection(string pchSection, ref EVRSettingsError peError);
@@ -1182,6 +1397,61 @@ public struct IVRSettings
}
+[StructLayout(LayoutKind.Sequential)]
+public struct IVRScreenshots
+{
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRScreenshotError _RequestScreenshot(ref uint pOutScreenshotHandle, EVRScreenshotType type, string pchPreviewFilename, string pchVRFilename);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _RequestScreenshot RequestScreenshot;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRScreenshotError _HookScreenshot([In, Out] EVRScreenshotType[] pSupportedTypes, int numTypes);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _HookScreenshot HookScreenshot;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRScreenshotType _GetScreenshotPropertyType(uint screenshotHandle, ref EVRScreenshotError pError);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetScreenshotPropertyType GetScreenshotPropertyType;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate uint _GetScreenshotPropertyFilename(uint screenshotHandle, EVRScreenshotPropertyFilenames filenameType, System.Text.StringBuilder pchFilename, uint cchFilename, ref EVRScreenshotError pError);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetScreenshotPropertyFilename GetScreenshotPropertyFilename;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRScreenshotError _UpdateScreenshotProgress(uint screenshotHandle, float flProgress);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _UpdateScreenshotProgress UpdateScreenshotProgress;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRScreenshotError _TakeStereoScreenshot(ref uint pOutScreenshotHandle, string pchPreviewFilename, string pchVRFilename);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _TakeStereoScreenshot TakeStereoScreenshot;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate EVRScreenshotError _SubmitScreenshot(uint screenshotHandle, EVRScreenshotType type, string pchSourcePreviewFilename, string pchSourceVRFilename);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _SubmitScreenshot SubmitScreenshot;
+
+}
+
+[StructLayout(LayoutKind.Sequential)]
+public struct IVRResources
+{
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate uint _LoadSharedResource(string pchResourceName, string pchBuffer, uint unBufferLen);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _LoadSharedResource LoadSharedResource;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate uint _GetResourceFullPath(string pchResourceName, string pchResourceTypeDirectory, string pchPathBuffer, uint unBufferLen);
+ [MarshalAs(UnmanagedType.FunctionPtr)]
+ internal _GetResourceFullPath GetResourceFullPath;
+
+}
+
public class CVRSystem
{
@@ -1196,9 +1466,9 @@ public void GetRecommendedRenderTargetSize(ref uint pnWidth,ref uint pnHeight)
pnHeight = 0;
FnTable.GetRecommendedRenderTargetSize(ref pnWidth,ref pnHeight);
}
- public HmdMatrix44_t GetProjectionMatrix(EVREye eEye,float fNearZ,float fFarZ,EGraphicsAPIConvention eProjType)
+ public HmdMatrix44_t GetProjectionMatrix(EVREye eEye,float fNearZ,float fFarZ)
{
- HmdMatrix44_t result = FnTable.GetProjectionMatrix(eEye,fNearZ,fFarZ,eProjType);
+ HmdMatrix44_t result = FnTable.GetProjectionMatrix(eEye,fNearZ,fFarZ);
return result;
}
public void GetProjectionRaw(EVREye eEye,ref float pfLeft,ref float pfRight,ref float pfTop,ref float pfBottom)
@@ -1209,9 +1479,9 @@ public void GetProjectionRaw(EVREye eEye,ref float pfLeft,ref float pfRight,ref
pfBottom = 0;
FnTable.GetProjectionRaw(eEye,ref pfLeft,ref pfRight,ref pfTop,ref pfBottom);
}
- public DistortionCoordinates_t ComputeDistortion(EVREye eEye,float fU,float fV)
+ public bool ComputeDistortion(EVREye eEye,float fU,float fV,ref DistortionCoordinates_t pDistortionCoordinates)
{
- DistortionCoordinates_t result = FnTable.ComputeDistortion(eEye,fU,fV);
+ bool result = FnTable.ComputeDistortion(eEye,fU,fV,ref pDistortionCoordinates);
return result;
}
public HmdMatrix34_t GetEyeToHeadTransform(EVREye eEye)
@@ -1331,7 +1601,7 @@ public uint GetStringTrackedDeviceProperty(uint unDeviceIndex,ETrackedDeviceProp
public string GetPropErrorNameFromEnum(ETrackedPropertyError error)
{
IntPtr result = FnTable.GetPropErrorNameFromEnum(error);
- return (string) Marshal.PtrToStructure(result, typeof(string));
+ return Marshal.PtrToStringAnsi(result);
}
public bool PollNextEvent(ref VREvent_t pEvent,uint uncbVREvent)
{
@@ -1346,21 +1616,69 @@ public bool PollNextEventWithPose(ETrackingUniverseOrigin eOrigin,ref VREvent_t
public string GetEventTypeNameFromEnum(EVREventType eType)
{
IntPtr result = FnTable.GetEventTypeNameFromEnum(eType);
- return (string) Marshal.PtrToStructure(result, typeof(string));
+ return Marshal.PtrToStringAnsi(result);
}
- public HiddenAreaMesh_t GetHiddenAreaMesh(EVREye eEye)
+ public HiddenAreaMesh_t GetHiddenAreaMesh(EVREye eEye,EHiddenAreaMeshType type)
{
- HiddenAreaMesh_t result = FnTable.GetHiddenAreaMesh(eEye);
+ HiddenAreaMesh_t result = FnTable.GetHiddenAreaMesh(eEye,type);
return result;
}
- public bool GetControllerState(uint unControllerDeviceIndex,ref VRControllerState_t pControllerState)
+// This is a terrible hack to workaround the fact that VRControllerState_t was
+// originally mis-compiled with the wrong packing for Linux and OSX.
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate bool _GetControllerStatePacked(uint unControllerDeviceIndex,ref VRControllerState_t_Packed pControllerState,uint unControllerStateSize);
+ [StructLayout(LayoutKind.Explicit)]
+ struct GetControllerStateUnion
+ {
+ [FieldOffset(0)]
+ public IVRSystem._GetControllerState pGetControllerState;
+ [FieldOffset(0)]
+ public _GetControllerStatePacked pGetControllerStatePacked;
+ }
+ public bool GetControllerState(uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,uint unControllerStateSize)
{
- bool result = FnTable.GetControllerState(unControllerDeviceIndex,ref pControllerState);
+ if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
+ (System.Environment.OSVersion.Platform == System.PlatformID.Unix))
+ {
+ GetControllerStateUnion u;
+ VRControllerState_t_Packed state_packed = new VRControllerState_t_Packed();
+ u.pGetControllerStatePacked = null;
+ u.pGetControllerState = FnTable.GetControllerState;
+ bool packed_result = u.pGetControllerStatePacked(unControllerDeviceIndex,ref state_packed,(uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(VRControllerState_t_Packed)));
+
+ state_packed.Unpack(ref pControllerState);
+ return packed_result;
+ }
+ bool result = FnTable.GetControllerState(unControllerDeviceIndex,ref pControllerState,unControllerStateSize);
return result;
}
- public bool GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin,uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,ref TrackedDevicePose_t pTrackedDevicePose)
+// This is a terrible hack to workaround the fact that VRControllerState_t was
+// originally mis-compiled with the wrong packing for Linux and OSX.
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate bool _GetControllerStateWithPosePacked(ETrackingUniverseOrigin eOrigin,uint unControllerDeviceIndex,ref VRControllerState_t_Packed pControllerState,uint unControllerStateSize,ref TrackedDevicePose_t pTrackedDevicePose);
+ [StructLayout(LayoutKind.Explicit)]
+ struct GetControllerStateWithPoseUnion
+ {
+ [FieldOffset(0)]
+ public IVRSystem._GetControllerStateWithPose pGetControllerStateWithPose;
+ [FieldOffset(0)]
+ public _GetControllerStateWithPosePacked pGetControllerStateWithPosePacked;
+ }
+ public bool GetControllerStateWithPose(ETrackingUniverseOrigin eOrigin,uint unControllerDeviceIndex,ref VRControllerState_t pControllerState,uint unControllerStateSize,ref TrackedDevicePose_t pTrackedDevicePose)
{
- bool result = FnTable.GetControllerStateWithPose(eOrigin,unControllerDeviceIndex,ref pControllerState,ref pTrackedDevicePose);
+ if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
+ (System.Environment.OSVersion.Platform == System.PlatformID.Unix))
+ {
+ GetControllerStateWithPoseUnion u;
+ VRControllerState_t_Packed state_packed = new VRControllerState_t_Packed();
+ u.pGetControllerStateWithPosePacked = null;
+ u.pGetControllerStateWithPose = FnTable.GetControllerStateWithPose;
+ bool packed_result = u.pGetControllerStateWithPosePacked(eOrigin,unControllerDeviceIndex,ref state_packed,(uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(VRControllerState_t_Packed)),ref pTrackedDevicePose);
+
+ state_packed.Unpack(ref pControllerState);
+ return packed_result;
+ }
+ bool result = FnTable.GetControllerStateWithPose(eOrigin,unControllerDeviceIndex,ref pControllerState,unControllerStateSize,ref pTrackedDevicePose);
return result;
}
public void TriggerHapticPulse(uint unControllerDeviceIndex,uint unAxisId,char usDurationMicroSec)
@@ -1370,12 +1688,12 @@ public void TriggerHapticPulse(uint unControllerDeviceIndex,uint unAxisId,char u
public string GetButtonIdNameFromEnum(EVRButtonId eButtonId)
{
IntPtr result = FnTable.GetButtonIdNameFromEnum(eButtonId);
- return (string) Marshal.PtrToStructure(result, typeof(string));
+ return Marshal.PtrToStringAnsi(result);
}
public string GetControllerAxisTypeNameFromEnum(EVRControllerAxisType eAxisType)
{
IntPtr result = FnTable.GetControllerAxisTypeNameFromEnum(eAxisType);
- return (string) Marshal.PtrToStructure(result, typeof(string));
+ return Marshal.PtrToStringAnsi(result);
}
public bool CaptureInputFocus()
{
@@ -1444,6 +1762,84 @@ public void GetDXGIOutputInfo(ref int pnAdapterIndex,ref int pnAdapterOutputInde
}
+public class CVRTrackedCamera
+{
+ IVRTrackedCamera FnTable;
+ internal CVRTrackedCamera(IntPtr pInterface)
+ {
+ FnTable = (IVRTrackedCamera)Marshal.PtrToStructure(pInterface, typeof(IVRTrackedCamera));
+ }
+ public string GetCameraErrorNameFromEnum(EVRTrackedCameraError eCameraError)
+ {
+ IntPtr result = FnTable.GetCameraErrorNameFromEnum(eCameraError);
+ return Marshal.PtrToStringAnsi(result);
+ }
+ public EVRTrackedCameraError HasCamera(uint nDeviceIndex,ref bool pHasCamera)
+ {
+ pHasCamera = false;
+ EVRTrackedCameraError result = FnTable.HasCamera(nDeviceIndex,ref pHasCamera);
+ return result;
+ }
+ public EVRTrackedCameraError GetCameraFrameSize(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref uint pnWidth,ref uint pnHeight,ref uint pnFrameBufferSize)
+ {
+ pnWidth = 0;
+ pnHeight = 0;
+ pnFrameBufferSize = 0;
+ EVRTrackedCameraError result = FnTable.GetCameraFrameSize(nDeviceIndex,eFrameType,ref pnWidth,ref pnHeight,ref pnFrameBufferSize);
+ return result;
+ }
+ public EVRTrackedCameraError GetCameraIntrinsics(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref HmdVector2_t pFocalLength,ref HmdVector2_t pCenter)
+ {
+ EVRTrackedCameraError result = FnTable.GetCameraIntrinsics(nDeviceIndex,eFrameType,ref pFocalLength,ref pCenter);
+ return result;
+ }
+ public EVRTrackedCameraError GetCameraProjection(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,float flZNear,float flZFar,ref HmdMatrix44_t pProjection)
+ {
+ EVRTrackedCameraError result = FnTable.GetCameraProjection(nDeviceIndex,eFrameType,flZNear,flZFar,ref pProjection);
+ return result;
+ }
+ public EVRTrackedCameraError AcquireVideoStreamingService(uint nDeviceIndex,ref ulong pHandle)
+ {
+ pHandle = 0;
+ EVRTrackedCameraError result = FnTable.AcquireVideoStreamingService(nDeviceIndex,ref pHandle);
+ return result;
+ }
+ public EVRTrackedCameraError ReleaseVideoStreamingService(ulong hTrackedCamera)
+ {
+ EVRTrackedCameraError result = FnTable.ReleaseVideoStreamingService(hTrackedCamera);
+ return result;
+ }
+ public EVRTrackedCameraError GetVideoStreamFrameBuffer(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,IntPtr pFrameBuffer,uint nFrameBufferSize,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize)
+ {
+ EVRTrackedCameraError result = FnTable.GetVideoStreamFrameBuffer(hTrackedCamera,eFrameType,pFrameBuffer,nFrameBufferSize,ref pFrameHeader,nFrameHeaderSize);
+ return result;
+ }
+ public EVRTrackedCameraError GetVideoStreamTextureSize(uint nDeviceIndex,EVRTrackedCameraFrameType eFrameType,ref VRTextureBounds_t pTextureBounds,ref uint pnWidth,ref uint pnHeight)
+ {
+ pnWidth = 0;
+ pnHeight = 0;
+ EVRTrackedCameraError result = FnTable.GetVideoStreamTextureSize(nDeviceIndex,eFrameType,ref pTextureBounds,ref pnWidth,ref pnHeight);
+ return result;
+ }
+ public EVRTrackedCameraError GetVideoStreamTextureD3D11(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,IntPtr pD3D11DeviceOrResource,ref IntPtr ppD3D11ShaderResourceView,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize)
+ {
+ EVRTrackedCameraError result = FnTable.GetVideoStreamTextureD3D11(hTrackedCamera,eFrameType,pD3D11DeviceOrResource,ref ppD3D11ShaderResourceView,ref pFrameHeader,nFrameHeaderSize);
+ return result;
+ }
+ public EVRTrackedCameraError GetVideoStreamTextureGL(ulong hTrackedCamera,EVRTrackedCameraFrameType eFrameType,ref uint pglTextureId,ref CameraVideoStreamFrameHeader_t pFrameHeader,uint nFrameHeaderSize)
+ {
+ pglTextureId = 0;
+ EVRTrackedCameraError result = FnTable.GetVideoStreamTextureGL(hTrackedCamera,eFrameType,ref pglTextureId,ref pFrameHeader,nFrameHeaderSize);
+ return result;
+ }
+ public EVRTrackedCameraError ReleaseVideoStreamTextureGL(ulong hTrackedCamera,uint glTextureId)
+ {
+ EVRTrackedCameraError result = FnTable.ReleaseVideoStreamTextureGL(hTrackedCamera,glTextureId);
+ return result;
+ }
+}
+
+
public class CVRApplications
{
IVRApplications FnTable;
@@ -1471,7 +1867,7 @@ public uint GetApplicationCount()
uint result = FnTable.GetApplicationCount();
return result;
}
- public EVRApplicationError GetApplicationKeyByIndex(uint unApplicationIndex,string pchAppKeyBuffer,uint unAppKeyBufferLen)
+ public EVRApplicationError GetApplicationKeyByIndex(uint unApplicationIndex,System.Text.StringBuilder pchAppKeyBuffer,uint unAppKeyBufferLen)
{
EVRApplicationError result = FnTable.GetApplicationKeyByIndex(unApplicationIndex,pchAppKeyBuffer,unAppKeyBufferLen);
return result;
@@ -1491,6 +1887,11 @@ public EVRApplicationError LaunchTemplateApplication(string pchTemplateAppKey,st
EVRApplicationError result = FnTable.LaunchTemplateApplication(pchTemplateAppKey,pchNewAppKey,pKeys,(uint) pKeys.Length);
return result;
}
+ public EVRApplicationError LaunchApplicationFromMimeType(string pchMimeType,string pchArgs)
+ {
+ EVRApplicationError result = FnTable.LaunchApplicationFromMimeType(pchMimeType,pchArgs);
+ return result;
+ }
public EVRApplicationError LaunchDashboardOverlay(string pchAppKey)
{
EVRApplicationError result = FnTable.LaunchDashboardOverlay(pchAppKey);
@@ -1514,9 +1915,9 @@ public uint GetApplicationProcessId(string pchAppKey)
public string GetApplicationsErrorNameFromEnum(EVRApplicationError error)
{
IntPtr result = FnTable.GetApplicationsErrorNameFromEnum(error);
- return (string) Marshal.PtrToStructure(result, typeof(string));
+ return Marshal.PtrToStringAnsi(result);
}
- public uint GetApplicationPropertyString(string pchAppKey,EVRApplicationProperty eProperty,string pchPropertyValueBuffer,uint unPropertyValueBufferLen,ref EVRApplicationError peError)
+ public uint GetApplicationPropertyString(string pchAppKey,EVRApplicationProperty eProperty,System.Text.StringBuilder pchPropertyValueBuffer,uint unPropertyValueBufferLen,ref EVRApplicationError peError)
{
uint result = FnTable.GetApplicationPropertyString(pchAppKey,eProperty,pchPropertyValueBuffer,unPropertyValueBufferLen,ref peError);
return result;
@@ -1541,6 +1942,31 @@ public bool GetApplicationAutoLaunch(string pchAppKey)
bool result = FnTable.GetApplicationAutoLaunch(pchAppKey);
return result;
}
+ public EVRApplicationError SetDefaultApplicationForMimeType(string pchAppKey,string pchMimeType)
+ {
+ EVRApplicationError result = FnTable.SetDefaultApplicationForMimeType(pchAppKey,pchMimeType);
+ return result;
+ }
+ public bool GetDefaultApplicationForMimeType(string pchMimeType,string pchAppKeyBuffer,uint unAppKeyBufferLen)
+ {
+ bool result = FnTable.GetDefaultApplicationForMimeType(pchMimeType,pchAppKeyBuffer,unAppKeyBufferLen);
+ return result;
+ }
+ public bool GetApplicationSupportedMimeTypes(string pchAppKey,string pchMimeTypesBuffer,uint unMimeTypesBuffer)
+ {
+ bool result = FnTable.GetApplicationSupportedMimeTypes(pchAppKey,pchMimeTypesBuffer,unMimeTypesBuffer);
+ return result;
+ }
+ public uint GetApplicationsThatSupportMimeType(string pchMimeType,string pchAppKeysThatSupportBuffer,uint unAppKeysThatSupportBuffer)
+ {
+ uint result = FnTable.GetApplicationsThatSupportMimeType(pchMimeType,pchAppKeysThatSupportBuffer,unAppKeysThatSupportBuffer);
+ return result;
+ }
+ public uint GetApplicationLaunchArguments(uint unHandle,string pchArgs,uint unArgs)
+ {
+ uint result = FnTable.GetApplicationLaunchArguments(unHandle,pchArgs,unArgs);
+ return result;
+ }
public EVRApplicationError GetStartingApplication(string pchAppKeyBuffer,uint unAppKeyBufferLen)
{
EVRApplicationError result = FnTable.GetStartingApplication(pchAppKeyBuffer,unAppKeyBufferLen);
@@ -1559,7 +1985,7 @@ public EVRApplicationError PerformApplicationPrelaunchCheck(string pchAppKey)
public string GetApplicationsTransitionStateNameFromEnum(EVRApplicationTransitionState state)
{
IntPtr result = FnTable.GetApplicationsTransitionStateNameFromEnum(state);
- return (string) Marshal.PtrToStructure(result, typeof(string));
+ return Marshal.PtrToStringAnsi(result);
}
public bool IsQuitUserPromptRequested()
{
@@ -1571,6 +1997,11 @@ public EVRApplicationError LaunchInternalProcess(string pchBinaryPath,string pch
EVRApplicationError result = FnTable.LaunchInternalProcess(pchBinaryPath,pchArguments,pchWorkingDirectory);
return result;
}
+ public uint GetCurrentSceneProcessId()
+ {
+ uint result = FnTable.GetCurrentSceneProcessId();
+ return result;
+ }
}
@@ -1789,19 +2220,38 @@ public bool GetFrameTiming(ref Compositor_FrameTiming pTiming,uint unFramesAgo)
bool result = FnTable.GetFrameTiming(ref pTiming,unFramesAgo);
return result;
}
+ public uint GetFrameTimings(ref Compositor_FrameTiming pTiming,uint nFrames)
+ {
+ uint result = FnTable.GetFrameTimings(ref pTiming,nFrames);
+ return result;
+ }
public float GetFrameTimeRemaining()
{
float result = FnTable.GetFrameTimeRemaining();
return result;
}
+ public void GetCumulativeStats(ref Compositor_CumulativeStats pStats,uint nStatsSizeInBytes)
+ {
+ FnTable.GetCumulativeStats(ref pStats,nStatsSizeInBytes);
+ }
public void FadeToColor(float fSeconds,float fRed,float fGreen,float fBlue,float fAlpha,bool bBackground)
{
FnTable.FadeToColor(fSeconds,fRed,fGreen,fBlue,fAlpha,bBackground);
}
+ public HmdColor_t GetCurrentFadeColor(bool bBackground)
+ {
+ HmdColor_t result = FnTable.GetCurrentFadeColor(bBackground);
+ return result;
+ }
public void FadeGrid(float fSeconds,bool bFadeIn)
{
FnTable.FadeGrid(fSeconds,bFadeIn);
}
+ public float GetCurrentGridAlpha()
+ {
+ float result = FnTable.GetCurrentGridAlpha();
+ return result;
+ }
public EVRCompositorError SetSkyboxOverride(Texture_t [] pTextures)
{
EVRCompositorError result = FnTable.SetSkyboxOverride(pTextures,(uint) pTextures.Length);
@@ -1877,6 +2327,44 @@ public void SuspendRendering(bool bSuspend)
{
FnTable.SuspendRendering(bSuspend);
}
+ public EVRCompositorError GetMirrorTextureD3D11(EVREye eEye,IntPtr pD3D11DeviceOrResource,ref IntPtr ppD3D11ShaderResourceView)
+ {
+ EVRCompositorError result = FnTable.GetMirrorTextureD3D11(eEye,pD3D11DeviceOrResource,ref ppD3D11ShaderResourceView);
+ return result;
+ }
+ public void ReleaseMirrorTextureD3D11(IntPtr pD3D11ShaderResourceView)
+ {
+ FnTable.ReleaseMirrorTextureD3D11(pD3D11ShaderResourceView);
+ }
+ public EVRCompositorError GetMirrorTextureGL(EVREye eEye,ref uint pglTextureId,IntPtr pglSharedTextureHandle)
+ {
+ pglTextureId = 0;
+ EVRCompositorError result = FnTable.GetMirrorTextureGL(eEye,ref pglTextureId,pglSharedTextureHandle);
+ return result;
+ }
+ public bool ReleaseSharedGLTexture(uint glTextureId,IntPtr glSharedTextureHandle)
+ {
+ bool result = FnTable.ReleaseSharedGLTexture(glTextureId,glSharedTextureHandle);
+ return result;
+ }
+ public void LockGLSharedTextureForAccess(IntPtr glSharedTextureHandle)
+ {
+ FnTable.LockGLSharedTextureForAccess(glSharedTextureHandle);
+ }
+ public void UnlockGLSharedTextureForAccess(IntPtr glSharedTextureHandle)
+ {
+ FnTable.UnlockGLSharedTextureForAccess(glSharedTextureHandle);
+ }
+ public uint GetVulkanInstanceExtensionsRequired(System.Text.StringBuilder pchValue,uint unBufferSize)
+ {
+ uint result = FnTable.GetVulkanInstanceExtensionsRequired(pchValue,unBufferSize);
+ return result;
+ }
+ public uint GetVulkanDeviceExtensionsRequired(IntPtr pPhysicalDevice,System.Text.StringBuilder pchValue,uint unBufferSize)
+ {
+ uint result = FnTable.GetVulkanDeviceExtensionsRequired(pPhysicalDevice,pchValue,unBufferSize);
+ return result;
+ }
}
@@ -1934,7 +2422,7 @@ public EVROverlayError GetOverlayImageData(ulong ulOverlayHandle,IntPtr pvBuffer
public string GetOverlayErrorNameFromEnum(EVROverlayError error)
{
IntPtr result = FnTable.GetOverlayErrorNameFromEnum(error);
- return (string) Marshal.PtrToStructure(result, typeof(string));
+ return Marshal.PtrToStringAnsi(result);
}
public EVROverlayError SetOverlayRenderingPid(ulong ulOverlayHandle,uint unPID)
{
@@ -1981,6 +2469,28 @@ public EVROverlayError GetOverlayAlpha(ulong ulOverlayHandle,ref float pfAlpha)
EVROverlayError result = FnTable.GetOverlayAlpha(ulOverlayHandle,ref pfAlpha);
return result;
}
+ public EVROverlayError SetOverlayTexelAspect(ulong ulOverlayHandle,float fTexelAspect)
+ {
+ EVROverlayError result = FnTable.SetOverlayTexelAspect(ulOverlayHandle,fTexelAspect);
+ return result;
+ }
+ public EVROverlayError GetOverlayTexelAspect(ulong ulOverlayHandle,ref float pfTexelAspect)
+ {
+ pfTexelAspect = 0;
+ EVROverlayError result = FnTable.GetOverlayTexelAspect(ulOverlayHandle,ref pfTexelAspect);
+ return result;
+ }
+ public EVROverlayError SetOverlaySortOrder(ulong ulOverlayHandle,uint unSortOrder)
+ {
+ EVROverlayError result = FnTable.SetOverlaySortOrder(ulOverlayHandle,unSortOrder);
+ return result;
+ }
+ public EVROverlayError GetOverlaySortOrder(ulong ulOverlayHandle,ref uint punSortOrder)
+ {
+ punSortOrder = 0;
+ EVROverlayError result = FnTable.GetOverlaySortOrder(ulOverlayHandle,ref punSortOrder);
+ return result;
+ }
public EVROverlayError SetOverlayWidthInMeters(ulong ulOverlayHandle,float fWidthInMeters)
{
EVROverlayError result = FnTable.SetOverlayWidthInMeters(ulOverlayHandle,fWidthInMeters);
@@ -2161,12 +2671,12 @@ public EVROverlayError SetOverlayFromFile(ulong ulOverlayHandle,string pchFilePa
EVROverlayError result = FnTable.SetOverlayFromFile(ulOverlayHandle,pchFilePath);
return result;
}
- public EVROverlayError GetOverlayTexture(ulong ulOverlayHandle,ref IntPtr pNativeTextureHandle,IntPtr pNativeTextureRef,ref uint pWidth,ref uint pHeight,ref uint pNativeFormat,ref EGraphicsAPIConvention pAPI,ref EColorSpace pColorSpace)
+ public EVROverlayError GetOverlayTexture(ulong ulOverlayHandle,ref IntPtr pNativeTextureHandle,IntPtr pNativeTextureRef,ref uint pWidth,ref uint pHeight,ref uint pNativeFormat,ref ETextureType pAPIType,ref EColorSpace pColorSpace,ref VRTextureBounds_t pTextureBounds)
{
pWidth = 0;
pHeight = 0;
pNativeFormat = 0;
- EVROverlayError result = FnTable.GetOverlayTexture(ulOverlayHandle,ref pNativeTextureHandle,pNativeTextureRef,ref pWidth,ref pHeight,ref pNativeFormat,ref pAPI,ref pColorSpace);
+ EVROverlayError result = FnTable.GetOverlayTexture(ulOverlayHandle,ref pNativeTextureHandle,pNativeTextureRef,ref pWidth,ref pHeight,ref pNativeFormat,ref pAPIType,ref pColorSpace,ref pTextureBounds);
return result;
}
public EVROverlayError ReleaseNativeOverlayHandle(ulong ulOverlayHandle,IntPtr pNativeTextureHandle)
@@ -2174,6 +2684,13 @@ public EVROverlayError ReleaseNativeOverlayHandle(ulong ulOverlayHandle,IntPtr p
EVROverlayError result = FnTable.ReleaseNativeOverlayHandle(ulOverlayHandle,pNativeTextureHandle);
return result;
}
+ public EVROverlayError GetOverlayTextureSize(ulong ulOverlayHandle,ref uint pWidth,ref uint pHeight)
+ {
+ pWidth = 0;
+ pHeight = 0;
+ EVROverlayError result = FnTable.GetOverlayTextureSize(ulOverlayHandle,ref pWidth,ref pHeight);
+ return result;
+ }
public EVROverlayError CreateDashboardOverlay(string pchOverlayKey,string pchOverlayFriendlyName,ref ulong pMainHandle,ref ulong pThumbnailHandle)
{
pMainHandle = 0;
@@ -2238,6 +2755,22 @@ public void SetKeyboardPositionForOverlay(ulong ulOverlayHandle,HmdRect2_t avoid
{
FnTable.SetKeyboardPositionForOverlay(ulOverlayHandle,avoidRect);
}
+ public EVROverlayError SetOverlayIntersectionMask(ulong ulOverlayHandle,ref VROverlayIntersectionMaskPrimitive_t pMaskPrimitives,uint unNumMaskPrimitives,uint unPrimitiveSize)
+ {
+ EVROverlayError result = FnTable.SetOverlayIntersectionMask(ulOverlayHandle,ref pMaskPrimitives,unNumMaskPrimitives,unPrimitiveSize);
+ return result;
+ }
+ public EVROverlayError GetOverlayFlags(ulong ulOverlayHandle,ref uint pFlags)
+ {
+ pFlags = 0;
+ EVROverlayError result = FnTable.GetOverlayFlags(ulOverlayHandle,ref pFlags);
+ return result;
+ }
+ public VRMessageOverlayResponse ShowMessageOverlay(string pchText,string pchCaption,string pchButton0Text,string pchButton1Text,string pchButton2Text,string pchButton3Text)
+ {
+ VRMessageOverlayResponse result = FnTable.ShowMessageOverlay(pchText,pchCaption,pchButton0Text,pchButton1Text,pchButton2Text,pchButton3Text);
+ return result;
+ }
}
@@ -2310,8 +2843,32 @@ public uint GetComponentRenderModelName(string pchRenderModelName,string pchComp
uint result = FnTable.GetComponentRenderModelName(pchRenderModelName,pchComponentName,pchComponentRenderModelName,unComponentRenderModelNameLen);
return result;
}
+// This is a terrible hack to workaround the fact that VRControllerState_t was
+// originally mis-compiled with the wrong packing for Linux and OSX.
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate bool _GetComponentStatePacked(string pchRenderModelName,string pchComponentName,ref VRControllerState_t_Packed pControllerState,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState);
+ [StructLayout(LayoutKind.Explicit)]
+ struct GetComponentStateUnion
+ {
+ [FieldOffset(0)]
+ public IVRRenderModels._GetComponentState pGetComponentState;
+ [FieldOffset(0)]
+ public _GetComponentStatePacked pGetComponentStatePacked;
+ }
public bool GetComponentState(string pchRenderModelName,string pchComponentName,ref VRControllerState_t pControllerState,ref RenderModel_ControllerMode_State_t pState,ref RenderModel_ComponentState_t pComponentState)
{
+ if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
+ (System.Environment.OSVersion.Platform == System.PlatformID.Unix))
+ {
+ GetComponentStateUnion u;
+ VRControllerState_t_Packed state_packed = new VRControllerState_t_Packed();
+ u.pGetComponentStatePacked = null;
+ u.pGetComponentState = FnTable.GetComponentState;
+ bool packed_result = u.pGetComponentStatePacked(pchRenderModelName,pchComponentName,ref state_packed,ref pState,ref pComponentState);
+
+ state_packed.Unpack(ref pControllerState);
+ return packed_result;
+ }
bool result = FnTable.GetComponentState(pchRenderModelName,pchComponentName,ref pControllerState,ref pState,ref pComponentState);
return result;
}
@@ -2320,6 +2877,21 @@ public bool RenderModelHasComponent(string pchRenderModelName,string pchComponen
bool result = FnTable.RenderModelHasComponent(pchRenderModelName,pchComponentName);
return result;
}
+ public uint GetRenderModelThumbnailURL(string pchRenderModelName,System.Text.StringBuilder pchThumbnailURL,uint unThumbnailURLLen,ref EVRRenderModelError peError)
+ {
+ uint result = FnTable.GetRenderModelThumbnailURL(pchRenderModelName,pchThumbnailURL,unThumbnailURLLen,ref peError);
+ return result;
+ }
+ public uint GetRenderModelOriginalPath(string pchRenderModelName,System.Text.StringBuilder pchOriginalPath,uint unOriginalPathLen,ref EVRRenderModelError peError)
+ {
+ uint result = FnTable.GetRenderModelOriginalPath(pchRenderModelName,pchOriginalPath,unOriginalPathLen,ref peError);
+ return result;
+ }
+ public string GetRenderModelErrorNameFromEnum(EVRRenderModelError error)
+ {
+ IntPtr result = FnTable.GetRenderModelErrorNameFromEnum(error);
+ return Marshal.PtrToStringAnsi(result);
+ }
}
@@ -2354,47 +2926,47 @@ internal CVRSettings(IntPtr pInterface)
public string GetSettingsErrorNameFromEnum(EVRSettingsError eError)
{
IntPtr result = FnTable.GetSettingsErrorNameFromEnum(eError);
- return (string) Marshal.PtrToStructure(result, typeof(string));
+ return Marshal.PtrToStringAnsi(result);
}
public bool Sync(bool bForce,ref EVRSettingsError peError)
{
bool result = FnTable.Sync(bForce,ref peError);
return result;
}
- public bool GetBool(string pchSection,string pchSettingsKey,bool bDefaultValue,ref EVRSettingsError peError)
- {
- bool result = FnTable.GetBool(pchSection,pchSettingsKey,bDefaultValue,ref peError);
- return result;
- }
public void SetBool(string pchSection,string pchSettingsKey,bool bValue,ref EVRSettingsError peError)
{
FnTable.SetBool(pchSection,pchSettingsKey,bValue,ref peError);
}
- public int GetInt32(string pchSection,string pchSettingsKey,int nDefaultValue,ref EVRSettingsError peError)
- {
- int result = FnTable.GetInt32(pchSection,pchSettingsKey,nDefaultValue,ref peError);
- return result;
- }
public void SetInt32(string pchSection,string pchSettingsKey,int nValue,ref EVRSettingsError peError)
{
FnTable.SetInt32(pchSection,pchSettingsKey,nValue,ref peError);
}
- public float GetFloat(string pchSection,string pchSettingsKey,float flDefaultValue,ref EVRSettingsError peError)
+ public void SetFloat(string pchSection,string pchSettingsKey,float flValue,ref EVRSettingsError peError)
+ {
+ FnTable.SetFloat(pchSection,pchSettingsKey,flValue,ref peError);
+ }
+ public void SetString(string pchSection,string pchSettingsKey,string pchValue,ref EVRSettingsError peError)
+ {
+ FnTable.SetString(pchSection,pchSettingsKey,pchValue,ref peError);
+ }
+ public bool GetBool(string pchSection,string pchSettingsKey,ref EVRSettingsError peError)
{
- float result = FnTable.GetFloat(pchSection,pchSettingsKey,flDefaultValue,ref peError);
+ bool result = FnTable.GetBool(pchSection,pchSettingsKey,ref peError);
return result;
}
- public void SetFloat(string pchSection,string pchSettingsKey,float flValue,ref EVRSettingsError peError)
+ public int GetInt32(string pchSection,string pchSettingsKey,ref EVRSettingsError peError)
{
- FnTable.SetFloat(pchSection,pchSettingsKey,flValue,ref peError);
+ int result = FnTable.GetInt32(pchSection,pchSettingsKey,ref peError);
+ return result;
}
- public void GetString(string pchSection,string pchSettingsKey,string pchValue,uint unValueLen,string pchDefaultValue,ref EVRSettingsError peError)
+ public float GetFloat(string pchSection,string pchSettingsKey,ref EVRSettingsError peError)
{
- FnTable.GetString(pchSection,pchSettingsKey,pchValue,unValueLen,pchDefaultValue,ref peError);
+ float result = FnTable.GetFloat(pchSection,pchSettingsKey,ref peError);
+ return result;
}
- public void SetString(string pchSection,string pchSettingsKey,string pchValue,ref EVRSettingsError peError)
+ public void GetString(string pchSection,string pchSettingsKey,System.Text.StringBuilder pchValue,uint unValueLen,ref EVRSettingsError peError)
{
- FnTable.SetString(pchSection,pchSettingsKey,pchValue,ref peError);
+ FnTable.GetString(pchSection,pchSettingsKey,pchValue,unValueLen,ref peError);
}
public void RemoveSection(string pchSection,ref EVRSettingsError peError)
{
@@ -2407,23 +2979,90 @@ public void RemoveKeyInSection(string pchSection,string pchSettingsKey,ref EVRSe
}
+public class CVRScreenshots
+{
+ IVRScreenshots FnTable;
+ internal CVRScreenshots(IntPtr pInterface)
+ {
+ FnTable = (IVRScreenshots)Marshal.PtrToStructure(pInterface, typeof(IVRScreenshots));
+ }
+ public EVRScreenshotError RequestScreenshot(ref uint pOutScreenshotHandle,EVRScreenshotType type,string pchPreviewFilename,string pchVRFilename)
+ {
+ pOutScreenshotHandle = 0;
+ EVRScreenshotError result = FnTable.RequestScreenshot(ref pOutScreenshotHandle,type,pchPreviewFilename,pchVRFilename);
+ return result;
+ }
+ public EVRScreenshotError HookScreenshot(EVRScreenshotType [] pSupportedTypes)
+ {
+ EVRScreenshotError result = FnTable.HookScreenshot(pSupportedTypes,(int) pSupportedTypes.Length);
+ return result;
+ }
+ public EVRScreenshotType GetScreenshotPropertyType(uint screenshotHandle,ref EVRScreenshotError pError)
+ {
+ EVRScreenshotType result = FnTable.GetScreenshotPropertyType(screenshotHandle,ref pError);
+ return result;
+ }
+ public uint GetScreenshotPropertyFilename(uint screenshotHandle,EVRScreenshotPropertyFilenames filenameType,System.Text.StringBuilder pchFilename,uint cchFilename,ref EVRScreenshotError pError)
+ {
+ uint result = FnTable.GetScreenshotPropertyFilename(screenshotHandle,filenameType,pchFilename,cchFilename,ref pError);
+ return result;
+ }
+ public EVRScreenshotError UpdateScreenshotProgress(uint screenshotHandle,float flProgress)
+ {
+ EVRScreenshotError result = FnTable.UpdateScreenshotProgress(screenshotHandle,flProgress);
+ return result;
+ }
+ public EVRScreenshotError TakeStereoScreenshot(ref uint pOutScreenshotHandle,string pchPreviewFilename,string pchVRFilename)
+ {
+ pOutScreenshotHandle = 0;
+ EVRScreenshotError result = FnTable.TakeStereoScreenshot(ref pOutScreenshotHandle,pchPreviewFilename,pchVRFilename);
+ return result;
+ }
+ public EVRScreenshotError SubmitScreenshot(uint screenshotHandle,EVRScreenshotType type,string pchSourcePreviewFilename,string pchSourceVRFilename)
+ {
+ EVRScreenshotError result = FnTable.SubmitScreenshot(screenshotHandle,type,pchSourcePreviewFilename,pchSourceVRFilename);
+ return result;
+ }
+}
+
+
+public class CVRResources
+{
+ IVRResources FnTable;
+ internal CVRResources(IntPtr pInterface)
+ {
+ FnTable = (IVRResources)Marshal.PtrToStructure(pInterface, typeof(IVRResources));
+ }
+ public uint LoadSharedResource(string pchResourceName,string pchBuffer,uint unBufferLen)
+ {
+ uint result = FnTable.LoadSharedResource(pchResourceName,pchBuffer,unBufferLen);
+ return result;
+ }
+ public uint GetResourceFullPath(string pchResourceName,string pchResourceTypeDirectory,string pchPathBuffer,uint unBufferLen)
+ {
+ uint result = FnTable.GetResourceFullPath(pchResourceName,pchResourceTypeDirectory,pchPathBuffer,unBufferLen);
+ return result;
+ }
+}
+
+
public class OpenVRInterop
{
- [DllImportAttribute("openvr_api", EntryPoint = "VR_InitInternal")]
+ [DllImportAttribute("openvr_api", EntryPoint = "VR_InitInternal", CallingConvention = CallingConvention.Cdecl)]
internal static extern uint InitInternal(ref EVRInitError peError, EVRApplicationType eApplicationType);
- [DllImportAttribute("openvr_api", EntryPoint = "VR_ShutdownInternal")]
+ [DllImportAttribute("openvr_api", EntryPoint = "VR_ShutdownInternal", CallingConvention = CallingConvention.Cdecl)]
internal static extern void ShutdownInternal();
- [DllImportAttribute("openvr_api", EntryPoint = "VR_IsHmdPresent")]
+ [DllImportAttribute("openvr_api", EntryPoint = "VR_IsHmdPresent", CallingConvention = CallingConvention.Cdecl)]
internal static extern bool IsHmdPresent();
- [DllImportAttribute("openvr_api", EntryPoint = "VR_IsRuntimeInstalled")]
+ [DllImportAttribute("openvr_api", EntryPoint = "VR_IsRuntimeInstalled", CallingConvention = CallingConvention.Cdecl)]
internal static extern bool IsRuntimeInstalled();
- [DllImportAttribute("openvr_api", EntryPoint = "VR_GetStringForHmdError")]
+ [DllImportAttribute("openvr_api", EntryPoint = "VR_GetStringForHmdError", CallingConvention = CallingConvention.Cdecl)]
internal static extern IntPtr GetStringForHmdError(EVRInitError error);
- [DllImportAttribute("openvr_api", EntryPoint = "VR_GetGenericInterface")]
+ [DllImportAttribute("openvr_api", EntryPoint = "VR_GetGenericInterface", CallingConvention = CallingConvention.Cdecl)]
internal static extern IntPtr GetGenericInterface([In, MarshalAs(UnmanagedType.LPStr)] string pchInterfaceVersion, ref EVRInitError peError);
- [DllImportAttribute("openvr_api", EntryPoint = "VR_IsInterfaceVersionValid")]
+ [DllImportAttribute("openvr_api", EntryPoint = "VR_IsInterfaceVersionValid", CallingConvention = CallingConvention.Cdecl)]
internal static extern bool IsInterfaceVersionValid([In, MarshalAs(UnmanagedType.LPStr)] string pchInterfaceVersion);
- [DllImportAttribute("openvr_api", EntryPoint = "VR_GetInitToken")]
+ [DllImportAttribute("openvr_api", EntryPoint = "VR_GetInitToken", CallingConvention = CallingConvention.Cdecl)]
internal static extern uint GetInitToken();
}
@@ -2433,10 +3072,13 @@ public enum EVREye
Eye_Left = 0,
Eye_Right = 1,
}
-public enum EGraphicsAPIConvention
+public enum ETextureType
{
- API_DirectX = 0,
- API_OpenGL = 1,
+ DirectX = 0,
+ OpenGL = 1,
+ Vulkan = 2,
+ IOSurface = 3,
+ DirectX12 = 4,
}
public enum EColorSpace
{
@@ -2457,8 +3099,8 @@ public enum ETrackedDeviceClass
Invalid = 0,
HMD = 1,
Controller = 2,
+ GenericTracker = 3,
TrackingReference = 4,
- Other = 1000,
}
public enum ETrackedControllerRole
{
@@ -2474,6 +3116,7 @@ public enum ETrackingUniverseOrigin
}
public enum ETrackedDeviceProperty
{
+ Prop_Invalid = 0,
Prop_TrackingSystemName_String = 1000,
Prop_ModelNumber_String = 1001,
Prop_SerialNumber_String = 1002,
@@ -2507,6 +3150,8 @@ public enum ETrackedDeviceProperty
Prop_HasCamera_Bool = 1030,
Prop_DriverVersion_String = 1031,
Prop_Firmware_ForceUpdateRequired_Bool = 1032,
+ Prop_ViveSystemButtonFixRequired_Bool = 1033,
+ Prop_ParentDriver_Uint64 = 1034,
Prop_ReportsTimeSinceVSync_Bool = 2000,
Prop_SecondsFromVsyncToPhotons_Float = 2001,
Prop_DisplayFrequency_Float = 2002,
@@ -2541,6 +3186,15 @@ public enum ETrackedDeviceProperty
Prop_DisplayHardwareVersion_Uint64 = 2031,
Prop_AudioFirmwareVersion_Uint64 = 2032,
Prop_CameraCompatibilityMode_Int32 = 2033,
+ Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034,
+ Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035,
+ Prop_DisplaySuppressed_Bool = 2036,
+ Prop_DisplayAllowNightMode_Bool = 2037,
+ Prop_DisplayMCImageWidth_Int32 = 2038,
+ Prop_DisplayMCImageHeight_Int32 = 2039,
+ Prop_DisplayMCImageNumChannels_Int32 = 2040,
+ Prop_DisplayMCImageData_Binary = 2041,
+ Prop_UsesDriverDirectMode_Bool = 2042,
Prop_AttachedDeviceId_String = 3000,
Prop_SupportedButtons_Uint64 = 3001,
Prop_Axis0Type_Int32 = 3002,
@@ -2548,6 +3202,7 @@ public enum ETrackedDeviceProperty
Prop_Axis2Type_Int32 = 3004,
Prop_Axis3Type_Int32 = 3005,
Prop_Axis4Type_Int32 = 3006,
+ Prop_ControllerRoleHint_Int32 = 3007,
Prop_FieldOfViewLeftDegrees_Float = 4000,
Prop_FieldOfViewRightDegrees_Float = 4001,
Prop_FieldOfViewTopDegrees_Float = 4002,
@@ -2555,6 +3210,19 @@ public enum ETrackedDeviceProperty
Prop_TrackingRangeMinimumMeters_Float = 4004,
Prop_TrackingRangeMaximumMeters_Float = 4005,
Prop_ModeLabel_String = 4006,
+ Prop_IconPathName_String = 5000,
+ Prop_NamedIconPathDeviceOff_String = 5001,
+ Prop_NamedIconPathDeviceSearching_String = 5002,
+ Prop_NamedIconPathDeviceSearchingAlert_String = 5003,
+ Prop_NamedIconPathDeviceReady_String = 5004,
+ Prop_NamedIconPathDeviceReadyAlert_String = 5005,
+ Prop_NamedIconPathDeviceNotReady_String = 5006,
+ Prop_NamedIconPathDeviceStandby_String = 5007,
+ Prop_NamedIconPathDeviceAlertLow_String = 5008,
+ Prop_DisplayHiddenArea_Binary_Start = 5100,
+ Prop_DisplayHiddenArea_Binary_End = 5150,
+ Prop_UserConfigPath_String = 6000,
+ Prop_InstallPath_String = 6001,
Prop_VendorSpecific_Reserved_Start = 10000,
Prop_VendorSpecific_Reserved_End = 10999,
}
@@ -2570,12 +3238,15 @@ public enum ETrackedPropertyError
TrackedProp_ValueNotProvidedByDevice = 7,
TrackedProp_StringExceedsMaximumLength = 8,
TrackedProp_NotYetAvailable = 9,
+ TrackedProp_PermissionDenied = 10,
+ TrackedProp_InvalidOperation = 11,
}
public enum EVRSubmitFlags
{
Submit_Default = 0,
Submit_LensDistortionAlreadyApplied = 1,
Submit_GlRenderBuffer = 2,
+ Submit_Reserved = 4,
}
public enum EVRState
{
@@ -2587,6 +3258,7 @@ public enum EVRState
Ready_Alert = 4,
NotReady = 5,
Standby = 6,
+ Ready_Alert_Low = 7,
}
public enum EVREventType
{
@@ -2600,6 +3272,9 @@ public enum EVREventType
VREvent_EnterStandbyMode = 106,
VREvent_LeaveStandbyMode = 107,
VREvent_TrackedDeviceRoleChanged = 108,
+ VREvent_WatchdogWakeUpRequested = 109,
+ VREvent_LensDistortionChanged = 110,
+ VREvent_PropertyChanged = 111,
VREvent_ButtonPress = 200,
VREvent_ButtonUnpress = 201,
VREvent_ButtonTouch = 202,
@@ -2611,6 +3286,7 @@ public enum EVREventType
VREvent_FocusLeave = 304,
VREvent_Scroll = 305,
VREvent_TouchPadMove = 306,
+ VREvent_OverlayFocusChanged = 307,
VREvent_InputFocusCaptured = 400,
VREvent_InputFocusReleased = 401,
VREvent_SceneFocusLost = 402,
@@ -2618,6 +3294,7 @@ public enum EVREventType
VREvent_SceneApplicationChanged = 404,
VREvent_SceneFocusChanged = 405,
VREvent_InputFocusChanged = 406,
+ VREvent_SceneApplicationSecondaryRenderingStarted = 407,
VREvent_HideRenderModels = 410,
VREvent_ShowRenderModels = 411,
VREvent_OverlayShown = 500,
@@ -2636,6 +3313,15 @@ public enum EVREventType
VREvent_OverlaySharedTextureChanged = 513,
VREvent_DashboardGuideButtonDown = 514,
VREvent_DashboardGuideButtonUp = 515,
+ VREvent_ScreenshotTriggered = 516,
+ VREvent_ImageFailed = 517,
+ VREvent_DashboardOverlayCreated = 518,
+ VREvent_RequestScreenshot = 520,
+ VREvent_ScreenshotTaken = 521,
+ VREvent_ScreenshotFailed = 522,
+ VREvent_SubmitScreenshotToDashboard = 523,
+ VREvent_ScreenshotProgressToDashboard = 524,
+ VREvent_PrimaryDashboardDeviceChanged = 525,
VREvent_Notification_Shown = 600,
VREvent_Notification_Hidden = 601,
VREvent_Notification_BeginInteraction = 602,
@@ -2654,6 +3340,9 @@ public enum EVREventType
VREvent_BackgroundSettingHasChanged = 850,
VREvent_CameraSettingsHaveChanged = 851,
VREvent_ReprojectionSettingHasChanged = 852,
+ VREvent_ModelSkinSettingsHaveChanged = 853,
+ VREvent_EnvironmentSettingsHaveChanged = 854,
+ VREvent_PowerSettingsHaveChanged = 855,
VREvent_StatusUpdate = 900,
VREvent_MCImageUpdated = 1000,
VREvent_FirmwareUpdateStarted = 1100,
@@ -2664,6 +3353,9 @@ public enum EVREventType
VREvent_ApplicationTransitionStarted = 1300,
VREvent_ApplicationTransitionAborted = 1301,
VREvent_ApplicationTransitionNewAppStarted = 1302,
+ VREvent_ApplicationListUpdated = 1303,
+ VREvent_ApplicationMimeTypeLoad = 1304,
+ VREvent_ApplicationTransitionNewAppLaunchComplete = 1305,
VREvent_Compositor_MirrorWindowShown = 1400,
VREvent_Compositor_MirrorWindowHidden = 1401,
VREvent_Compositor_ChaperoneBoundsShown = 1410,
@@ -2672,9 +3364,11 @@ public enum EVREventType
VREvent_TrackedCamera_StopVideoStream = 1501,
VREvent_TrackedCamera_PauseVideoStream = 1502,
VREvent_TrackedCamera_ResumeVideoStream = 1503,
+ VREvent_TrackedCamera_EditingSurface = 1550,
VREvent_PerformanceTest_EnableCapture = 1600,
VREvent_PerformanceTest_DisableCapture = 1601,
VREvent_PerformanceTest_FidelityLevel = 1602,
+ VREvent_MessageOverlay_Closed = 1650,
VREvent_VendorSpecific_Reserved_Start = 10000,
VREvent_VendorSpecific_Reserved_End = 19999,
}
@@ -2696,6 +3390,7 @@ public enum EVRButtonId
k_EButton_DPad_Right = 5,
k_EButton_DPad_Down = 6,
k_EButton_A = 7,
+ k_EButton_ProximitySensor = 31,
k_EButton_Axis0 = 32,
k_EButton_Axis1 = 33,
k_EButton_Axis2 = 34,
@@ -2712,6 +3407,13 @@ public enum EVRMouseButton
Right = 2,
Middle = 4,
}
+public enum EHiddenAreaMeshType
+{
+ k_eHiddenAreaMesh_Standard = 0,
+ k_eHiddenAreaMesh_Inverse = 1,
+ k_eHiddenAreaMesh_LineLoop = 2,
+ k_eHiddenAreaMesh_Max = 3,
+}
public enum EVRControllerAxisType
{
k_eControllerAxis_None = 0,
@@ -2752,8 +3454,10 @@ public enum EVROverlayError
RequestFailed = 23,
InvalidTexture = 24,
UnableToLoadFile = 25,
- VROVerlayError_KeyboardAlreadyInUse = 26,
+ KeyboardAlreadyInUse = 26,
NoNeighbor = 27,
+ TooManyMaskPrimitives = 29,
+ BadMaskPrimitive = 30,
}
public enum EVRApplicationType
{
@@ -2763,6 +3467,8 @@ public enum EVRApplicationType
VRApplication_Background = 3,
VRApplication_Utility = 4,
VRApplication_VRMonitor = 5,
+ VRApplication_SteamWatchdog = 6,
+ VRApplication_Max = 7,
}
public enum EVRFirmwareError
{
@@ -2776,6 +3482,7 @@ public enum EVRNotificationError
InvalidNotificationId = 100,
NotificationQueueFull = 101,
InvalidOverlayHandle = 102,
+ SystemWithUserValueAlreadyExists = 103,
}
public enum EVRInitError
{
@@ -2806,6 +3513,16 @@ public enum EVRInitError
Init_NotSupportedWithCompositor = 122,
Init_NotAvailableToUtilityApps = 123,
Init_Internal = 124,
+ Init_HmdDriverIdIsNone = 125,
+ Init_HmdNotFoundPresenceFailed = 126,
+ Init_VRMonitorNotFound = 127,
+ Init_VRMonitorStartupFailed = 128,
+ Init_LowPowerWatchdogNotSupported = 129,
+ Init_InvalidApplicationType = 130,
+ Init_NotAvailableToWatchdogApps = 131,
+ Init_WatchdogDisabledInSettings = 132,
+ Init_VRDashboardNotFound = 133,
+ Init_VRDashboardStartupFailed = 134,
Driver_Failed = 200,
Driver_Unknown = 201,
Driver_HmdUnknown = 202,
@@ -2815,15 +3532,23 @@ public enum EVRInitError
Driver_NotCalibrated = 206,
Driver_CalibrationInvalid = 207,
Driver_HmdDisplayNotFound = 208,
+ Driver_TrackedDeviceInterfaceUnknown = 209,
+ Driver_HmdDriverIdOutOfBounds = 211,
+ Driver_HmdDisplayMirrored = 212,
IPC_ServerInitFailed = 300,
IPC_ConnectFailed = 301,
IPC_SharedStateInitFailed = 302,
IPC_CompositorInitFailed = 303,
IPC_MutexInitFailed = 304,
IPC_Failed = 305,
+ IPC_CompositorConnectFailed = 306,
+ IPC_CompositorInvalidConnectResponse = 307,
+ IPC_ConnectFailedAfterMultipleAttempts = 308,
Compositor_Failed = 400,
Compositor_D3D11HardwareRequired = 401,
Compositor_FirmwareRequiresUpdate = 402,
+ Compositor_OverlayInitFailed = 403,
+ Compositor_ScreenshotsInitFailed = 404,
VendorSpecific_UnableToConnectToOculusRuntime = 1000,
VendorSpecific_HmdFound_CantOpenDevice = 1101,
VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102,
@@ -2840,6 +3565,47 @@ public enum EVRInitError
VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113,
Steam_SteamInstallationNotFound = 2000,
}
+public enum EVRScreenshotType
+{
+ None = 0,
+ Mono = 1,
+ Stereo = 2,
+ Cubemap = 3,
+ MonoPanorama = 4,
+ StereoPanorama = 5,
+}
+public enum EVRScreenshotPropertyFilenames
+{
+ Preview = 0,
+ VR = 1,
+}
+public enum EVRTrackedCameraError
+{
+ None = 0,
+ OperationFailed = 100,
+ InvalidHandle = 101,
+ InvalidFrameHeaderVersion = 102,
+ OutOfHandles = 103,
+ IPCFailure = 104,
+ NotSupportedForThisDevice = 105,
+ SharedMemoryFailure = 106,
+ FrameBufferingFailure = 107,
+ StreamSetupFailure = 108,
+ InvalidGLTextureId = 109,
+ InvalidSharedTextureHandle = 110,
+ FailedToGetGLTextureId = 111,
+ SharedTextureFailure = 112,
+ NoFrameAvailable = 113,
+ InvalidArgument = 114,
+ InvalidFrameBufferSize = 115,
+}
+public enum EVRTrackedCameraFrameType
+{
+ Distorted = 0,
+ Undistorted = 1,
+ MaximumUndistorted = 2,
+ MAX_CAMERA_FRAME_TYPES = 3,
+}
public enum EVRApplicationError
{
None = 0,
@@ -2878,6 +3644,7 @@ public enum EVRApplicationProperty
IsDashboardOverlay_Bool = 60,
IsTemplate_Bool = 61,
IsInstanced_Bool = 62,
+ IsInternal_Bool = 63,
LastLaunchTime_Uint64 = 70,
}
public enum EVRApplicationTransitionState
@@ -2895,7 +3662,7 @@ public enum ChaperoneCalibrationState
Warning_BaseStationRemoved = 102,
Warning_SeatedBoundsInvalid = 103,
Error = 200,
- Error_BaseStationUninitalized = 201,
+ Error_BaseStationUninitialized = 201,
Error_BaseStationConflict = 202,
Error_PlayAreaInvalid = 203,
Error_CollisionBoundsInvalid = 204,
@@ -2912,6 +3679,7 @@ public enum EChaperoneImportFlags
public enum EVRCompositorError
{
None = 0,
+ RequestFailed = 1,
IncompatibleVersion = 100,
DoNotHaveFocus = 101,
InvalidTexture = 102,
@@ -2920,6 +3688,7 @@ public enum EVRCompositorError
TextureUsesUnsupportedFormat = 105,
SharedTexturesNotSupported = 106,
IndexOutOfRange = 107,
+ AlreadySubmitted = 108,
}
public enum VROverlayInputMethod
{
@@ -2945,6 +3714,22 @@ public enum VROverlayFlags
SendVRTouchpadEvents = 7,
ShowTouchPadScrollWheel = 8,
TransferOwnershipToInternalProcess = 9,
+ SideBySide_Parallel = 10,
+ SideBySide_Crossed = 11,
+ Panorama = 12,
+ StereoPanorama = 13,
+ SortWithNonSceneOverlays = 14,
+ VisibleInDashboard = 15,
+}
+public enum VRMessageOverlayResponse
+{
+ ButtonPress_0 = 0,
+ ButtonPress_1 = 1,
+ ButtonPress_2 = 2,
+ ButtonPress_3 = 3,
+ CouldntFindSystemOverlay = 4,
+ CouldntFindOrCreateClientOverlay = 5,
+ ApplicationQuit = 6,
}
public enum EGamepadTextInputMode
{
@@ -2965,6 +3750,11 @@ public enum EOverlayDirection
Right = 3,
Count = 4,
}
+public enum EVROverlayIntersectionMaskPrimitiveType
+{
+ OverlayIntersectionPrimitiveType_Rectangle = 0,
+ OverlayIntersectionPrimitiveType_Circle = 1,
+}
public enum EVRRenderModelError
{
None = 0,
@@ -2974,8 +3764,11 @@ public enum EVRRenderModelError
InvalidModel = 301,
NoShapes = 302,
MultipleShapes = 303,
- TooManyIndices = 304,
+ TooManyVertices = 304,
MultipleTextures = 305,
+ BufferTooSmall = 306,
+ NotEnoughNormals = 307,
+ NotEnoughTexCoords = 308,
InvalidTexture = 400,
}
public enum EVRComponentProperty
@@ -2990,6 +3783,7 @@ public enum EVRNotificationType
{
Transient = 0,
Persistent = 1,
+ Transient_SystemWithUserValue = 2,
}
public enum EVRNotificationStyle
{
@@ -3005,6 +3799,17 @@ public enum EVRSettingsError
IPCFailed = 1,
WriteFailed = 2,
ReadFailed = 3,
+ JsonParseFailed = 4,
+ UnsetSettingHasNoDefault = 5,
+}
+public enum EVRScreenshotError
+{
+ None = 0,
+ RequestFailed = 1,
+ IncompatibleVersion = 100,
+ NotFound = 101,
+ BufferTooSmall = 102,
+ ScreenshotAlreadyInProgress = 108,
}
[StructLayout(LayoutKind.Explicit)] public struct VREvent_Data_t
@@ -3022,9 +3827,21 @@ public enum EVRSettingsError
[FieldOffset(0)] public VREvent_PerformanceTest_t performanceTest;
[FieldOffset(0)] public VREvent_TouchPadMove_t touchPadMove;
[FieldOffset(0)] public VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset;
+ [FieldOffset(0)] public VREvent_Screenshot_t screenshot;
+ [FieldOffset(0)] public VREvent_ScreenshotProgress_t screenshotProgress;
+ [FieldOffset(0)] public VREvent_ApplicationLaunch_t applicationLaunch;
+ [FieldOffset(0)] public VREvent_EditingCameraSurface_t cameraSurface;
+ [FieldOffset(0)] public VREvent_MessageOverlay_t messageOverlay;
[FieldOffset(0)] public VREvent_Keyboard_t keyboard; // This has to be at the end due to a mono bug
}
+
+[StructLayout(LayoutKind.Explicit)] public struct VROverlayIntersectionMaskPrimitive_Data_t
+{
+ [FieldOffset(0)] public IntersectionMaskRectangle_t m_Rectangle;
+ [FieldOffset(0)] public IntersectionMaskCircle_t m_Circle;
+}
+
[StructLayout(LayoutKind.Sequential)] public struct HmdMatrix34_t
{
public float m0; //float[3][4]
@@ -3121,7 +3938,7 @@ public enum EVRSettingsError
[StructLayout(LayoutKind.Sequential)] public struct Texture_t
{
public IntPtr handle; // void *
- public EGraphicsAPIConvention eType;
+ public ETextureType eType;
public EColorSpace eColorSpace;
}
[StructLayout(LayoutKind.Sequential)] public struct TrackedDevicePose_t
@@ -3142,6 +3959,25 @@ public enum EVRSettingsError
public float uMax;
public float vMax;
}
+[StructLayout(LayoutKind.Sequential)] public struct VRVulkanTextureData_t
+{
+ public ulong m_nImage;
+ public IntPtr m_pDevice; // struct VkDevice_T *
+ public IntPtr m_pPhysicalDevice; // struct VkPhysicalDevice_T *
+ public IntPtr m_pInstance; // struct VkInstance_T *
+ public IntPtr m_pQueue; // struct VkQueue_T *
+ public uint m_nQueueFamilyIndex;
+ public uint m_nWidth;
+ public uint m_nHeight;
+ public uint m_nFormat;
+ public uint m_nSampleCount;
+}
+[StructLayout(LayoutKind.Sequential)] public struct D3D12TextureData_t
+{
+ public IntPtr m_pResource; // struct ID3D12Resource *
+ public IntPtr m_pCommandQueue; // struct ID3D12CommandQueue *
+ public uint m_nNodeMask;
+}
[StructLayout(LayoutKind.Sequential)] public struct VREvent_Controller_t
{
public uint button;
@@ -3216,6 +4052,34 @@ public enum EVRSettingsError
[MarshalAs(UnmanagedType.I1)]
public bool bResetBySystemMenu;
}
+[StructLayout(LayoutKind.Sequential)] public struct VREvent_Screenshot_t
+{
+ public uint handle;
+ public uint type;
+}
+[StructLayout(LayoutKind.Sequential)] public struct VREvent_ScreenshotProgress_t
+{
+ public float progress;
+}
+[StructLayout(LayoutKind.Sequential)] public struct VREvent_ApplicationLaunch_t
+{
+ public uint pid;
+ public uint unArgsHandle;
+}
+[StructLayout(LayoutKind.Sequential)] public struct VREvent_EditingCameraSurface_t
+{
+ public ulong overlayHandle;
+ public uint nVisualMode;
+}
+[StructLayout(LayoutKind.Sequential)] public struct VREvent_MessageOverlay_t
+{
+ public uint unVRMessageOverlayResponse;
+}
+[StructLayout(LayoutKind.Sequential)] public struct VREvent_Property_t
+{
+ public ulong container;
+ public ETrackedDeviceProperty prop;
+}
[StructLayout(LayoutKind.Sequential)] public struct VREvent_t
{
public uint eventType;
@@ -3244,6 +4108,29 @@ public enum EVRSettingsError
public VRControllerAxis_t rAxis3;
public VRControllerAxis_t rAxis4;
}
+// This structure is for backwards binary compatibility on Linux and OSX only
+[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct VRControllerState_t_Packed
+{
+ public uint unPacketNum;
+ public ulong ulButtonPressed;
+ public ulong ulButtonTouched;
+ public VRControllerAxis_t rAxis0; //VRControllerAxis_t[5]
+ public VRControllerAxis_t rAxis1;
+ public VRControllerAxis_t rAxis2;
+ public VRControllerAxis_t rAxis3;
+ public VRControllerAxis_t rAxis4;
+ public void Unpack(ref VRControllerState_t unpacked)
+ {
+ unpacked.unPacketNum = this.unPacketNum;
+ unpacked.ulButtonPressed = this.ulButtonPressed;
+ unpacked.ulButtonTouched = this.ulButtonTouched;
+ unpacked.rAxis0 = this.rAxis0;
+ unpacked.rAxis1 = this.rAxis1;
+ unpacked.rAxis2 = this.rAxis2;
+ unpacked.rAxis3 = this.rAxis3;
+ unpacked.rAxis4 = this.rAxis4;
+ }
+}
[StructLayout(LayoutKind.Sequential)] public struct Compositor_OverlaySettings
{
public uint size;
@@ -3263,6 +4150,15 @@ public enum EVRSettingsError
public float gridScale;
public HmdMatrix44_t transform;
}
+[StructLayout(LayoutKind.Sequential)] public struct CameraVideoStreamFrameHeader_t
+{
+ public EVRTrackedCameraFrameType eFrameType;
+ public uint nWidth;
+ public uint nHeight;
+ public uint nBytesPerPixel;
+ public uint nFrameSequence;
+ public TrackedDevicePose_t standingTrackedDevicePose;
+}
[StructLayout(LayoutKind.Sequential)] public struct AppOverrideKeys_t
{
public IntPtr pchKey; // const char *
@@ -3273,9 +4169,12 @@ public enum EVRSettingsError
public uint m_nSize;
public uint m_nFrameIndex;
public uint m_nNumFramePresents;
+ public uint m_nNumMisPresented;
public uint m_nNumDroppedFrames;
+ public uint m_nReprojectionFlags;
public double m_flSystemTimeInSeconds;
- public float m_flSceneRenderGpuMs;
+ public float m_flPreSubmitGpuMs;
+ public float m_flPostSubmitGpuMs;
public float m_flTotalRenderGpuMs;
public float m_flCompositorRenderGpuMs;
public float m_flCompositorRenderCpuMs;
@@ -3291,8 +4190,24 @@ public enum EVRSettingsError
public float m_flCompositorUpdateEndMs;
public float m_flCompositorRenderStartMs;
public TrackedDevicePose_t m_HmdPose;
- public int m_nFidelityLevel;
- public uint m_nReprojectionFlags;
+}
+[StructLayout(LayoutKind.Sequential)] public struct Compositor_CumulativeStats
+{
+ public uint m_nPid;
+ public uint m_nNumFramePresents;
+ public uint m_nNumDroppedFrames;
+ public uint m_nNumReprojectedFrames;
+ public uint m_nNumFramePresentsOnStartup;
+ public uint m_nNumDroppedFramesOnStartup;
+ public uint m_nNumReprojectedFramesOnStartup;
+ public uint m_nNumLoading;
+ public uint m_nNumFramePresentsLoading;
+ public uint m_nNumDroppedFramesLoading;
+ public uint m_nNumReprojectedFramesLoading;
+ public uint m_nNumTimedOut;
+ public uint m_nNumFramePresentsTimedOut;
+ public uint m_nNumDroppedFramesTimedOut;
+ public uint m_nNumReprojectedFramesTimedOut;
}
[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionParams_t
{
@@ -3307,6 +4222,24 @@ public enum EVRSettingsError
public HmdVector2_t vUVs;
public float fDistance;
}
+[StructLayout(LayoutKind.Sequential)] public struct IntersectionMaskRectangle_t
+{
+ public float m_flTopLeftX;
+ public float m_flTopLeftY;
+ public float m_flWidth;
+ public float m_flHeight;
+}
+[StructLayout(LayoutKind.Sequential)] public struct IntersectionMaskCircle_t
+{
+ public float m_flCenterX;
+ public float m_flCenterY;
+ public float m_flRadius;
+}
+[StructLayout(LayoutKind.Sequential)] public struct VROverlayIntersectionMaskPrimitive_t
+{
+ public EVROverlayIntersectionMaskPrimitiveType m_nPrimitiveType;
+ public VROverlayIntersectionMaskPrimitive_Data_t m_Primitive;
+}
[StructLayout(LayoutKind.Sequential)] public struct RenderModel_ComponentState_t
{
public HmdMatrix34_t mTrackingToComponentRenderModel;
@@ -3326,6 +4259,19 @@ public enum EVRSettingsError
public char unHeight;
public IntPtr rubTextureMapData; // const uint8_t *
}
+// This structure is for backwards binary compatibility on Linux and OSX only
+[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct RenderModel_TextureMap_t_Packed
+{
+ public char unWidth;
+ public char unHeight;
+ public IntPtr rubTextureMapData; // const uint8_t *
+ public void Unpack(ref RenderModel_TextureMap_t unpacked)
+ {
+ unpacked.unWidth = this.unWidth;
+ unpacked.unHeight = this.unHeight;
+ unpacked.rubTextureMapData = this.rubTextureMapData;
+ }
+}
[StructLayout(LayoutKind.Sequential)] public struct RenderModel_t
{
public IntPtr rVertexData; // const struct vr::RenderModel_Vertex_t *
@@ -3334,6 +4280,23 @@ public enum EVRSettingsError
public uint unTriangleCount;
public int diffuseTextureId;
}
+// This structure is for backwards binary compatibility on Linux and OSX only
+[StructLayout(LayoutKind.Sequential, Pack = 4)] public struct RenderModel_t_Packed
+{
+ public IntPtr rVertexData; // const struct vr::RenderModel_Vertex_t *
+ public uint unVertexCount;
+ public IntPtr rIndexData; // const uint16_t *
+ public uint unTriangleCount;
+ public int diffuseTextureId;
+ public void Unpack(ref RenderModel_t unpacked)
+ {
+ unpacked.rVertexData = this.rVertexData;
+ unpacked.unVertexCount = this.unVertexCount;
+ unpacked.rIndexData = this.rIndexData;
+ unpacked.unTriangleCount = this.unTriangleCount;
+ unpacked.diffuseTextureId = this.diffuseTextureId;
+ }
+}
[StructLayout(LayoutKind.Sequential)] public struct RenderModel_ControllerMode_State_t
{
[MarshalAs(UnmanagedType.I1)]
@@ -3341,10 +4304,10 @@ public enum EVRSettingsError
}
[StructLayout(LayoutKind.Sequential)] public struct NotificationBitmap_t
{
- public IntPtr bytes; // void *
- public int width;
- public int height;
- public int depth;
+ public IntPtr m_pImageData; // void *
+ public int m_nWidth;
+ public int m_nHeight;
+ public int m_nBytesPerPixel;
}
[StructLayout(LayoutKind.Sequential)] public struct COpenVRContext
{
@@ -3353,10 +4316,13 @@ public enum EVRSettingsError
public IntPtr m_pVRChaperoneSetup; // class vr::IVRChaperoneSetup *
public IntPtr m_pVRCompositor; // class vr::IVRCompositor *
public IntPtr m_pVROverlay; // class vr::IVROverlay *
+ public IntPtr m_pVRResources; // class vr::IVRResources *
public IntPtr m_pVRRenderModels; // class vr::IVRRenderModels *
public IntPtr m_pVRExtendedDisplay; // class vr::IVRExtendedDisplay *
public IntPtr m_pVRSettings; // class vr::IVRSettings *
public IntPtr m_pVRApplications; // class vr::IVRApplications *
+ public IntPtr m_pVRTrackedCamera; // class vr::IVRTrackedCamera *
+ public IntPtr m_pVRScreenshots; // class vr::IVRScreenshots *
}
public class OpenVR
@@ -3402,25 +4368,44 @@ public static uint GetInitToken()
return OpenVRInterop.GetInitToken();
}
- public const uint k_unTrackingStringSize = 32;
public const uint k_unMaxDriverDebugResponseSize = 32768;
public const uint k_unTrackedDeviceIndex_Hmd = 0;
public const uint k_unMaxTrackedDeviceCount = 16;
+ public const uint k_unTrackedDeviceIndexOther = 4294967294;
public const uint k_unTrackedDeviceIndexInvalid = 4294967295;
+ public const ulong k_ulInvalidPropertyContainer = 0;
+ public const uint k_unInvalidPropertyTag = 0;
+ public const uint k_unFloatPropertyTag = 1;
+ public const uint k_unInt32PropertyTag = 2;
+ public const uint k_unUint64PropertyTag = 3;
+ public const uint k_unBoolPropertyTag = 4;
+ public const uint k_unStringPropertyTag = 5;
+ public const uint k_unHmdMatrix34PropertyTag = 20;
+ public const uint k_unHmdMatrix44PropertyTag = 21;
+ public const uint k_unHmdVector3PropertyTag = 22;
+ public const uint k_unHmdVector4PropertyTag = 23;
+ public const uint k_unHiddenAreaPropertyTag = 30;
+ public const uint k_unOpenVRInternalReserved_Start = 1000;
+ public const uint k_unOpenVRInternalReserved_End = 10000;
public const uint k_unMaxPropertyStringSize = 32768;
public const uint k_unControllerStateAxisCount = 5;
public const ulong k_ulOverlayHandleInvalid = 0;
- public const string IVRSystem_Version = "IVRSystem_012";
+ public const uint k_unScreenshotHandleInvalid = 0;
+ public const string IVRSystem_Version = "IVRSystem_015";
public const string IVRExtendedDisplay_Version = "IVRExtendedDisplay_001";
+ public const string IVRTrackedCamera_Version = "IVRTrackedCamera_003";
public const uint k_unMaxApplicationKeyLength = 128;
- public const string IVRApplications_Version = "IVRApplications_005";
+ public const string k_pch_MimeType_HomeApp = "vr/home";
+ public const string k_pch_MimeType_GameTheater = "vr/game_theater";
+ public const string IVRApplications_Version = "IVRApplications_006";
public const string IVRChaperone_Version = "IVRChaperone_003";
public const string IVRChaperoneSetup_Version = "IVRChaperoneSetup_005";
- public const string IVRCompositor_Version = "IVRCompositor_014";
+ public const string IVRCompositor_Version = "IVRCompositor_020";
public const uint k_unVROverlayMaxKeyLength = 128;
public const uint k_unVROverlayMaxNameLength = 128;
- public const uint k_unMaxOverlayCount = 32;
- public const string IVROverlay_Version = "IVROverlay_011";
+ public const uint k_unMaxOverlayCount = 64;
+ public const uint k_unMaxOverlayIntersectionMaskPrimitivesCount = 32;
+ public const string IVROverlay_Version = "IVROverlay_014";
public const string k_pch_Controller_Component_GDC2015 = "gdc2015";
public const string k_pch_Controller_Component_Base = "base";
public const string k_pch_Controller_Component_Tip = "tip";
@@ -3430,7 +4415,7 @@ public static uint GetInitToken()
public const uint k_unNotificationTextMaxSize = 256;
public const string IVRNotifications_Version = "IVRNotifications_002";
public const uint k_unMaxSettingsKeyLength = 128;
- public const string IVRSettings_Version = "IVRSettings_001";
+ public const string IVRSettings_Version = "IVRSettings_002";
public const string k_pch_SteamVR_Section = "steamvr";
public const string k_pch_SteamVR_RequireHmd_String = "requireHmd";
public const string k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver";
@@ -3444,12 +4429,13 @@ public static uint GetInitToken()
public const string k_pch_SteamVR_LogLevel_Int32 = "loglevel";
public const string k_pch_SteamVR_IPD_Float = "ipd";
public const string k_pch_SteamVR_Background_String = "background";
+ public const string k_pch_SteamVR_BackgroundUseDomeProjection_Bool = "backgroundUseDomeProjection";
+ public const string k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight";
+ public const string k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius";
public const string k_pch_SteamVR_GridColor_String = "gridColor";
public const string k_pch_SteamVR_PlayAreaColor_String = "playAreaColor";
+ public const string k_pch_SteamVR_ShowStage_Bool = "showStage";
public const string k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers";
- public const string k_pch_SteamVR_PowerOffOnExit_Bool = "powerOffOnExit";
- public const string k_pch_SteamVR_StandbyAppRunningTimeout_Float = "standbyAppRunningTimeout";
- public const string k_pch_SteamVR_StandbyNoAppTimeout_Float = "standbyNoAppTimeout";
public const string k_pch_SteamVR_DirectMode_Bool = "directMode";
public const string k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid";
public const string k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid";
@@ -3458,22 +4444,29 @@ public static uint GetInitToken()
public const string k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement";
public const string k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses";
public const string k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMultiplier";
- public const string k_pch_SteamVR_AllowReprojection_Bool = "allowReprojection";
+ public const string k_pch_SteamVR_AllowAsyncReprojection_Bool = "allowAsyncReprojection";
+ public const string k_pch_SteamVR_AllowReprojection_Bool = "allowInterleavedReprojection";
+ public const string k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection";
+ public const string k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking";
+ public const string k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView";
+ public const string k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView";
+ public const string k_pch_SteamVR_MirrorViewGeometry_String = "mirrorViewGeometry";
+ public const string k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch";
+ public const string k_pch_SteamVR_StartCompositorFromAppLaunch_Bool = "startCompositorFromAppLaunch";
+ public const string k_pch_SteamVR_StartDashboardFromAppLaunch_Bool = "startDashboardFromAppLaunch";
+ public const string k_pch_SteamVR_StartOverlayAppsFromDashboard_Bool = "startOverlayAppsFromDashboard";
+ public const string k_pch_SteamVR_EnableHomeApp = "enableHomeApp";
+ public const string k_pch_SteamVR_SetInitialDefaultHomeApp = "setInitialDefaultHomeApp";
+ public const string k_pch_SteamVR_CycleBackgroundImageTimeSec_Int32 = "CycleBackgroundImageTimeSec";
+ public const string k_pch_SteamVR_RetailDemo_Bool = "retailDemo";
+ public const string k_pch_SteamVR_IpdOffset_Float = "ipdOffset";
public const string k_pch_Lighthouse_Section = "driver_lighthouse";
public const string k_pch_Lighthouse_DisableIMU_Bool = "disableimu";
public const string k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation";
public const string k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug";
public const string k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation";
- public const string k_pch_Lighthouse_LighthouseName_String = "lighthousename";
- public const string k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float = "maxincidenceangledegrees";
- public const string k_pch_Lighthouse_UseLighthouseDirect_Bool = "uselighthousedirect";
public const string k_pch_Lighthouse_DBHistory_Bool = "dbhistory";
- public const string k_pch_Lighthouse_OriginOffsetX_Float = "originoffsetx";
- public const string k_pch_Lighthouse_OriginOffsetY_Float = "originoffsety";
- public const string k_pch_Lighthouse_OriginOffsetZ_Float = "originoffsetz";
- public const string k_pch_Lighthouse_HeadingOffset_Float = "headingoffset";
public const string k_pch_Null_Section = "driver_null";
- public const string k_pch_Null_EnableNullDriver_Bool = "enable";
public const string k_pch_Null_SerialNumber_String = "serialNumber";
public const string k_pch_Null_ModelNumber_String = "modelNumber";
public const string k_pch_Null_WindowX_Int32 = "windowX";
@@ -3486,6 +4479,9 @@ public static uint GetInitToken()
public const string k_pch_Null_DisplayFrequency_Float = "displayFrequency";
public const string k_pch_UserInterface_Section = "userinterface";
public const string k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop";
+ public const string k_pch_UserInterface_MinimizeToTray_Bool = "MinimizeToTray";
+ public const string k_pch_UserInterface_Screenshots_Bool = "screenshots";
+ public const string k_pch_UserInterface_ScreenshotType_Int = "screenshotType";
public const string k_pch_Notifications_Section = "notifications";
public const string k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb";
public const string k_pch_Keyboard_Section = "keyboard";
@@ -3522,6 +4518,7 @@ public static uint GetInitToken()
public const string k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG";
public const string k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB";
public const string k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA";
+ public const string k_pch_Camera_BoundsStrength_Int32 = "cameraBoundsStrength";
public const string k_pch_audio_Section = "audio";
public const string k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice";
public const string k_pch_audio_OnRecordDevice_String = "onRecordDevice";
@@ -3529,6 +4526,19 @@ public static uint GetInitToken()
public const string k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice";
public const string k_pch_audio_OffRecordDevice_String = "offRecordDevice";
public const string k_pch_audio_VIVEHDMIGain = "viveHDMIGain";
+ public const string k_pch_Power_Section = "power";
+ public const string k_pch_Power_PowerOffOnExit_Bool = "powerOffOnExit";
+ public const string k_pch_Power_TurnOffScreensTimeout_Float = "turnOffScreensTimeout";
+ public const string k_pch_Power_TurnOffControllersTimeout_Float = "turnOffControllersTimeout";
+ public const string k_pch_Power_ReturnToWatchdogTimeout_Float = "returnToWatchdogTimeout";
+ public const string k_pch_Power_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress";
+ public const string k_pch_Dashboard_Section = "dashboard";
+ public const string k_pch_Dashboard_EnableDashboard_Bool = "enableDashboard";
+ public const string k_pch_Dashboard_ArcadeMode_Bool = "arcadeMode";
+ public const string k_pch_modelskin_Section = "modelskins";
+ public const string k_pch_Driver_Enable_Bool = "enable";
+ public const string IVRScreenshots_Version = "IVRScreenshots_001";
+ public const string IVRResources_Version = "IVRResources_001";
static uint VRToken { get; set; }
@@ -3549,6 +4559,8 @@ public void Clear()
m_pVRExtendedDisplay = null;
m_pVRSettings = null;
m_pVRApplications = null;
+ m_pVRScreenshots = null;
+ m_pVRTrackedCamera = null;
}
void CheckClear()
@@ -3677,6 +4689,32 @@ public CVRApplications VRApplications()
return m_pVRApplications;
}
+ public CVRScreenshots VRScreenshots()
+ {
+ CheckClear();
+ if (m_pVRScreenshots == null)
+ {
+ var eError = EVRInitError.None;
+ var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRScreenshots_Version, ref eError);
+ if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
+ m_pVRScreenshots = new CVRScreenshots(pInterface);
+ }
+ return m_pVRScreenshots;
+ }
+
+ public CVRTrackedCamera VRTrackedCamera()
+ {
+ CheckClear();
+ if (m_pVRTrackedCamera == null)
+ {
+ var eError = EVRInitError.None;
+ var pInterface = OpenVRInterop.GetGenericInterface(FnTable_Prefix+IVRTrackedCamera_Version, ref eError);
+ if (pInterface != IntPtr.Zero && eError == EVRInitError.None)
+ m_pVRTrackedCamera = new CVRTrackedCamera(pInterface);
+ }
+ return m_pVRTrackedCamera;
+ }
+
private CVRSystem m_pVRSystem;
private CVRChaperone m_pVRChaperone;
private CVRChaperoneSetup m_pVRChaperoneSetup;
@@ -3686,6 +4724,8 @@ public CVRApplications VRApplications()
private CVRExtendedDisplay m_pVRExtendedDisplay;
private CVRSettings m_pVRSettings;
private CVRApplications m_pVRApplications;
+ private CVRScreenshots m_pVRScreenshots;
+ private CVRTrackedCamera m_pVRTrackedCamera;
};
private static COpenVRContext _OpenVRInternal_ModuleContext = null;
@@ -3705,9 +4745,11 @@ static COpenVRContext OpenVRInternal_ModuleContext
public static CVRCompositor Compositor { get { return OpenVRInternal_ModuleContext.VRCompositor(); } }
public static CVROverlay Overlay { get { return OpenVRInternal_ModuleContext.VROverlay(); } }
public static CVRRenderModels RenderModels { get { return OpenVRInternal_ModuleContext.VRRenderModels(); } }
- public static CVRApplications Applications { get { return OpenVRInternal_ModuleContext.VRApplications(); } }
- public static CVRSettings Settings { get { return OpenVRInternal_ModuleContext.VRSettings(); } }
public static CVRExtendedDisplay ExtendedDisplay { get { return OpenVRInternal_ModuleContext.VRExtendedDisplay(); } }
+ public static CVRSettings Settings { get { return OpenVRInternal_ModuleContext.VRSettings(); } }
+ public static CVRApplications Applications { get { return OpenVRInternal_ModuleContext.VRApplications(); } }
+ public static CVRScreenshots Screenshots { get { return OpenVRInternal_ModuleContext.VRScreenshots(); } }
+ public static CVRTrackedCamera TrackedCamera { get { return OpenVRInternal_ModuleContext.VRTrackedCamera(); } }
/** Finds the active installation of vrclient.dll and initializes it */
public static CVRSystem Init(ref EVRInitError peError, EVRApplicationType eApplicationType = EVRApplicationType.VRApplication_Scene)
diff --git a/Assets/Plugins/x86/libopenvr_api.so b/Assets/Plugins/x86/libopenvr_api.so
deleted file mode 100644
index a250545..0000000
Binary files a/Assets/Plugins/x86/libopenvr_api.so and /dev/null differ
diff --git a/Assets/Plugins/x86/libopenvr_api.so.meta b/Assets/Plugins/x86/libopenvr_api.so.meta
deleted file mode 100644
index dc09699..0000000
--- a/Assets/Plugins/x86/libopenvr_api.so.meta
+++ /dev/null
@@ -1,53 +0,0 @@
-fileFormatVersion: 2
-guid: 64b48e8bdcc9e0541aa902936def9faa
-timeCreated: 1463158122
-licenseType: Store
-PluginImporter:
- serializedVersion: 1
- iconMap: {}
- executionOrder: {}
- isPreloaded: 0
- platformData:
- Any:
- enabled: 1
- settings: {}
- Editor:
- enabled: 0
- settings:
- CPU: x86
- DefaultValueInitialized: true
- Linux:
- enabled: 1
- settings:
- CPU: x86
- Linux64:
- enabled: 0
- settings:
- CPU: None
- LinuxUniversal:
- enabled: 0
- settings:
- CPU: x86
- OSXIntel:
- enabled: 1
- settings:
- CPU: AnyCPU
- OSXIntel64:
- enabled: 0
- settings:
- CPU: None
- OSXUniversal:
- enabled: 0
- settings:
- CPU: x86
- Win:
- enabled: 1
- settings:
- CPU: AnyCPU
- Win64:
- enabled: 0
- settings:
- CPU: None
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Plugins/x86/openvr_api.dll b/Assets/Plugins/x86/openvr_api.dll
deleted file mode 100644
index eb776af..0000000
Binary files a/Assets/Plugins/x86/openvr_api.dll and /dev/null differ
diff --git a/Assets/Plugins/x86/openvr_api.dll.meta b/Assets/Plugins/x86/openvr_api.dll.meta
deleted file mode 100644
index 647b8d2..0000000
--- a/Assets/Plugins/x86/openvr_api.dll.meta
+++ /dev/null
@@ -1,30 +0,0 @@
-fileFormatVersion: 2
-guid: 73d5d79effb76f84491567f3c473b810
-timeCreated: 1429123045
-licenseType: Store
-PluginImporter:
- serializedVersion: 1
- iconMap: {}
- executionOrder: {}
- isPreloaded: 0
- platformData:
- Any:
- enabled: 0
- settings: {}
- Editor:
- enabled: 1
- settings:
- CPU: x86
- DefaultValueInitialized: true
- OS: Windows
- Win:
- enabled: 1
- settings:
- CPU: AnyCPU
- Win64:
- enabled: 1
- settings:
- CPU: None
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Plugins/x86_64/libopenvr_api.so b/Assets/Plugins/x86_64/libopenvr_api.so
deleted file mode 100644
index 9c025e0..0000000
Binary files a/Assets/Plugins/x86_64/libopenvr_api.so and /dev/null differ
diff --git a/Assets/Plugins/x86_64/libopenvr_api.so.meta b/Assets/Plugins/x86_64/libopenvr_api.so.meta
deleted file mode 100644
index a25cb25..0000000
--- a/Assets/Plugins/x86_64/libopenvr_api.so.meta
+++ /dev/null
@@ -1,76 +0,0 @@
-fileFormatVersion: 2
-guid: d4aa343e31277cd45b2c3096d3318b90
-timeCreated: 1457668425
-licenseType: Store
-PluginImporter:
- serializedVersion: 1
- iconMap: {}
- executionOrder: {}
- isPreloaded: 0
- platformData:
- Android:
- enabled: 0
- settings:
- CPU: AnyCPU
- Any:
- enabled: 0
- settings: {}
- Editor:
- enabled: 0
- settings:
- CPU: x86_64
- DefaultValueInitialized: true
- OS: AnyOS
- Linux:
- enabled: 1
- settings:
- CPU: None
- Linux64:
- enabled: 1
- settings:
- CPU: x86_64
- LinuxUniversal:
- enabled: 1
- settings:
- CPU: x86_64
- OSXIntel:
- enabled: 1
- settings:
- CPU: None
- OSXIntel64:
- enabled: 1
- settings:
- CPU: None
- OSXUniversal:
- enabled: 1
- settings:
- CPU: None
- WP8:
- enabled: 0
- settings:
- CPU: AnyCPU
- DontProcess: False
- PlaceholderPath:
- Win:
- enabled: 1
- settings:
- CPU: None
- Win64:
- enabled: 1
- settings:
- CPU: AnyCPU
- WindowsStoreApps:
- enabled: 0
- settings:
- CPU: AnyCPU
- DontProcess: False
- PlaceholderPath:
- SDK: AnySDK
- iOS:
- enabled: 0
- settings:
- CompileFlags:
- FrameworkDependencies:
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Plugins/x86_64/openvr_api.dll b/Assets/Plugins/x86_64/openvr_api.dll
deleted file mode 100644
index 826cf9c..0000000
Binary files a/Assets/Plugins/x86_64/openvr_api.dll and /dev/null differ
diff --git a/Assets/Plugins/x86_64/openvr_api.dll.meta b/Assets/Plugins/x86_64/openvr_api.dll.meta
deleted file mode 100644
index 697d221..0000000
--- a/Assets/Plugins/x86_64/openvr_api.dll.meta
+++ /dev/null
@@ -1,30 +0,0 @@
-fileFormatVersion: 2
-guid: 9d42e4d46d897b648a1d6ed58a18e8a6
-timeCreated: 1429123045
-licenseType: Store
-PluginImporter:
- serializedVersion: 1
- iconMap: {}
- executionOrder: {}
- isPreloaded: 0
- platformData:
- Any:
- enabled: 0
- settings: {}
- Editor:
- enabled: 1
- settings:
- CPU: x86_64
- DefaultValueInitialized: true
- OS: Windows
- Win:
- enabled: 1
- settings:
- CPU: None
- Win64:
- enabled: 1
- settings:
- CPU: AnyCPU
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/SteamVR.meta b/Assets/SteamVR.meta
index a17b64e..7e4ea13 100644
--- a/Assets/SteamVR.meta
+++ b/Assets/SteamVR.meta
@@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: f0032bd9499af5e4aa85ea41615843a0
folderAsset: yes
-timeCreated: 1465633285
+timeCreated: 1496367098
licenseType: Free
DefaultImporter:
userData:
diff --git a/Assets/SteamVR/Editor.meta b/Assets/SteamVR/Editor.meta
index e2f41ed..90b104c 100644
--- a/Assets/SteamVR/Editor.meta
+++ b/Assets/SteamVR/Editor.meta
@@ -1,9 +1,6 @@
fileFormatVersion: 2
-guid: 941dde9a9ca65d74489c024e76c8bfe8
+guid: c33af0785775d7548b22541da37936fe
folderAsset: yes
-timeCreated: 1465633285
-licenseType: Free
DefaultImporter:
userData:
assetBundleName:
- assetBundleVariant:
diff --git a/Assets/SteamVR/Editor/SteamVR_Editor.cs b/Assets/SteamVR/Editor/SteamVR_Editor.cs
index f347231..8889e49 100644
--- a/Assets/SteamVR/Editor/SteamVR_Editor.cs
+++ b/Assets/SteamVR/Editor/SteamVR_Editor.cs
@@ -1,4 +1,4 @@
-//========= Copyright 2014, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Custom inspector display for SteamVR_Camera
//
@@ -27,11 +27,9 @@ string GetResourcePath()
void OnEnable()
{
var resourcePath = GetResourcePath();
-#if UNITY_5_0
- logo = Resources.LoadAssetAtPath(resourcePath + "logo.png");
-#else
+
logo = AssetDatabase.LoadAssetAtPath(resourcePath + "logo.png");
-#endif
+
script = serializedObject.FindProperty("m_Script");
wireframe = serializedObject.FindProperty("wireframe");
diff --git a/Assets/SteamVR/Editor/SteamVR_Preferences.cs b/Assets/SteamVR/Editor/SteamVR_Preferences.cs
new file mode 100644
index 0000000..ad3e000
--- /dev/null
+++ b/Assets/SteamVR/Editor/SteamVR_Preferences.cs
@@ -0,0 +1,48 @@
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
+//
+// Purpose: Preferences pane for how SteamVR plugin behaves.
+//
+//=============================================================================
+
+using UnityEngine;
+using UnityEditor;
+
+public class SteamVR_Preferences
+{
+ ///
+ /// Should SteamVR automatically enable VR when opening Unity or pressing play.
+ ///
+ public static bool AutoEnableVR
+ {
+ get
+ {
+ return EditorPrefs.GetBool("SteamVR_AutoEnableVR", true);
+ }
+ set
+ {
+ EditorPrefs.SetBool("SteamVR_AutoEnableVR", value);
+ }
+ }
+
+ [PreferenceItem("SteamVR")]
+ static void PreferencesGUI()
+ {
+ EditorGUILayout.BeginVertical();
+ EditorGUILayout.Space();
+
+ // Automatically Enable VR
+ {
+ string title = "Automatically Enable VR";
+ string tooltip = "Should SteamVR automatically enable VR on launch and play?";
+ AutoEnableVR = EditorGUILayout.Toggle(new GUIContent(title, tooltip), AutoEnableVR);
+ string helpMessage = "To enable VR manually:\n";
+ helpMessage += "- go to Edit -> Project Settings -> Player,\n";
+ helpMessage += "- tick 'Virtual Reality Supported',\n";
+ helpMessage += "- make sure OpenVR is in the 'Virtual Reality SDKs' list.";
+ EditorGUILayout.HelpBox(helpMessage, MessageType.Info);
+ }
+
+ EditorGUILayout.EndVertical();
+ }
+}
+
diff --git a/Assets/SteamVR/Editor/SteamVR_Preferences.cs.meta b/Assets/SteamVR/Editor/SteamVR_Preferences.cs.meta
new file mode 100644
index 0000000..3ecb77a
--- /dev/null
+++ b/Assets/SteamVR/Editor/SteamVR_Preferences.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 29abf75f7265ccb45b799eac4ab0ca94
+timeCreated: 1487968203
+licenseType: Store
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/SteamVR/Editor/SteamVR_Settings.cs b/Assets/SteamVR/Editor/SteamVR_Settings.cs
index ef4278b..f6e8145 100644
--- a/Assets/SteamVR/Editor/SteamVR_Settings.cs
+++ b/Assets/SteamVR/Editor/SteamVR_Settings.cs
@@ -1,4 +1,4 @@
-//========= Copyright 2015, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Prompt developers to use settings most compatible with SteamVR.
//
@@ -26,20 +26,15 @@ public class SteamVR_Settings : EditorWindow
const string resizableWindow = "Resizable Window";
const string fullscreenMode = "D3D11 Fullscreen Mode";
const string visibleInBackground = "Visible In Background";
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
const string renderingPath = "Rendering Path";
+#endif
const string colorSpace = "Color Space";
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
const string gpuSkinning = "GPU Skinning";
-#endif
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0) && false // skyboxes are currently broken
+#if false // skyboxes are currently broken
const string singlePassStereoRendering = "Single-Pass Stereo Rendering";
#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- const string stereoscopicRendering = "Stereoscopic Rendering";
-#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1)
- const string virtualRealitySupported = "Virtual Reality Support";
-#endif
+
const BuildTarget recommended_BuildTarget = BuildTarget.StandaloneWindows64;
const bool recommended_ShowUnitySplashScreen = false;
const bool recommended_DefaultIsFullScreen = false;
@@ -50,20 +45,15 @@ public class SteamVR_Settings : EditorWindow
const bool recommended_ResizableWindow = true;
const D3D11FullscreenMode recommended_FullscreenMode = D3D11FullscreenMode.FullscreenWindow;
const bool recommended_VisibleInBackground = true;
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
const RenderingPath recommended_RenderPath = RenderingPath.Forward;
+#endif
const ColorSpace recommended_ColorSpace = ColorSpace.Linear;
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
const bool recommended_GpuSkinning = true;
-#endif
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0) && false
+#if false
const bool recommended_SinglePassStereoRendering = true;
#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- const bool recommended_StereoscopicRendering = false;
-#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1)
- const bool recommended_VirtualRealitySupported = false;
-#endif
+
static SteamVR_Settings window;
static SteamVR_Settings()
@@ -77,7 +67,11 @@ static void Update()
(!EditorPrefs.HasKey(ignore + buildTarget) &&
EditorUserBuildSettings.activeBuildTarget != recommended_BuildTarget) ||
(!EditorPrefs.HasKey(ignore + showUnitySplashScreen) &&
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
PlayerSettings.showUnitySplashScreen != recommended_ShowUnitySplashScreen) ||
+#else
+ PlayerSettings.SplashScreen.show != recommended_ShowUnitySplashScreen) ||
+#endif
(!EditorPrefs.HasKey(ignore + defaultIsFullScreen) &&
PlayerSettings.defaultIsFullScreen != recommended_DefaultIsFullScreen) ||
(!EditorPrefs.HasKey(ignore + defaultScreenSize) &&
@@ -93,25 +87,17 @@ static void Update()
PlayerSettings.d3d11FullscreenMode != recommended_FullscreenMode) ||
(!EditorPrefs.HasKey(ignore + visibleInBackground) &&
PlayerSettings.visibleInBackground != recommended_VisibleInBackground) ||
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
(!EditorPrefs.HasKey(ignore + renderingPath) &&
PlayerSettings.renderingPath != recommended_RenderPath) ||
+#endif
(!EditorPrefs.HasKey(ignore + colorSpace) &&
PlayerSettings.colorSpace != recommended_ColorSpace) ||
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
(!EditorPrefs.HasKey(ignore + gpuSkinning) &&
PlayerSettings.gpuSkinning != recommended_GpuSkinning) ||
-#endif
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0) && false
+#if false
(!EditorPrefs.HasKey(ignore + singlePassStereoRendering) &&
PlayerSettings.singlePassStereoRendering != recommended_SinglePassStereoRendering) ||
-#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- (!EditorPrefs.HasKey(ignore + stereoscopicRendering) &&
- PlayerSettings.stereoscopic3D != recommended_StereoscopicRendering) ||
-#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1)
- (!EditorPrefs.HasKey(ignore + virtualRealitySupported) &&
- PlayerSettings.virtualRealitySupported != recommended_VirtualRealitySupported) ||
#endif
forceShow;
@@ -122,42 +108,53 @@ static void Update()
//window.title = "SteamVR";
}
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- // Switch to native OpenVR support.
- var updated = false;
-
- if (!PlayerSettings.virtualRealitySupported)
+ if (SteamVR_Preferences.AutoEnableVR)
{
- PlayerSettings.virtualRealitySupported = true;
- updated = true;
- }
+ // Switch to native OpenVR support.
+ var updated = false;
- var devices = UnityEditorInternal.VR.VREditor.GetVREnabledDevices(BuildTargetGroup.Standalone);
- var hasOpenVR = false;
- foreach (var device in devices)
- if (device.ToLower() == "openvr")
- hasOpenVR = true;
-
- if (!hasOpenVR)
- {
- string[] newDevices;
- if (updated)
+ if (!PlayerSettings.virtualRealitySupported)
{
- newDevices = new string[] { "OpenVR" };
+ PlayerSettings.virtualRealitySupported = true;
+ updated = true;
}
- else
+
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
+ var devices = UnityEditorInternal.VR.VREditor.GetVREnabledDevices(BuildTargetGroup.Standalone);
+#else
+ var devices = UnityEditorInternal.VR.VREditor.GetVREnabledDevicesOnTargetGroup(BuildTargetGroup.Standalone);
+#endif
+ var hasOpenVR = false;
+ foreach (var device in devices)
+ if (device.ToLower() == "openvr")
+ hasOpenVR = true;
+
+
+ if (!hasOpenVR)
{
- newDevices = new string[devices.Length + 1];
- for (int i = 0; i < devices.Length; i++)
- newDevices[i] = devices[i];
- newDevices[devices.Length] = "OpenVR";
- updated = true;
+ string[] newDevices;
+ if (updated)
+ {
+ newDevices = new string[] { "OpenVR" };
+ }
+ else
+ {
+ newDevices = new string[devices.Length + 1];
+ for (int i = 0; i < devices.Length; i++)
+ newDevices[i] = devices[i];
+ newDevices[devices.Length] = "OpenVR";
+ updated = true;
+ }
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
+ UnityEditorInternal.VR.VREditor.SetVREnabledDevices(BuildTargetGroup.Standalone, newDevices);
+#else
+ UnityEditorInternal.VR.VREditor.SetVREnabledDevicesOnTargetGroup(BuildTargetGroup.Standalone, newDevices);
+#endif
}
- UnityEditorInternal.VR.VREditor.SetVREnabledDevices(BuildTargetGroup.Standalone, newDevices);
- }
- if (updated)
- Debug.Log("Switching to native OpenVR support.");
+ if (updated)
+ Debug.Log("Switching to native OpenVR support.");
+ }
var dlls = new string[]
{
@@ -177,13 +174,12 @@ static void Update()
Debug.Log(path + " in use; cannot delete. Please restart Unity to complete upgrade.");
}
}
-#endif
+
EditorApplication.update -= Update;
}
Vector2 scrollPosition;
- bool toggleState;
-
+
string GetResourcePath()
{
var ms = MonoScript.FromScriptableObject(this);
@@ -195,11 +191,7 @@ string GetResourcePath()
public void OnGUI()
{
var resourcePath = GetResourcePath();
-#if !(UNITY_5_0)
var logo = AssetDatabase.LoadAssetAtPath(resourcePath + "logo.png");
-#else
- var logo = Resources.LoadAssetAtPath(resourcePath + "logo.png");
-#endif
var rect = GUILayoutUtility.GetRect(position.width, 150, GUI.skin.box);
if (logo)
GUI.DrawTexture(rect, logo, ScaleMode.ScaleToFit);
@@ -221,7 +213,11 @@ public void OnGUI()
if (GUILayout.Button(string.Format(useRecommended, recommended_BuildTarget)))
{
+#if (UNITY_5_5 || UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
EditorUserBuildSettings.SwitchActiveBuildTarget(recommended_BuildTarget);
+#else
+ EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.Standalone, recommended_BuildTarget);
+#endif
}
GUILayout.FlexibleSpace();
@@ -234,6 +230,7 @@ public void OnGUI()
GUILayout.EndHorizontal();
}
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
if (!EditorPrefs.HasKey(ignore + showUnitySplashScreen) &&
PlayerSettings.showUnitySplashScreen != recommended_ShowUnitySplashScreen)
{
@@ -257,7 +254,31 @@ public void OnGUI()
GUILayout.EndHorizontal();
}
+#else
+ if (!EditorPrefs.HasKey(ignore + showUnitySplashScreen) &&
+ PlayerSettings.SplashScreen.show != recommended_ShowUnitySplashScreen)
+ {
+ ++numItems;
+
+ GUILayout.Label(showUnitySplashScreen + string.Format(currentValue, PlayerSettings.SplashScreen.show));
+
+ GUILayout.BeginHorizontal();
+
+ if (GUILayout.Button(string.Format(useRecommended, recommended_ShowUnitySplashScreen)))
+ {
+ PlayerSettings.SplashScreen.show = recommended_ShowUnitySplashScreen;
+ }
+ GUILayout.FlexibleSpace();
+
+ if (GUILayout.Button("Ignore"))
+ {
+ EditorPrefs.SetBool(ignore + showUnitySplashScreen, true);
+ }
+
+ GUILayout.EndHorizontal();
+ }
+#endif
if (!EditorPrefs.HasKey(ignore + defaultIsFullScreen) &&
PlayerSettings.defaultIsFullScreen != recommended_DefaultIsFullScreen)
{
@@ -427,7 +448,7 @@ public void OnGUI()
GUILayout.EndHorizontal();
}
-
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
if (!EditorPrefs.HasKey(ignore + renderingPath) &&
PlayerSettings.renderingPath != recommended_RenderPath)
{
@@ -451,7 +472,7 @@ public void OnGUI()
GUILayout.EndHorizontal();
}
-
+#endif
if (!EditorPrefs.HasKey(ignore + colorSpace) &&
PlayerSettings.colorSpace != recommended_ColorSpace)
{
@@ -475,7 +496,7 @@ public void OnGUI()
GUILayout.EndHorizontal();
}
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
+
if (!EditorPrefs.HasKey(ignore + gpuSkinning) &&
PlayerSettings.gpuSkinning != recommended_GpuSkinning)
{
@@ -499,8 +520,8 @@ public void OnGUI()
GUILayout.EndHorizontal();
}
-#endif
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0) && false
+
+#if false
if (!EditorPrefs.HasKey(ignore + singlePassStereoRendering) &&
PlayerSettings.singlePassStereoRendering != recommended_SinglePassStereoRendering)
{
@@ -525,56 +546,7 @@ public void OnGUI()
GUILayout.EndHorizontal();
}
#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- if (!EditorPrefs.HasKey(ignore + stereoscopicRendering) &&
- PlayerSettings.stereoscopic3D != recommended_StereoscopicRendering)
- {
- ++numItems;
-
- GUILayout.Label(stereoscopicRendering + string.Format(currentValue, PlayerSettings.stereoscopic3D));
-
- GUILayout.BeginHorizontal();
-
- if (GUILayout.Button(string.Format(useRecommended, recommended_StereoscopicRendering)))
- {
- PlayerSettings.stereoscopic3D = recommended_StereoscopicRendering;
- }
-
- GUILayout.FlexibleSpace();
-
- if (GUILayout.Button("Ignore"))
- {
- EditorPrefs.SetBool(ignore + stereoscopicRendering, true);
- }
-
- GUILayout.EndHorizontal();
- }
-#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1)
- if (!EditorPrefs.HasKey(ignore + virtualRealitySupported) &&
- PlayerSettings.virtualRealitySupported != recommended_VirtualRealitySupported)
- {
- ++numItems;
- GUILayout.Label(virtualRealitySupported + string.Format(currentValue, PlayerSettings.virtualRealitySupported));
-
- GUILayout.BeginHorizontal();
-
- if (GUILayout.Button(string.Format(useRecommended, recommended_VirtualRealitySupported)))
- {
- PlayerSettings.virtualRealitySupported = recommended_VirtualRealitySupported;
- }
-
- GUILayout.FlexibleSpace();
-
- if (GUILayout.Button("Ignore"))
- {
- EditorPrefs.SetBool(ignore + virtualRealitySupported, true);
- }
-
- GUILayout.EndHorizontal();
- }
-#endif
GUILayout.BeginHorizontal();
GUILayout.FlexibleSpace();
@@ -590,19 +562,13 @@ public void OnGUI()
EditorPrefs.DeleteKey(ignore + resizableWindow);
EditorPrefs.DeleteKey(ignore + fullscreenMode);
EditorPrefs.DeleteKey(ignore + visibleInBackground);
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
EditorPrefs.DeleteKey(ignore + renderingPath);
+#endif
EditorPrefs.DeleteKey(ignore + colorSpace);
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
EditorPrefs.DeleteKey(ignore + gpuSkinning);
-#endif
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0) && false
+#if false
EditorPrefs.DeleteKey(ignore + singlePassStereoRendering);
-#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- EditorPrefs.DeleteKey(ignore + stereoscopicRendering);
-#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1)
- EditorPrefs.DeleteKey(ignore + virtualRealitySupported);
#endif
}
@@ -620,9 +586,17 @@ public void OnGUI()
{
// Only set those that have not been explicitly ignored.
if (!EditorPrefs.HasKey(ignore + buildTarget))
+#if (UNITY_5_5 || UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
EditorUserBuildSettings.SwitchActiveBuildTarget(recommended_BuildTarget);
+#else
+ EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTargetGroup.Standalone, recommended_BuildTarget);
+#endif
if (!EditorPrefs.HasKey(ignore + showUnitySplashScreen))
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
PlayerSettings.showUnitySplashScreen = recommended_ShowUnitySplashScreen;
+#else
+ PlayerSettings.SplashScreen.show = recommended_ShowUnitySplashScreen;
+#endif
if (!EditorPrefs.HasKey(ignore + defaultIsFullScreen))
PlayerSettings.defaultIsFullScreen = recommended_DefaultIsFullScreen;
if (!EditorPrefs.HasKey(ignore + defaultScreenSize))
@@ -640,26 +614,19 @@ public void OnGUI()
PlayerSettings.d3d11FullscreenMode = recommended_FullscreenMode;
if (!EditorPrefs.HasKey(ignore + visibleInBackground))
PlayerSettings.visibleInBackground = recommended_VisibleInBackground;
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
if (!EditorPrefs.HasKey(ignore + renderingPath))
PlayerSettings.renderingPath = recommended_RenderPath;
+#endif
if (!EditorPrefs.HasKey(ignore + colorSpace))
PlayerSettings.colorSpace = recommended_ColorSpace;
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
if (!EditorPrefs.HasKey(ignore + gpuSkinning))
PlayerSettings.gpuSkinning = recommended_GpuSkinning;
-#endif
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0) && false
+#if false
if (!EditorPrefs.HasKey(ignore + singlePassStereoRendering))
PlayerSettings.singlePassStereoRendering = recommended_SinglePassStereoRendering;
#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- if (!EditorPrefs.HasKey(ignore + stereoscopicRendering))
- PlayerSettings.stereoscopic3D = recommended_StereoscopicRendering;
-#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1)
- if (!EditorPrefs.HasKey(ignore + virtualRealitySupported))
- PlayerSettings.virtualRealitySupported = recommended_VirtualRealitySupported;
-#endif
+
EditorUtility.DisplayDialog("Accept All", "You made the right choice!", "Ok");
Close();
@@ -672,7 +639,11 @@ public void OnGUI()
// Only ignore those that do not currently match our recommended settings.
if (EditorUserBuildSettings.activeBuildTarget != recommended_BuildTarget)
EditorPrefs.SetBool(ignore + buildTarget, true);
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
if (PlayerSettings.showUnitySplashScreen != recommended_ShowUnitySplashScreen)
+#else
+ if (PlayerSettings.SplashScreen.show != recommended_ShowUnitySplashScreen)
+#endif
EditorPrefs.SetBool(ignore + showUnitySplashScreen, true);
if (PlayerSettings.defaultIsFullScreen != recommended_DefaultIsFullScreen)
EditorPrefs.SetBool(ignore + defaultIsFullScreen, true);
@@ -689,26 +660,19 @@ public void OnGUI()
EditorPrefs.SetBool(ignore + fullscreenMode, true);
if (PlayerSettings.visibleInBackground != recommended_VisibleInBackground)
EditorPrefs.SetBool(ignore + visibleInBackground, true);
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
if (PlayerSettings.renderingPath != recommended_RenderPath)
EditorPrefs.SetBool(ignore + renderingPath, true);
+#endif
if (PlayerSettings.colorSpace != recommended_ColorSpace)
EditorPrefs.SetBool(ignore + colorSpace, true);
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
if (PlayerSettings.gpuSkinning != recommended_GpuSkinning)
EditorPrefs.SetBool(ignore + gpuSkinning, true);
-#endif
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0) && false
+#if false
if (PlayerSettings.singlePassStereoRendering != recommended_SinglePassStereoRendering)
EditorPrefs.SetBool(ignore + singlePassStereoRendering, true);
#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- if (PlayerSettings.stereoscopic3D != recommended_StereoscopicRendering)
- EditorPrefs.SetBool(ignore + stereoscopicRendering, true);
-#endif
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1)
- if (PlayerSettings.virtualRealitySupported != recommended_VirtualRealitySupported)
- EditorPrefs.SetBool(ignore + virtualRealitySupported, true);
-#endif
+
Close();
}
}
diff --git a/Assets/SteamVR/Editor/SteamVR_Update.cs b/Assets/SteamVR/Editor/SteamVR_Update.cs
index b41762a..792b1c9 100644
--- a/Assets/SteamVR/Editor/SteamVR_Update.cs
+++ b/Assets/SteamVR/Editor/SteamVR_Update.cs
@@ -1,4 +1,4 @@
-//========= Copyright 2015, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Notify developers when a new version of the plugin is available.
//
@@ -12,26 +12,29 @@
[InitializeOnLoad]
public class SteamVR_Update : EditorWindow
{
- const string currentVersion = "1.1.0";
+ const string currentVersion = "1.2.1";
const string versionUrl = "http://media.steampowered.com/apps/steamvr/unitypluginversion.txt";
const string notesUrl = "http://media.steampowered.com/apps/steamvr/unityplugin-v{0}.txt";
const string pluginUrl = "http://u3d.as/content/valve-corporation/steam-vr-plugin";
const string doNotShowKey = "SteamVR.DoNotShow.v{0}";
+ static bool gotVersion = false;
static WWW wwwVersion, wwwNotes;
static string version, notes;
static SteamVR_Update window;
static SteamVR_Update()
{
- wwwVersion = new WWW(versionUrl);
EditorApplication.update += Update;
}
static void Update()
{
- if (wwwVersion != null)
+ if (!gotVersion)
{
+ if (wwwVersion == null)
+ wwwVersion = new WWW(versionUrl);
+
if (!wwwVersion.isDone)
return;
@@ -39,6 +42,7 @@ static void Update()
version = wwwVersion.text;
wwwVersion = null;
+ gotVersion = true;
if (ShouldDisplay())
{
@@ -125,11 +129,7 @@ public void OnGUI()
EditorGUILayout.HelpBox("A new version of the SteamVR plugin is available!", MessageType.Warning);
var resourcePath = GetResourcePath();
-#if UNITY_5_0
- var logo = Resources.LoadAssetAtPath(resourcePath + "logo.png");
-#else
var logo = AssetDatabase.LoadAssetAtPath(resourcePath + "logo.png");
-#endif
var rect = GUILayoutUtility.GetRect(position.width, 150, GUI.skin.box);
if (logo)
GUI.DrawTexture(rect, logo, ScaleMode.ScaleToFit);
diff --git a/Assets/SteamVR/Prefabs.meta b/Assets/SteamVR/Prefabs.meta
index b857624..3cc8acb 100644
--- a/Assets/SteamVR/Prefabs.meta
+++ b/Assets/SteamVR/Prefabs.meta
@@ -1,9 +1,6 @@
fileFormatVersion: 2
-guid: f4d909dcb749c45459770e058a2efac3
+guid: 3e2543c4beea3eb4e9ea1e02a4bc2df2
folderAsset: yes
-timeCreated: 1465633285
-licenseType: Free
DefaultImporter:
userData:
assetBundleName:
- assetBundleVariant:
diff --git a/Assets/SteamVR/Resources.meta b/Assets/SteamVR/Resources.meta
index de3d65c..32789b2 100644
--- a/Assets/SteamVR/Resources.meta
+++ b/Assets/SteamVR/Resources.meta
@@ -1,9 +1,6 @@
fileFormatVersion: 2
-guid: 128449277d8f96b46a3816056eee4067
+guid: 40af2f692be87864ba388a27fcac9ed8
folderAsset: yes
-timeCreated: 1465633285
-licenseType: Free
DefaultImporter:
userData:
assetBundleName:
- assetBundleVariant:
diff --git a/Assets/SteamVR/Resources/SteamVR_Blit.shader b/Assets/SteamVR/Resources/SteamVR_Blit.shader
deleted file mode 100644
index 6086abb..0000000
--- a/Assets/SteamVR/Resources/SteamVR_Blit.shader
+++ /dev/null
@@ -1,52 +0,0 @@
-Shader "Custom/SteamVR_Blit" {
- Properties { _MainTex ("Base (RGB)", 2D) = "white" {} }
-
- CGINCLUDE
-
- #include "UnityCG.cginc"
-
- sampler2D _MainTex;
-
- struct v2f {
- float4 pos : SV_POSITION;
- float2 tex : TEXCOORD0;
- };
-
- v2f vert(appdata_base v) {
- v2f o;
- o.pos = v.vertex;
- o.tex = v.texcoord;
- return o;
- }
-
- float4 frag(v2f i) : COLOR {
- return tex2D(_MainTex, i.tex);
- }
-
- float4 frag_linear(v2f i) : COLOR {
- return pow(tex2D(_MainTex, i.tex), 1.0 / 2.2);
- }
-
- ENDCG
-
- SubShader {
- Pass {
- ZTest Always Cull Off ZWrite Off
- Fog { Mode Off }
-
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- ENDCG
- }
- Pass {
- ZTest Always Cull Off ZWrite Off
- Fog { Mode Off }
-
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag_linear
- ENDCG
- }
- }
-}
diff --git a/Assets/SteamVR/Resources/SteamVR_Blit.shader.meta b/Assets/SteamVR/Resources/SteamVR_Blit.shader.meta
deleted file mode 100644
index 98528ca..0000000
--- a/Assets/SteamVR/Resources/SteamVR_Blit.shader.meta
+++ /dev/null
@@ -1,9 +0,0 @@
-fileFormatVersion: 2
-guid: 021228b76f139394fae4afb56cd6bf29
-timeCreated: 1465931332
-licenseType: Free
-ShaderImporter:
- defaultTextures: []
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/SteamVR/Resources/SteamVR_BlitFlip.shader b/Assets/SteamVR/Resources/SteamVR_BlitFlip.shader
deleted file mode 100644
index 00d9343..0000000
--- a/Assets/SteamVR/Resources/SteamVR_BlitFlip.shader
+++ /dev/null
@@ -1,40 +0,0 @@
-Shader "Custom/SteamVR_BlitFlip" {
- Properties { _MainTex ("Base (RGB)", 2D) = "white" {} }
-
- CGINCLUDE
-
- #include "UnityCG.cginc"
-
- sampler2D _MainTex;
-
- struct v2f {
- float4 pos : SV_POSITION;
- float2 tex : TEXCOORD0;
- };
-
- v2f vert(appdata_base v) {
- v2f o;
- o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
- o.tex.x = v.texcoord.x;
- o.tex.y = 1 - v.texcoord.y;
- return o;
- }
-
- float4 frag(v2f i) : COLOR {
- return tex2D(_MainTex, i.tex);
- }
-
- ENDCG
-
- SubShader {
- Pass {
- ZTest Always Cull Off ZWrite Off
- Fog { Mode Off }
-
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- ENDCG
- }
- }
-}
diff --git a/Assets/SteamVR/Resources/SteamVR_BlitFlip.shader.meta b/Assets/SteamVR/Resources/SteamVR_BlitFlip.shader.meta
deleted file mode 100644
index 1b6b751..0000000
--- a/Assets/SteamVR/Resources/SteamVR_BlitFlip.shader.meta
+++ /dev/null
@@ -1,9 +0,0 @@
-fileFormatVersion: 2
-guid: 7f38d614fcfa3b541bde2acda92af7ca
-timeCreated: 1465931347
-licenseType: Free
-ShaderImporter:
- defaultTextures: []
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/SteamVR/Resources/SteamVR_HiddenArea.shader b/Assets/SteamVR/Resources/SteamVR_HiddenArea.shader
deleted file mode 100644
index 31e62fb..0000000
--- a/Assets/SteamVR/Resources/SteamVR_HiddenArea.shader
+++ /dev/null
@@ -1,24 +0,0 @@
-Shader "Custom/SteamVR_HiddenArea" {
-
- CGINCLUDE
-
- #include "UnityCG.cginc"
-
- float4 vert(appdata_base v) : SV_POSITION { return v.vertex; }
- float4 frag(float4 v : SV_POSITION) : COLOR { return float4(0,0,0,0); }
-
- ENDCG
-
- SubShader {
- Tags { "Queue" = "Background" }
- Pass {
- ZTest Always Cull Off ZWrite On
- Fog { Mode Off }
-
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- ENDCG
- }
- }
-}
diff --git a/Assets/SteamVR/Resources/SteamVR_HiddenArea.shader.meta b/Assets/SteamVR/Resources/SteamVR_HiddenArea.shader.meta
deleted file mode 100644
index 0715bf0..0000000
--- a/Assets/SteamVR/Resources/SteamVR_HiddenArea.shader.meta
+++ /dev/null
@@ -1,9 +0,0 @@
-fileFormatVersion: 2
-guid: 7687f525efe9f4b449dfe5a7fe0b7c8e
-timeCreated: 1428972938
-licenseType: Store
-ShaderImporter:
- defaultTextures: []
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/SteamVR/Scripts.meta b/Assets/SteamVR/Scripts.meta
index 3e07a77..1dd1d81 100644
--- a/Assets/SteamVR/Scripts.meta
+++ b/Assets/SteamVR/Scripts.meta
@@ -1,9 +1,6 @@
fileFormatVersion: 2
-guid: 95553d89c282bf141b499a612fd87915
+guid: d88af1b1098a33a42bc43c910c864102
folderAsset: yes
-timeCreated: 1465633285
-licenseType: Free
DefaultImporter:
userData:
assetBundleName:
- assetBundleVariant:
diff --git a/Assets/SteamVR/Scripts/SteamVR.cs b/Assets/SteamVR/Scripts/SteamVR.cs
index c246a8c..06a7aea 100644
--- a/Assets/SteamVR/Scripts/SteamVR.cs
+++ b/Assets/SteamVR/Scripts/SteamVR.cs
@@ -1,11 +1,10 @@
-//========= Copyright 2014, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Access to SteamVR system (hmd) and compositor (distort) interfaces.
//
//=============================================================================
using UnityEngine;
-using System.Runtime.InteropServices;
using Valve.VR;
public class SteamVR : System.IDisposable
@@ -18,7 +17,12 @@ public class SteamVR : System.IDisposable
private static bool _enabled = true;
public static bool enabled
{
- get { return _enabled; }
+ get
+ {
+ if (!UnityEngine.VR.VRSettings.enabled)
+ enabled = false;
+ return _enabled;
+ }
set
{
_enabled = value;
@@ -54,14 +58,7 @@ public static SteamVR instance
public static bool usingNativeSupport
{
- get
- {
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- return UnityEngine.VR.VRDevice.GetNativePtr() != System.IntPtr.Zero;
-#else
- return false;
-#endif
- }
+ get { return UnityEngine.VR.VRDevice.GetNativePtr() != System.IntPtr.Zero; }
}
static SteamVR CreateInstance()
@@ -71,18 +68,8 @@ static SteamVR CreateInstance()
var error = EVRInitError.None;
if (!SteamVR.usingNativeSupport)
{
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
Debug.Log("OpenVR initialization failed. Ensure 'Virtual Reality Supported' is checked in Player Settings, and OpenVR is added to the list of Virtual Reality SDKs.");
return null;
-#else
- OpenVR.Init(ref error, EVRApplicationType.VRApplication_Overlay);
- if (error != EVRInitError.None)
- {
- ReportError(error);
- ShutdownSystems();
- return null;
- }
-#endif
}
// Verify common interfaces are valid.
@@ -91,7 +78,6 @@ static SteamVR CreateInstance()
if (error != EVRInitError.None)
{
ReportError(error);
- ShutdownSystems();
return null;
}
@@ -99,7 +85,6 @@ static SteamVR CreateInstance()
if (error != EVRInitError.None)
{
ReportError(error);
- ShutdownSystems();
return null;
}
}
@@ -153,7 +138,7 @@ static void ReportError(EVRInitError error)
public Vector2 tanHalfFov { get; private set; }
public VRTextureBounds_t[] textureBounds { get; private set; }
public SteamVR_Utils.RigidTransform[] eyes { get; private set; }
- public EGraphicsAPIConvention graphicsAPI;
+ public ETextureType textureType;
// hmd properties
public string hmd_TrackingSystemName { get { return GetStringProperty(ETrackedDeviceProperty.Prop_TrackingSystemName_String); } }
@@ -197,31 +182,28 @@ float GetFloatProperty(ETrackedDeviceProperty prop)
#region Event callbacks
- private void OnInitializing(params object[] args)
+ private void OnInitializing(bool initializing)
{
- initializing = (bool)args[0];
+ SteamVR.initializing = initializing;
}
- private void OnCalibrating(params object[] args)
+ private void OnCalibrating(bool calibrating)
{
- calibrating = (bool)args[0];
+ SteamVR.calibrating = calibrating;
}
- private void OnOutOfRange(params object[] args)
+ private void OnOutOfRange(bool outOfRange)
{
- outOfRange = (bool)args[0];
+ SteamVR.outOfRange = outOfRange;
}
- private void OnDeviceConnected(params object[] args)
+ private void OnDeviceConnected(int i, bool connected)
{
- var i = (int)args[0];
- connected[i] = (bool)args[1];
+ SteamVR.connected[i] = connected;
}
- private void OnNewPoses(params object[] args)
+ private void OnNewPoses(TrackedDevicePose_t[] poses)
{
- var poses = (TrackedDevicePose_t[])args[0];
-
// Update eye offsets to account for IPD changes.
eyes[0] = new SteamVR_Utils.RigidTransform(hmd.GetEyeToHeadTransform(EVREye.Eye_Left));
eyes[1] = new SteamVR_Utils.RigidTransform(hmd.GetEyeToHeadTransform(EVREye.Eye_Right));
@@ -231,7 +213,7 @@ private void OnNewPoses(params object[] args)
var connected = poses[i].bDeviceIsConnected;
if (connected != SteamVR.connected[i])
{
- SteamVR_Utils.Event.Send("device_connected", i, connected);
+ SteamVR_Events.DeviceConnected.Send(i, connected);
}
}
@@ -242,7 +224,7 @@ private void OnNewPoses(params object[] args)
var initializing = result == ETrackingResult.Uninitialized;
if (initializing != SteamVR.initializing)
{
- SteamVR_Utils.Event.Send("initializing", initializing);
+ SteamVR_Events.Initializing.Send(initializing);
}
var calibrating =
@@ -250,7 +232,7 @@ private void OnNewPoses(params object[] args)
result == ETrackingResult.Calibrating_OutOfRange;
if (calibrating != SteamVR.calibrating)
{
- SteamVR_Utils.Event.Send("calibrating", calibrating);
+ SteamVR_Events.Calibrating.Send(calibrating);
}
var outOfRange =
@@ -258,7 +240,7 @@ private void OnNewPoses(params object[] args)
result == ETrackingResult.Calibrating_OutOfRange;
if (outOfRange != SteamVR.outOfRange)
{
- SteamVR_Utils.Event.Send("out_of_range", outOfRange);
+ SteamVR_Events.OutOfRange.Send(outOfRange);
}
}
}
@@ -301,9 +283,6 @@ private SteamVR()
textureBounds[1].vMin = 0.5f - 0.5f * r_bottom / tanHalfFov.y;
textureBounds[1].vMax = 0.5f - 0.5f * r_top / tanHalfFov.y;
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- SteamVR.Unity.SetSubmitParams(textureBounds[0], textureBounds[1], EVRSubmitFlags.Submit_Default);
-#endif
// Grow the recommended size to account for the overlapping fov
sceneWidth = sceneWidth / Mathf.Max(textureBounds[0].uMax - textureBounds[0].uMin, textureBounds[1].uMax - textureBounds[1].uMin);
sceneHeight = sceneHeight / Mathf.Max(textureBounds[0].vMax - textureBounds[0].vMin, textureBounds[1].vMax - textureBounds[1].vMin);
@@ -315,16 +294,31 @@ private SteamVR()
new SteamVR_Utils.RigidTransform(hmd.GetEyeToHeadTransform(EVREye.Eye_Left)),
new SteamVR_Utils.RigidTransform(hmd.GetEyeToHeadTransform(EVREye.Eye_Right)) };
- if (SystemInfo.graphicsDeviceVersion.StartsWith("OpenGL"))
- graphicsAPI = EGraphicsAPIConvention.API_OpenGL;
- else
- graphicsAPI = EGraphicsAPIConvention.API_DirectX;
+ switch (SystemInfo.graphicsDeviceType)
+ {
+#if (UNITY_5_4)
+ case UnityEngine.Rendering.GraphicsDeviceType.OpenGL2:
+#endif
+ case UnityEngine.Rendering.GraphicsDeviceType.OpenGLCore:
+ case UnityEngine.Rendering.GraphicsDeviceType.OpenGLES2:
+ case UnityEngine.Rendering.GraphicsDeviceType.OpenGLES3:
+ textureType = ETextureType.OpenGL;
+ break;
+#if !(UNITY_5_4)
+ case UnityEngine.Rendering.GraphicsDeviceType.Vulkan:
+ textureType = ETextureType.Vulkan;
+ break;
+#endif
+ default:
+ textureType = ETextureType.DirectX;
+ break;
+ }
- SteamVR_Utils.Event.Listen("initializing", OnInitializing);
- SteamVR_Utils.Event.Listen("calibrating", OnCalibrating);
- SteamVR_Utils.Event.Listen("out_of_range", OnOutOfRange);
- SteamVR_Utils.Event.Listen("device_connected", OnDeviceConnected);
- SteamVR_Utils.Event.Listen("new_poses", OnNewPoses);
+ SteamVR_Events.Initializing.Listen(OnInitializing);
+ SteamVR_Events.Calibrating.Listen(OnCalibrating);
+ SteamVR_Events.OutOfRange.Listen(OnOutOfRange);
+ SteamVR_Events.DeviceConnected.Listen(OnDeviceConnected);
+ SteamVR_Events.NewPoses.Listen(OnNewPoses);
}
~SteamVR()
@@ -340,52 +334,20 @@ public void Dispose()
private void Dispose(bool disposing)
{
- SteamVR_Utils.Event.Remove("initializing", OnInitializing);
- SteamVR_Utils.Event.Remove("calibrating", OnCalibrating);
- SteamVR_Utils.Event.Remove("out_of_range", OnOutOfRange);
- SteamVR_Utils.Event.Remove("device_connected", OnDeviceConnected);
- SteamVR_Utils.Event.Remove("new_poses", OnNewPoses);
+ SteamVR_Events.Initializing.Remove(OnInitializing);
+ SteamVR_Events.Calibrating.Remove(OnCalibrating);
+ SteamVR_Events.OutOfRange.Remove(OnOutOfRange);
+ SteamVR_Events.DeviceConnected.Remove(OnDeviceConnected);
+ SteamVR_Events.NewPoses.Remove(OnNewPoses);
- ShutdownSystems();
_instance = null;
}
- private static void ShutdownSystems()
- {
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- OpenVR.Shutdown();
-#endif
- }
-
// Use this interface to avoid accidentally creating the instance in the process of attempting to dispose of it.
public static void SafeDispose()
{
if (_instance != null)
_instance.Dispose();
}
-
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- // Unityhooks in openvr_api.
- public class Unity
- {
- public const int k_nRenderEventID_WaitGetPoses = 201510020;
- public const int k_nRenderEventID_SubmitL = 201510021;
- public const int k_nRenderEventID_SubmitR = 201510022;
- public const int k_nRenderEventID_Flush = 201510023;
- public const int k_nRenderEventID_PostPresentHandoff = 201510024;
-
- [DllImport("openvr_api", EntryPoint = "UnityHooks_GetRenderEventFunc")]
- public static extern System.IntPtr GetRenderEventFunc();
-
- [DllImport("openvr_api", EntryPoint = "UnityHooks_SetSubmitParams")]
- public static extern void SetSubmitParams(VRTextureBounds_t boundsL, VRTextureBounds_t boundsR, EVRSubmitFlags nSubmitFlags);
-
- [DllImport("openvr_api", EntryPoint = "UnityHooks_SetColorSpace")]
- public static extern void SetColorSpace(EColorSpace eColorSpace);
-
- [DllImport("openvr_api", EntryPoint = "UnityHooks_EventWriteString")]
- public static extern void EventWriteString([In, MarshalAs(UnmanagedType.LPWStr)] string sEvent);
- }
-#endif
}
diff --git a/Assets/SteamVR/Scripts/SteamVR_Camera.cs b/Assets/SteamVR/Scripts/SteamVR_Camera.cs
index d041257..f70058c 100644
--- a/Assets/SteamVR/Scripts/SteamVR_Camera.cs
+++ b/Assets/SteamVR/Scripts/SteamVR_Camera.cs
@@ -1,4 +1,4 @@
-//========= Copyright 2014, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Adds SteamVR render support to existing camera objects
//
@@ -18,6 +18,8 @@ public class SteamVR_Camera : MonoBehaviour
public Transform offset { get { return _head; } } // legacy
public Transform origin { get { return _head.parent; } }
+ public new Camera camera { get; private set; }
+
[SerializeField]
private Transform _ears;
public Transform ears { get { return _ears; } }
@@ -29,63 +31,11 @@ public Ray GetRay()
public bool wireframe = false;
- [SerializeField]
- private SteamVR_CameraFlip flip;
-
- #region Materials
-
- static public Material blitMaterial;
-
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- // Using a single shared offscreen buffer to render the scene. This needs to be larger
- // than the backbuffer to account for distortion correction. The default resolution
- // gives us 1:1 sized pixels in the center of view, but quality can be adjusted up or
- // down using the following scale value to balance performance.
- static public float sceneResolutionScale = 1.0f;
- static private RenderTexture _sceneTexture;
- static public RenderTexture GetSceneTexture(bool hdr)
- {
- var vr = SteamVR.instance;
- if (vr == null)
- return null;
-
- int w = (int)(vr.sceneWidth * sceneResolutionScale);
- int h = (int)(vr.sceneHeight * sceneResolutionScale);
- int aa = QualitySettings.antiAliasing == 0 ? 1 : QualitySettings.antiAliasing;
- var format = hdr ? RenderTextureFormat.ARGBHalf : RenderTextureFormat.ARGB32;
-
- if (_sceneTexture != null)
- {
- if (_sceneTexture.width != w || _sceneTexture.height != h || _sceneTexture.antiAliasing != aa || _sceneTexture.format != format)
- {
- Debug.Log(string.Format("Recreating scene texture.. Old: {0}x{1} MSAA={2} [{3}] New: {4}x{5} MSAA={6} [{7}]",
- _sceneTexture.width, _sceneTexture.height, _sceneTexture.antiAliasing, _sceneTexture.format, w, h, aa, format));
- Object.Destroy(_sceneTexture);
- _sceneTexture = null;
- }
- }
-
- if (_sceneTexture == null)
- {
- _sceneTexture = new RenderTexture(w, h, 0, format);
- _sceneTexture.antiAliasing = aa;
-
- // OpenVR assumes floating point render targets are linear unless otherwise specified.
- var colorSpace = (hdr && QualitySettings.activeColorSpace == ColorSpace.Gamma) ? EColorSpace.Gamma : EColorSpace.Auto;
- SteamVR.Unity.SetColorSpace(colorSpace);
- }
-
- return _sceneTexture;
- }
-#else
static public float sceneResolutionScale
{
get { return UnityEngine.VR.VRSettings.renderScale; }
set { UnityEngine.VR.VRSettings.renderScale = value; }
}
-#endif
-
- #endregion
#region Enable / Disable
@@ -102,17 +52,13 @@ void OnEnable()
{
if (head != null)
{
- head.GetComponent().enabled = false;
head.GetComponent().enabled = false;
}
- if (flip != null)
- flip.enabled = false;
-
enabled = false;
return;
}
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
+
// Convert camera rig for native OpenVR integration.
var t = transform;
if (head != t)
@@ -135,42 +81,6 @@ void OnEnable()
_head = t;
}
- if (flip != null)
- {
- DestroyImmediate(flip);
- flip = null;
- }
-#else
- // Ensure rig is properly set up
- Expand();
-
- if (blitMaterial == null)
- {
- blitMaterial = new Material(Shader.Find("Custom/SteamVR_Blit"));
- }
-
- // Set remaining hmd specific settings
- var camera = GetComponent();
- camera.fieldOfView = vr.fieldOfView;
- camera.aspect = vr.aspect;
- camera.eventMask = 0; // disable mouse events
- camera.orthographic = false; // force perspective
- camera.enabled = false; // manually rendered by SteamVR_Render
-
- if (camera.actualRenderingPath != RenderingPath.Forward && QualitySettings.antiAliasing > 1)
- {
- Debug.LogWarning("MSAA only supported in Forward rendering path. (disabling MSAA)");
- QualitySettings.antiAliasing = 0;
- }
-
- // Ensure game view camera hdr setting matches
- var headCam = head.GetComponent();
- if (headCam != null)
- {
- headCam.hdr = camera.hdr;
- headCam.renderingPath = camera.renderingPath;
- }
-#endif
if (ears == null)
{
var e = transform.GetComponentInChildren();
@@ -188,7 +98,11 @@ void OnEnable()
#region Functionality to ensure SteamVR_Camera component is always the last component on an object
- void Awake() { ForceLast(); }
+ void Awake()
+ {
+ camera = GetComponent(); // cached to avoid runtime lookup
+ ForceLast();
+ }
static Hashtable values;
@@ -215,23 +129,14 @@ public void ForceLast()
var c = components[i] as SteamVR_Camera;
if (c != null && c != this)
{
- if (c.flip != null)
- DestroyImmediate(c.flip);
DestroyImmediate(c);
}
}
components = GetComponents();
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
if (this != components[components.Length - 1])
{
-#else
- if (this != components[components.Length - 1] || flip == null)
- {
- if (flip == null)
- flip = gameObject.AddComponent();
-#endif
// Store off values to be restored on new instance
values = new Hashtable();
var fields = GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
@@ -275,22 +180,12 @@ public void Expand()
if (head == null)
{
- _head = new GameObject(name + headSuffix, typeof(SteamVR_GameView), typeof(SteamVR_TrackedObject)).transform;
+ _head = new GameObject(name + headSuffix, typeof(SteamVR_TrackedObject)).transform;
head.parent = _origin;
head.position = transform.position;
head.rotation = transform.rotation;
head.localScale = Vector3.one;
head.tag = tag;
-
- var camera = head.GetComponent();
- camera.clearFlags = CameraClearFlags.Nothing;
- camera.cullingMask = 0;
- camera.eventMask = 0;
- camera.orthographic = true;
- camera.orthographicSize = 1;
- camera.nearClipPlane = 0;
- camera.farClipPlane = 1;
- camera.useOcclusionCulling = false;
}
if (transform.parent != head)
@@ -378,70 +273,5 @@ public void Collapse()
}
#endregion
-
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
-
- #region Render callbacks
-
- void OnPreRender()
- {
- if (flip)
- flip.enabled = (SteamVR_Render.Top() == this && SteamVR.instance.graphicsAPI == EGraphicsAPIConvention.API_DirectX);
-
- var headCam = head.GetComponent();
- if (headCam != null)
- headCam.enabled = (SteamVR_Render.Top() == this);
-
- if (wireframe)
- GL.wireframe = true;
- }
-
- void OnPostRender()
- {
- if (wireframe)
- GL.wireframe = false;
- }
-
- void OnRenderImage(RenderTexture src, RenderTexture dest)
- {
- if (SteamVR_Render.Top() == this)
- {
- int eventID;
- if (SteamVR_Render.eye == EVREye.Eye_Left)
- {
- // Get gpu started on work early to avoid bubbles at the top of the frame.
- SteamVR_Utils.QueueEventOnRenderThread(SteamVR.Unity.k_nRenderEventID_Flush);
-
- eventID = SteamVR.Unity.k_nRenderEventID_SubmitL;
- }
- else
- {
- eventID = SteamVR.Unity.k_nRenderEventID_SubmitR;
- }
-
- // Queue up a call on the render thread to Submit our render target to the compositor.
- SteamVR_Utils.QueueEventOnRenderThread(eventID);
- }
-
- Graphics.SetRenderTarget(dest);
- SteamVR_Camera.blitMaterial.mainTexture = src;
-
- GL.PushMatrix();
- GL.LoadOrtho();
- SteamVR_Camera.blitMaterial.SetPass(0);
- GL.Begin(GL.QUADS);
- GL.TexCoord2(0.0f, 0.0f); GL.Vertex3(-1, 1, 0);
- GL.TexCoord2(1.0f, 0.0f); GL.Vertex3( 1, 1, 0);
- GL.TexCoord2(1.0f, 1.0f); GL.Vertex3( 1, -1, 0);
- GL.TexCoord2(0.0f, 1.0f); GL.Vertex3(-1, -1, 0);
- GL.End();
- GL.PopMatrix();
-
- Graphics.SetRenderTarget(null);
- }
-
- #endregion
-
-#endif
}
diff --git a/Assets/SteamVR/Scripts/SteamVR_CameraFlip.cs b/Assets/SteamVR/Scripts/SteamVR_CameraFlip.cs
index 97e6854..c1b150e 100644
--- a/Assets/SteamVR/Scripts/SteamVR_CameraFlip.cs
+++ b/Assets/SteamVR/Scripts/SteamVR_CameraFlip.cs
@@ -1,25 +1,18 @@
-//========= Copyright 2015, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Flips the camera output back to normal for D3D.
//
//=============================================================================
using UnityEngine;
-using System.Collections;
+[ExecuteInEditMode]
public class SteamVR_CameraFlip : MonoBehaviour
{
- static Material blitMaterial;
-
- void OnEnable()
- {
- if (blitMaterial == null)
- blitMaterial = new Material(Shader.Find("Custom/SteamVR_BlitFlip"));
- }
-
- void OnRenderImage(RenderTexture src, RenderTexture dest)
+ void Awake()
{
- Graphics.Blit(src, dest, blitMaterial);
+ Debug.Log("SteamVR_CameraFlip is deprecated in Unity 5.4 - REMOVING");
+ DestroyImmediate(this);
}
}
diff --git a/Assets/SteamVR/Scripts/SteamVR_CameraMask.cs b/Assets/SteamVR/Scripts/SteamVR_CameraMask.cs
index e16205d..3aefb4e 100644
--- a/Assets/SteamVR/Scripts/SteamVR_CameraMask.cs
+++ b/Assets/SteamVR/Scripts/SteamVR_CameraMask.cs
@@ -1,51 +1,18 @@
-//========= Copyright 2014, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Masks out pixels that cannot be seen through the connected hmd.
//
//=============================================================================
using UnityEngine;
-using System.Collections;
-using UnityEngine.Rendering;
-[RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))]
+[ExecuteInEditMode]
public class SteamVR_CameraMask : MonoBehaviour
{
- static Material material;
- static Mesh[] hiddenAreaMeshes = new Mesh[] { null, null };
-
- MeshFilter meshFilter;
-
void Awake()
{
- meshFilter = GetComponent();
-
- if (material == null)
- material = new Material(Shader.Find("Custom/SteamVR_HiddenArea"));
-
- var mr = GetComponent();
- mr.material = material;
- mr.shadowCastingMode = ShadowCastingMode.Off;
- mr.receiveShadows = false;
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- mr.lightProbeUsage = LightProbeUsage.Off;
-#else
- mr.useLightProbes = false;
-#endif
- mr.reflectionProbeUsage = ReflectionProbeUsage.Off;
- }
-
- public void Set(SteamVR vr, Valve.VR.EVREye eye)
- {
- int i = (int)eye;
- if (hiddenAreaMeshes[i] == null)
- hiddenAreaMeshes[i] = SteamVR_Utils.CreateHiddenAreaMesh(vr.hmd.GetHiddenAreaMesh(eye), vr.textureBounds[i]);
- meshFilter.mesh = hiddenAreaMeshes[i];
- }
-
- public void Clear()
- {
- meshFilter.mesh = null;
+ Debug.Log("SteamVR_CameraMask is deprecated in Unity 5.4 - REMOVING");
+ DestroyImmediate(this);
}
}
diff --git a/Assets/SteamVR/Scripts/SteamVR_Controller.cs b/Assets/SteamVR/Scripts/SteamVR_Controller.cs
index 95c1ac0..bfaef94 100644
--- a/Assets/SteamVR/Scripts/SteamVR_Controller.cs
+++ b/Assets/SteamVR/Scripts/SteamVR_Controller.cs
@@ -1,4 +1,4 @@
-//========= Copyright 2015, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Wrapper for working with SteamVR controller input
//
@@ -65,7 +65,7 @@ public void Update()
var system = OpenVR.System;
if (system != null)
{
- valid = system.GetControllerStateWithPose(SteamVR_Render.instance.trackingSpace, index, ref state, ref pose);
+ valid = system.GetControllerStateWithPose(SteamVR_Render.instance.trackingSpace, index, ref state, (uint)System.Runtime.InteropServices.Marshal.SizeOf(typeof(VRControllerState_t)), ref pose);
UpdateHairTrigger();
}
}
diff --git a/Assets/SteamVR/Scripts/SteamVR_ControllerManager.cs b/Assets/SteamVR/Scripts/SteamVR_ControllerManager.cs
index ad3b116..832fbd8 100644
--- a/Assets/SteamVR/Scripts/SteamVR_ControllerManager.cs
+++ b/Assets/SteamVR/Scripts/SteamVR_ControllerManager.cs
@@ -10,228 +10,248 @@
public class SteamVR_ControllerManager : MonoBehaviour
{
- public GameObject left, right;
- public GameObject[] objects; // populate with objects you want to assign to additional controllers
-
- uint[] indices; // assigned
- bool[] connected = new bool[OpenVR.k_unMaxTrackedDeviceCount]; // controllers only
-
- // cached roles - may or may not be connected
- uint leftIndex = OpenVR.k_unTrackedDeviceIndexInvalid;
- uint rightIndex = OpenVR.k_unTrackedDeviceIndexInvalid;
-
- void Awake()
- {
- // Add left and right entries to the head of the list so we only have to operate on the list itself.
- var additional = (this.objects != null) ? this.objects.Length : 0;
- var objects = new GameObject[2 + additional];
- indices = new uint[2 + additional];
- objects[0] = right;
- indices[0] = OpenVR.k_unTrackedDeviceIndexInvalid;
- objects[1] = left;
- indices[1] = OpenVR.k_unTrackedDeviceIndexInvalid;
- for (int i = 0; i < additional; i++)
- {
- objects[2 + i] = this.objects[i];
- indices[2 + i] = OpenVR.k_unTrackedDeviceIndexInvalid;
- }
- this.objects = objects;
- }
-
- void OnEnable()
- {
- for (int i = 0; i < objects.Length; i++)
- {
- var obj = objects[i];
- if (obj != null)
- obj.SetActive(false);
- }
-
- OnTrackedDeviceRoleChanged();
-
- for (int i = 0; i < SteamVR.connected.Length; i++)
- if (SteamVR.connected[i])
- OnDeviceConnected(i, true);
-
- SteamVR_Utils.Event.Listen("input_focus", OnInputFocus);
- SteamVR_Utils.Event.Listen("device_connected", OnDeviceConnected);
- SteamVR_Utils.Event.Listen("TrackedDeviceRoleChanged", OnTrackedDeviceRoleChanged);
- }
-
- void OnDisable()
- {
- SteamVR_Utils.Event.Remove("input_focus", OnInputFocus);
- SteamVR_Utils.Event.Remove("device_connected", OnDeviceConnected);
- SteamVR_Utils.Event.Remove("TrackedDeviceRoleChanged", OnTrackedDeviceRoleChanged);
- }
-
- static string[] labels = { "left", "right" };
-
- // Hide controllers when the dashboard is up.
- private void OnInputFocus(params object[] args)
- {
- bool hasFocus = (bool)args[0];
- if (hasFocus)
- {
- for (int i = 0; i < objects.Length; i++)
- {
- var obj = objects[i];
- if (obj != null)
- {
- var label = (i < 2) ? labels[i] : (i - 1).ToString();
- ShowObject(obj.transform, "hidden (" + label + ")");
- }
- }
- }
- else
- {
- for (int i = 0; i < objects.Length; i++)
- {
- var obj = objects[i];
- if (obj != null)
- {
- var label = (i < 2) ? labels[i] : (i - 1).ToString();
- HideObject(obj.transform, "hidden (" + label + ")");
- }
- }
- }
- }
-
- // Reparents to a new object and deactivates that object (this allows
- // us to call SetActive in OnDeviceConnected independently.
- private void HideObject(Transform t, string name)
- {
- var hidden = new GameObject(name).transform;
- hidden.parent = t.parent;
- t.parent = hidden;
- hidden.gameObject.SetActive(false);
- }
- private void ShowObject(Transform t, string name)
- {
- var hidden = t.parent;
- if (hidden.gameObject.name != name)
- return;
- t.parent = hidden.parent;
- Destroy(hidden.gameObject);
- }
-
- private void SetTrackedDeviceIndex(int objectIndex, uint trackedDeviceIndex)
- {
- // First make sure no one else is already using this index.
- if (trackedDeviceIndex != OpenVR.k_unTrackedDeviceIndexInvalid)
- {
- for (int i = 0; i < objects.Length; i++)
- {
- if (i != objectIndex && indices[i] == trackedDeviceIndex)
- {
- var obj = objects[i];
- if (obj != null)
- obj.SetActive(false);
-
- indices[i] = OpenVR.k_unTrackedDeviceIndexInvalid;
- }
- }
- }
-
- // Only set when changed.
- if (trackedDeviceIndex != indices[objectIndex])
- {
- indices[objectIndex] = trackedDeviceIndex;
-
- var obj = objects[objectIndex];
- if (obj != null)
- {
- if (trackedDeviceIndex == OpenVR.k_unTrackedDeviceIndexInvalid)
- obj.SetActive(false);
- else
- {
- obj.SetActive(true);
- obj.BroadcastMessage("SetDeviceIndex", (int)trackedDeviceIndex, SendMessageOptions.DontRequireReceiver);
- }
- }
- }
- }
-
- // Keep track of assigned roles.
- private void OnTrackedDeviceRoleChanged(params object[] args)
- {
- Refresh();
- }
-
- // Keep track of connected controller indices.
- private void OnDeviceConnected(params object[] args)
- {
- var index = (uint)(int)args[0];
- bool changed = this.connected[index];
- this.connected[index] = false;
-
- var connected = (bool)args[1];
- if (connected)
- {
- var system = OpenVR.System;
- if (system != null && system.GetTrackedDeviceClass(index) == ETrackedDeviceClass.Controller)
- {
- this.connected[index] = true;
- changed = !changed; // if we clear and set the same index, nothing has changed
- }
- }
-
- if (changed)
- Refresh();
- }
-
- public void Refresh()
- {
- int objectIndex = 0;
-
- var system = OpenVR.System;
- if (system != null)
- {
- leftIndex = system.GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole.LeftHand);
- rightIndex = system.GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole.RightHand);
- }
-
- // If neither role has been assigned yet, try hooking up at least the right controller.
- if (leftIndex == OpenVR.k_unTrackedDeviceIndexInvalid && rightIndex == OpenVR.k_unTrackedDeviceIndexInvalid)
- {
- for (uint deviceIndex = 0; deviceIndex < connected.Length; deviceIndex++)
- {
- if (connected[deviceIndex])
- {
- SetTrackedDeviceIndex(objectIndex++, deviceIndex);
- break;
- }
- }
- }
- else
- {
- SetTrackedDeviceIndex(objectIndex++, (rightIndex < connected.Length && connected[rightIndex]) ? rightIndex : OpenVR.k_unTrackedDeviceIndexInvalid);
- SetTrackedDeviceIndex(objectIndex++, (leftIndex < connected.Length && connected[leftIndex]) ? leftIndex : OpenVR.k_unTrackedDeviceIndexInvalid);
-
- // Assign out any additional controllers only after both left and right have been assigned.
- if (leftIndex != OpenVR.k_unTrackedDeviceIndexInvalid && rightIndex != OpenVR.k_unTrackedDeviceIndexInvalid)
- {
- for (uint deviceIndex = 0; deviceIndex < connected.Length; deviceIndex++)
- {
- if (objectIndex >= objects.Length)
- break;
-
- if (!connected[deviceIndex])
- continue;
-
- if (deviceIndex != leftIndex && deviceIndex != rightIndex)
- {
- SetTrackedDeviceIndex(objectIndex++, deviceIndex);
- }
- }
- }
- }
-
- // Reset the rest.
- while (objectIndex < objects.Length)
- {
- SetTrackedDeviceIndex(objectIndex++, OpenVR.k_unTrackedDeviceIndexInvalid);
- }
- }
+ public GameObject left, right;
+ public GameObject[] objects; // populate with objects you want to assign to additional controllers
+
+ public bool assignAllBeforeIdentified; // set to true if you want objects arbitrarily assigned to controllers before their role (left vs right) is identified
+
+ uint[] indices; // assigned
+ bool[] connected = new bool[OpenVR.k_unMaxTrackedDeviceCount]; // controllers only
+
+ // cached roles - may or may not be connected
+ uint leftIndex = OpenVR.k_unTrackedDeviceIndexInvalid;
+ uint rightIndex = OpenVR.k_unTrackedDeviceIndexInvalid;
+
+ // This needs to be called if you update left, right or objects at runtime (e.g. when dyanmically spawned).
+ public void UpdateTargets()
+ {
+ // Add left and right entries to the head of the list so we only have to operate on the list itself.
+ var additional = (this.objects != null) ? this.objects.Length : 0;
+ var objects = new GameObject[2 + additional];
+ indices = new uint[2 + additional];
+ objects[0] = right;
+ indices[0] = OpenVR.k_unTrackedDeviceIndexInvalid;
+ objects[1] = left;
+ indices[1] = OpenVR.k_unTrackedDeviceIndexInvalid;
+ for (int i = 0; i < additional; i++)
+ {
+ objects[2 + i] = this.objects[i];
+ indices[2 + i] = OpenVR.k_unTrackedDeviceIndexInvalid;
+ }
+ this.objects = objects;
+ }
+
+ SteamVR_Events.Action inputFocusAction, deviceConnectedAction, trackedDeviceRoleChangedAction;
+
+ void Awake()
+ {
+ UpdateTargets();
+ inputFocusAction = SteamVR_Events.InputFocusAction(OnInputFocus);
+ deviceConnectedAction = SteamVR_Events.DeviceConnectedAction(OnDeviceConnected);
+ trackedDeviceRoleChangedAction = SteamVR_Events.SystemAction(EVREventType.VREvent_TrackedDeviceRoleChanged, OnTrackedDeviceRoleChanged);
+ }
+
+ void OnEnable()
+ {
+ for (int i = 0; i < objects.Length; i++)
+ {
+ var obj = objects[i];
+ if (obj != null)
+ obj.SetActive(false);
+ }
+
+ Refresh();
+
+ for (int i = 0; i < SteamVR.connected.Length; i++)
+ if (SteamVR.connected[i])
+ OnDeviceConnected(i, true);
+
+ inputFocusAction.enabled = true;
+ deviceConnectedAction.enabled = true;
+ trackedDeviceRoleChangedAction.enabled = true;
+ }
+
+ void OnDisable()
+ {
+ inputFocusAction.enabled = false;
+ deviceConnectedAction.enabled = false;
+ trackedDeviceRoleChangedAction.enabled = false;
+ }
+
+ static string[] labels = { "left", "right" };
+
+ // Hide controllers when the dashboard is up.
+ private void OnInputFocus(bool hasFocus)
+ {
+ if (hasFocus)
+ {
+ for (int i = 0; i < objects.Length; i++)
+ {
+ var obj = objects[i];
+ if (obj != null)
+ {
+ var label = (i < 2) ? labels[i] : (i - 1).ToString();
+ ShowObject(obj.transform, "hidden (" + label + ")");
+ }
+ }
+ }
+ else
+ {
+ for (int i = 0; i < objects.Length; i++)
+ {
+ var obj = objects[i];
+ if (obj != null)
+ {
+ var label = (i < 2) ? labels[i] : (i - 1).ToString();
+ HideObject(obj.transform, "hidden (" + label + ")");
+ }
+ }
+ }
+ }
+
+ // Reparents to a new object and deactivates that object (this allows
+ // us to call SetActive in OnDeviceConnected independently.
+ private void HideObject(Transform t, string name)
+ {
+ var hidden = new GameObject(name).transform;
+ hidden.parent = t.parent;
+ t.parent = hidden;
+ hidden.gameObject.SetActive(false);
+ }
+ private void ShowObject(Transform t, string name)
+ {
+ var hidden = t.parent;
+ if (hidden.gameObject.name != name)
+ return;
+ t.parent = hidden.parent;
+ Destroy(hidden.gameObject);
+ }
+
+ private void SetTrackedDeviceIndex(int objectIndex, uint trackedDeviceIndex)
+ {
+ // First make sure no one else is already using this index.
+ if (trackedDeviceIndex != OpenVR.k_unTrackedDeviceIndexInvalid)
+ {
+ for (int i = 0; i < objects.Length; i++)
+ {
+ if (i != objectIndex && indices[i] == trackedDeviceIndex)
+ {
+ var obj = objects[i];
+ if (obj != null)
+ obj.SetActive(false);
+
+ indices[i] = OpenVR.k_unTrackedDeviceIndexInvalid;
+ }
+ }
+ }
+
+ // Only set when changed.
+ if (trackedDeviceIndex != indices[objectIndex])
+ {
+ indices[objectIndex] = trackedDeviceIndex;
+
+ var obj = objects[objectIndex];
+ if (obj != null)
+ {
+ if (trackedDeviceIndex == OpenVR.k_unTrackedDeviceIndexInvalid)
+ obj.SetActive(false);
+ else
+ {
+ obj.SetActive(true);
+ obj.BroadcastMessage("SetDeviceIndex", (int)trackedDeviceIndex, SendMessageOptions.DontRequireReceiver);
+ }
+ }
+ }
+ }
+
+ // Keep track of assigned roles.
+ private void OnTrackedDeviceRoleChanged(VREvent_t vrEvent)
+ {
+ Refresh();
+ }
+
+ // Keep track of connected controller indices.
+ private void OnDeviceConnected(int index, bool connected)
+ {
+ bool changed = this.connected[index];
+ this.connected[index] = false;
+
+ if (connected)
+ {
+ var system = OpenVR.System;
+ if (system != null)
+ {
+ var deviceClass = system.GetTrackedDeviceClass((uint)index);
+ if (deviceClass == ETrackedDeviceClass.Controller ||
+ deviceClass == ETrackedDeviceClass.GenericTracker)
+ {
+ this.connected[index] = true;
+ changed = !changed; // if we clear and set the same index, nothing has changed
+ }
+ }
+ }
+
+ if (changed)
+ Refresh();
+ }
+
+ public void Refresh()
+ {
+ int objectIndex = 0;
+
+ var system = OpenVR.System;
+ if (system != null)
+ {
+ leftIndex = system.GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole.LeftHand);
+ rightIndex = system.GetTrackedDeviceIndexForControllerRole(ETrackedControllerRole.RightHand);
+ }
+
+ // If neither role has been assigned yet, try hooking up at least the right controller.
+ if (leftIndex == OpenVR.k_unTrackedDeviceIndexInvalid && rightIndex == OpenVR.k_unTrackedDeviceIndexInvalid)
+ {
+ for (uint deviceIndex = 0; deviceIndex < connected.Length; deviceIndex++)
+ {
+ if (objectIndex >= objects.Length)
+ break;
+
+ if (!connected[deviceIndex])
+ continue;
+
+ SetTrackedDeviceIndex(objectIndex++, deviceIndex);
+
+ if (!assignAllBeforeIdentified)
+ break;
+ }
+ }
+ else
+ {
+ SetTrackedDeviceIndex(objectIndex++, (rightIndex < connected.Length && connected[rightIndex]) ? rightIndex : OpenVR.k_unTrackedDeviceIndexInvalid);
+ SetTrackedDeviceIndex(objectIndex++, (leftIndex < connected.Length && connected[leftIndex]) ? leftIndex : OpenVR.k_unTrackedDeviceIndexInvalid);
+
+ // Assign out any additional controllers only after both left and right have been assigned.
+ if (leftIndex != OpenVR.k_unTrackedDeviceIndexInvalid && rightIndex != OpenVR.k_unTrackedDeviceIndexInvalid)
+ {
+ for (uint deviceIndex = 0; deviceIndex < connected.Length; deviceIndex++)
+ {
+ if (objectIndex >= objects.Length)
+ break;
+
+ if (!connected[deviceIndex])
+ continue;
+
+ if (deviceIndex != leftIndex && deviceIndex != rightIndex)
+ {
+ SetTrackedDeviceIndex(objectIndex++, deviceIndex);
+ }
+ }
+ }
+ }
+
+ // Reset the rest.
+ while (objectIndex < objects.Length)
+ {
+ SetTrackedDeviceIndex(objectIndex++, OpenVR.k_unTrackedDeviceIndexInvalid);
+ }
+ }
}
diff --git a/Assets/SteamVR/Scripts/SteamVR_ControllerManager.cs.meta b/Assets/SteamVR/Scripts/SteamVR_ControllerManager.cs.meta
index cfd6376..8f4c60b 100644
--- a/Assets/SteamVR/Scripts/SteamVR_ControllerManager.cs.meta
+++ b/Assets/SteamVR/Scripts/SteamVR_ControllerManager.cs.meta
@@ -1,7 +1,7 @@
fileFormatVersion: 2
-guid: 1edaba0e604d1244a9245cd9a8306816
-timeCreated: 1465931117
-licenseType: Free
+guid: e3b47c2980b93bc48844a54641dab5b8
+timeCreated: 1437430318
+licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
diff --git a/Assets/SteamVR/Scripts/SteamVR_Ears.cs b/Assets/SteamVR/Scripts/SteamVR_Ears.cs
index 6428b1f..ccc83da 100644
--- a/Assets/SteamVR/Scripts/SteamVR_Ears.cs
+++ b/Assets/SteamVR/Scripts/SteamVR_Ears.cs
@@ -1,4 +1,4 @@
-//========= Copyright 2016, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Handles aligning audio listener when using speakers.
//
@@ -15,7 +15,7 @@ public class SteamVR_Ears : MonoBehaviour
bool usingSpeakers;
Quaternion offset;
- private void OnNewPosesApplied(params object[] args)
+ private void OnNewPosesApplied()
{
var origin = vrcam.origin;
var baseRotation = origin != null ? origin.rotation : Quaternion.identity;
@@ -30,23 +30,23 @@ void OnEnable()
if (settings != null)
{
var error = EVRSettingsError.None;
- if (settings.GetBool(OpenVR.k_pch_SteamVR_Section, OpenVR.k_pch_SteamVR_UsingSpeakers_Bool, false, ref error))
+ if (settings.GetBool(OpenVR.k_pch_SteamVR_Section, OpenVR.k_pch_SteamVR_UsingSpeakers_Bool, ref error))
{
usingSpeakers = true;
- var yawOffset = settings.GetFloat(OpenVR.k_pch_SteamVR_Section, OpenVR.k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float, 0.0f, ref error);
+ var yawOffset = settings.GetFloat(OpenVR.k_pch_SteamVR_Section, OpenVR.k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float, ref error);
offset = Quaternion.Euler(0.0f, yawOffset, 0.0f);
}
}
if (usingSpeakers)
- SteamVR_Utils.Event.Listen("new_poses_applied", OnNewPosesApplied);
+ SteamVR_Events.NewPosesApplied.Listen(OnNewPosesApplied);
}
void OnDisable()
{
if (usingSpeakers)
- SteamVR_Utils.Event.Remove("new_poses_applied", OnNewPosesApplied);
+ SteamVR_Events.NewPosesApplied.Remove(OnNewPosesApplied);
}
}
diff --git a/Assets/SteamVR/Scripts/SteamVR_Events.cs b/Assets/SteamVR/Scripts/SteamVR_Events.cs
new file mode 100644
index 0000000..ba0dced
--- /dev/null
+++ b/Assets/SteamVR/Scripts/SteamVR_Events.cs
@@ -0,0 +1,203 @@
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
+//
+// Purpose: Simple event system for SteamVR.
+//
+// Example usage:
+//
+// void OnDeviceConnected(int i, bool connected) { ... }
+// SteamVR_Events.DeviceConnected.Listen(OnDeviceConnected); // Usually in OnEnable
+// SteamVR_Events.DeviceConnected.Remove(OnDeviceConnected); // Usually in OnDisable
+//
+// Alternatively, if Listening/Removing often these can be cached as follows:
+//
+// SteamVR_Event.Action deviceConnectedAction;
+// void OnAwake() { deviceConnectedAction = SteamVR_Event.DeviceConnectedAction(OnDeviceConnected); }
+// void OnEnable() { deviceConnectedAction.enabled = true; }
+// void OnDisable() { deviceConnectedAction.enabled = false; }
+//
+//=============================================================================
+
+using UnityEngine;
+using UnityEngine.Events;
+using Valve.VR;
+
+public static class SteamVR_Events
+{
+ public abstract class Action
+ {
+ public abstract void Enable(bool enabled);
+ public bool enabled { set { Enable(value); } }
+ }
+
+ [System.Serializable]
+ public class ActionNoArgs : Action
+ {
+ public ActionNoArgs(Event _event, UnityAction action)
+ {
+ this._event = _event;
+ this.action = action;
+ }
+
+ public override void Enable(bool enabled)
+ {
+ if (enabled)
+ _event.Listen(action);
+ else
+ _event.Remove(action);
+ }
+
+ Event _event;
+ UnityAction action;
+ }
+
+ [System.Serializable]
+ public class Action : Action
+ {
+ public Action(Event _event, UnityAction action)
+ {
+ this._event = _event;
+ this.action = action;
+ }
+
+ public override void Enable(bool enabled)
+ {
+ if (enabled)
+ _event.Listen(action);
+ else
+ _event.Remove(action);
+ }
+
+ Event _event;
+ UnityAction action;
+ }
+
+ [System.Serializable]
+ public class Action : Action
+ {
+ public Action(Event _event, UnityAction action)
+ {
+ this._event = _event;
+ this.action = action;
+ }
+
+ public override void Enable(bool enabled)
+ {
+ if (enabled)
+ _event.Listen(action);
+ else
+ _event.Remove(action);
+ }
+
+ Event _event;
+ UnityAction action;
+ }
+
+ [System.Serializable]
+ public class Action : Action
+ {
+ public Action(Event _event, UnityAction action)
+ {
+ this._event = _event;
+ this.action = action;
+ }
+
+ public override void Enable(bool enabled)
+ {
+ if (enabled)
+ _event.Listen(action);
+ else
+ _event.Remove(action);
+ }
+
+ Event _event;
+ UnityAction action;
+ }
+
+ public class Event : UnityEvent
+ {
+ public void Listen(UnityAction action) { this.AddListener(action); }
+ public void Remove(UnityAction action) { this.RemoveListener(action); }
+ public void Send() { this.Invoke(); }
+ }
+
+ public class Event : UnityEvent
+ {
+ public void Listen(UnityAction action) { this.AddListener(action); }
+ public void Remove(UnityAction action) { this.RemoveListener(action); }
+ public void Send(T arg0) { this.Invoke(arg0); }
+ }
+
+ public class Event : UnityEvent
+ {
+ public void Listen(UnityAction action) { this.AddListener(action); }
+ public void Remove(UnityAction action) { this.RemoveListener(action); }
+ public void Send(T0 arg0, T1 arg1) { this.Invoke(arg0, arg1); }
+ }
+
+ public class Event : UnityEvent
+ {
+ public void Listen(UnityAction action) { this.AddListener(action); }
+ public void Remove(UnityAction action) { this.RemoveListener(action); }
+ public void Send(T0 arg0, T1 arg1, T2 arg2) { this.Invoke(arg0, arg1, arg2); }
+ }
+
+ public static Event Calibrating = new Event();
+ public static Action CalibratingAction(UnityAction action) { return new Action(Calibrating, action); }
+
+ public static Event DeviceConnected = new Event();
+ public static Action DeviceConnectedAction(UnityAction action) { return new Action(DeviceConnected, action); }
+
+ public static Event Fade = new Event();
+ public static Action FadeAction(UnityAction action) { return new Action(Fade, action); }
+
+ public static Event FadeReady = new Event();
+ public static Action FadeReadyAction(UnityAction action) { return new ActionNoArgs(FadeReady, action); }
+
+ public static Event HideRenderModels = new Event();
+ public static Action HideRenderModelsAction(UnityAction action) { return new Action(HideRenderModels, action); }
+
+ public static Event Initializing = new Event();
+ public static Action InitializingAction(UnityAction action) { return new Action(Initializing, action); }
+
+ public static Event InputFocus = new Event();
+ public static Action InputFocusAction(UnityAction action) { return new Action(InputFocus, action); }
+
+ public static Event Loading = new Event();
+ public static Action LoadingAction(UnityAction action) { return new Action(Loading, action); }
+
+ public static Event LoadingFadeIn = new Event();
+ public static Action LoadingFadeInAction(UnityAction action) { return new Action(LoadingFadeIn, action); }
+
+ public static Event LoadingFadeOut = new Event();
+ public static Action LoadingFadeOutAction(UnityAction action) { return new Action(LoadingFadeOut, action); }
+
+ public static Event NewPoses = new Event();
+ public static Action NewPosesAction(UnityAction action) { return new Action(NewPoses, action); }
+
+ public static Event NewPosesApplied = new Event();
+ public static Action NewPosesAppliedAction(UnityAction action) { return new ActionNoArgs(NewPosesApplied, action); }
+
+ public static Event OutOfRange = new Event();
+ public static Action OutOfRangeAction(UnityAction action) { return new Action(OutOfRange, action); }
+
+ public static Event RenderModelLoaded = new Event();
+ public static Action RenderModelLoadedAction(UnityAction action) { return new Action(RenderModelLoaded, action); }
+
+ static System.Collections.Generic.Dictionary> systemEvents = new System.Collections.Generic.Dictionary>();
+ public static Event System(EVREventType eventType)
+ {
+ Event e;
+ if (!systemEvents.TryGetValue(eventType, out e))
+ {
+ e = new Event();
+ systemEvents.Add(eventType, e);
+ }
+ return e;
+ }
+
+ public static Action SystemAction(EVREventType eventType, UnityAction action)
+ {
+ return new Action(System(eventType), action);
+ }
+}
+
diff --git a/Assets/SteamVR/Scripts/SteamVR_Events.cs.meta b/Assets/SteamVR/Scripts/SteamVR_Events.cs.meta
new file mode 100644
index 0000000..c3c9d5c
--- /dev/null
+++ b/Assets/SteamVR/Scripts/SteamVR_Events.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 44cb57742f235524189e5d8af1c4f3cc
+timeCreated: 1483744463
+licenseType: Store
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/SteamVR/Scripts/SteamVR_ExternalCamera.cs b/Assets/SteamVR/Scripts/SteamVR_ExternalCamera.cs
index 48c3ae8..b7900e9 100644
--- a/Assets/SteamVR/Scripts/SteamVR_ExternalCamera.cs
+++ b/Assets/SteamVR/Scripts/SteamVR_ExternalCamera.cs
@@ -1,4 +1,4 @@
-//========= Copyright 2016, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Used to render an external camera of vr player (split front/back).
//
@@ -119,7 +119,6 @@ public void AttachToCamera(SteamVR_Camera vrcam)
go.name = "camera";
DestroyImmediate(go.GetComponent());
- DestroyImmediate(go.GetComponent());
cam = go.GetComponent();
cam.fieldOfView = config.fov;
@@ -149,11 +148,7 @@ public void AttachToCamera(SteamVR_Camera vrcam)
clipRenderer.material = clipMaterial;
clipRenderer.shadowCastingMode = ShadowCastingMode.Off;
clipRenderer.receiveShadows = false;
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
clipRenderer.lightProbeUsage = LightProbeUsage.Off;
-#else
- clipRenderer.useLightProbes = false;
-#endif
clipRenderer.reflectionProbeUsage = ReflectionProbeUsage.Off;
var clipTransform = clipQuad.transform;
diff --git a/Assets/SteamVR/Scripts/SteamVR_Frustum.cs b/Assets/SteamVR/Scripts/SteamVR_Frustum.cs
index db0520d..de547d1 100644
--- a/Assets/SteamVR/Scripts/SteamVR_Frustum.cs
+++ b/Assets/SteamVR/Scripts/SteamVR_Frustum.cs
@@ -1,4 +1,4 @@
-//========= Copyright 2014, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Generates a mesh based on field of view.
//
@@ -87,15 +87,13 @@ public void UpdateModel()
GetComponent().mesh = mesh;
}
- private void OnDeviceConnected(params object[] args)
+ private void OnDeviceConnected(int i, bool connected)
{
- var i = (int)args[0];
if (i != (int)index)
return;
GetComponent().mesh = null;
- var connected = (bool)args[1];
if (connected)
{
var system = OpenVR.System;
@@ -134,12 +132,12 @@ private void OnDeviceConnected(params object[] args)
void OnEnable()
{
GetComponent().mesh = null;
- SteamVR_Utils.Event.Listen("device_connected", OnDeviceConnected);
+ SteamVR_Events.DeviceConnected.Listen(OnDeviceConnected);
}
void OnDisable()
{
- SteamVR_Utils.Event.Remove("device_connected", OnDeviceConnected);
+ SteamVR_Events.DeviceConnected.Remove(OnDeviceConnected);
GetComponent().mesh = null;
}
diff --git a/Assets/SteamVR/Scripts/SteamVR_GameView.cs b/Assets/SteamVR/Scripts/SteamVR_GameView.cs
index b06a945..0cade74 100644
--- a/Assets/SteamVR/Scripts/SteamVR_GameView.cs
+++ b/Assets/SteamVR/Scripts/SteamVR_GameView.cs
@@ -1,4 +1,4 @@
-//========= Copyright 2014, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Handles rendering to the game view window
//
@@ -6,79 +6,13 @@
using UnityEngine;
-[RequireComponent(typeof(Camera))]
+[ExecuteInEditMode]
public class SteamVR_GameView : MonoBehaviour
{
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0) // DEPRECATED in Unity 5.4+
- public float scale = 1.5f;
- public bool drawOverlay = true;
-
- static Material overlayMaterial;
-
- void OnEnable()
- {
- if (overlayMaterial == null)
- {
- overlayMaterial = new Material(Shader.Find("Custom/SteamVR_Overlay"));
- }
- }
-
- void OnPostRender()
+ void Awake()
{
- var vr = SteamVR.instance;
- var camera = GetComponent();
- var aspect = scale * camera.aspect / vr.aspect;
-
- var x0 = -scale;
- var x1 = scale;
- var y0 = aspect;
- var y1 = -aspect;
-
- var blitMaterial = SteamVR_Camera.blitMaterial;
- blitMaterial.mainTexture = SteamVR_Camera.GetSceneTexture(camera.hdr);
-
- GL.PushMatrix();
- GL.LoadOrtho();
-#if !(UNITY_5_0)
- blitMaterial.SetPass(0);
-#else
- blitMaterial.SetPass(QualitySettings.activeColorSpace == ColorSpace.Linear ? 1 : 0);
-#endif
- GL.Begin(GL.QUADS);
- GL.TexCoord2(0.0f, 0.0f); GL.Vertex3(x0, y0, 0);
- GL.TexCoord2(1.0f, 0.0f); GL.Vertex3(x1, y0, 0);
- GL.TexCoord2(1.0f, 1.0f); GL.Vertex3(x1, y1, 0);
- GL.TexCoord2(0.0f, 1.0f); GL.Vertex3(x0, y1, 0);
- GL.End();
- GL.PopMatrix();
-
- var overlay = SteamVR_Overlay.instance;
- if (overlay && overlay.texture && overlayMaterial && drawOverlay)
- {
- var texture = overlay.texture;
- overlayMaterial.mainTexture = texture;
-
- var u0 = 0.0f;
- var v0 = 1.0f - (float)Screen.height / texture.height;
- var u1 = (float)Screen.width / texture.width;
- var v1 = 1.0f;
-
- GL.PushMatrix();
- GL.LoadOrtho();
-#if !(UNITY_5_0)
- overlayMaterial.SetPass(QualitySettings.activeColorSpace == ColorSpace.Linear ? 1 : 0);
-#else
- overlayMaterial.SetPass(0);
-#endif
- GL.Begin(GL.QUADS);
- GL.TexCoord2(u0, v0); GL.Vertex3(-1, -1, 0);
- GL.TexCoord2(u1, v0); GL.Vertex3( 1, -1, 0);
- GL.TexCoord2(u1, v1); GL.Vertex3( 1, 1, 0);
- GL.TexCoord2(u0, v1); GL.Vertex3(-1, 1, 0);
- GL.End();
- GL.PopMatrix();
- }
+ Debug.Log("SteamVR_GameView is deprecated in Unity 5.4 - REMOVING");
+ DestroyImmediate(this);
}
-#endif
}
diff --git a/Assets/SteamVR/Scripts/SteamVR_Overlay.cs b/Assets/SteamVR/Scripts/SteamVR_Overlay.cs
index b0e02ea..9d0563c 100644
--- a/Assets/SteamVR/Scripts/SteamVR_Overlay.cs
+++ b/Assets/SteamVR/Scripts/SteamVR_Overlay.cs
@@ -1,4 +1,4 @@
-//========= Copyright 2014, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Displays 2d content on a large virtual screen.
//
@@ -30,7 +30,7 @@ public class SteamVR_Overlay : MonoBehaviour
private ulong handle = OpenVR.k_ulOverlayHandleInvalid;
- void OnEnable()
+ void OnEnable()
{
var overlay = OpenVR.Overlay;
if (overlay != null)
@@ -80,7 +80,7 @@ public void UpdateOverlay()
var tex = new Texture_t();
tex.handle = texture.GetNativeTexturePtr();
- tex.eType = SteamVR.instance.graphicsAPI;
+ tex.eType = SteamVR.instance.textureType;
tex.eColorSpace = EColorSpace.Auto;
overlay.SetOverlayTexture(handle, ref tex);
diff --git a/Assets/SteamVR/Scripts/SteamVR_Overlay.cs.meta b/Assets/SteamVR/Scripts/SteamVR_Overlay.cs.meta
index e2c9383..21fe1d6 100644
--- a/Assets/SteamVR/Scripts/SteamVR_Overlay.cs.meta
+++ b/Assets/SteamVR/Scripts/SteamVR_Overlay.cs.meta
@@ -1,7 +1,5 @@
fileFormatVersion: 2
guid: 46fe9e0b23166454c8cb73040321d78c
-timeCreated: 1466224777
-licenseType: Free
MonoImporter:
serializedVersion: 2
defaultReferences: []
@@ -9,4 +7,3 @@ MonoImporter:
icon: {instanceID: 0}
userData:
assetBundleName:
- assetBundleVariant:
diff --git a/Assets/SteamVR/Scripts/SteamVR_Render.cs b/Assets/SteamVR/Scripts/SteamVR_Render.cs
index d1c49ba..420040e 100644
--- a/Assets/SteamVR/Scripts/SteamVR_Render.cs
+++ b/Assets/SteamVR/Scripts/SteamVR_Render.cs
@@ -1,4 +1,4 @@
-//========= Copyright 2014, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Handles rendering of all SteamVR_Cameras
//
@@ -16,11 +16,6 @@ public class SteamVR_Render : MonoBehaviour
public SteamVR_ExternalCamera externalCamera;
public string externalCameraConfigPath = "externalcamera.cfg";
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- public LayerMask leftMask, rightMask;
-
- SteamVR_CameraMask cameraMask;
-#endif
public ETrackingUniverseOrigin trackingSpace = ETrackingUniverseOrigin.TrackingUniverseStanding;
static public EVREye eye { get; private set; }
@@ -93,10 +88,6 @@ void AddInternal(SteamVR_Camera vrcam)
sorted[insert] = vrcam;
cameras = sorted;
-
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- enabled = true;
-#endif
}
void RemoveInternal(SteamVR_Camera vrcam)
@@ -142,19 +133,20 @@ static public bool pauseRendering
set
{
_pauseRendering = value;
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
+
var compositor = OpenVR.Compositor;
if (compositor != null)
compositor.SuspendRendering(value);
-#endif
}
}
+ private WaitForEndOfFrame waitForEndOfFrame = new WaitForEndOfFrame();
+
private IEnumerator RenderLoop()
{
- while (true)
+ while (Application.isPlaying)
{
- yield return new WaitForEndOfFrame();
+ yield return waitForEndOfFrame;
if (pauseRendering)
continue;
@@ -166,19 +158,6 @@ private IEnumerator RenderLoop()
continue;
compositor.SetTrackingSpace(trackingSpace);
-
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- SteamVR_Utils.QueueEventOnRenderThread(SteamVR.Unity.k_nRenderEventID_WaitGetPoses);
-
- // Hack to flush render event that was queued in Update (this ensures WaitGetPoses has returned before we grab the new values).
- SteamVR.Unity.EventWriteString("[UnityMain] GetNativeTexturePtr - Begin");
- SteamVR_Camera.GetSceneTexture(cameras[0].GetComponent().hdr).GetNativeTexturePtr();
- SteamVR.Unity.EventWriteString("[UnityMain] GetNativeTexturePtr - End");
-
- compositor.GetLastPoses(poses, gamePoses);
- SteamVR_Utils.Event.Send("new_poses", poses);
- SteamVR_Utils.Event.Send("new_poses_applied");
-#endif
}
var overlay = SteamVR_Overlay.instance;
@@ -186,60 +165,8 @@ private IEnumerator RenderLoop()
overlay.UpdateOverlay();
RenderExternalCamera();
-
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- var vr = SteamVR.instance;
- RenderEye(vr, EVREye.Eye_Left);
- RenderEye(vr, EVREye.Eye_Right);
-
- // Move cameras back to head position so they can be tracked reliably
- foreach (var c in cameras)
- {
- c.transform.localPosition = Vector3.zero;
- c.transform.localRotation = Quaternion.identity;
- }
-
- if (cameraMask != null)
- cameraMask.Clear();
-#endif
- }
- }
-
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- void RenderEye(SteamVR vr, EVREye eye)
- {
- int i = (int)eye;
- SteamVR_Render.eye = eye;
-
- if (cameraMask != null)
- cameraMask.Set(vr, eye);
-
- foreach (var c in cameras)
- {
- c.transform.localPosition = vr.eyes[i].pos;
- c.transform.localRotation = vr.eyes[i].rot;
-
- // Update position to keep from getting culled
- cameraMask.transform.position = c.transform.position;
-
- var camera = c.GetComponent();
- camera.targetTexture = SteamVR_Camera.GetSceneTexture(camera.hdr);
- int cullingMask = camera.cullingMask;
- if (eye == EVREye.Eye_Left)
- {
- camera.cullingMask &= ~rightMask;
- camera.cullingMask |= leftMask;
- }
- else
- {
- camera.cullingMask &= ~leftMask;
- camera.cullingMask |= rightMask;
- }
- camera.Render();
- camera.cullingMask = cullingMask;
}
}
-#endif
void RenderExternalCamera()
{
@@ -262,9 +189,8 @@ void RenderExternalCamera()
float sceneResolutionScale = 1.0f, timeScale = 1.0f;
- private void OnInputFocus(params object[] args)
+ private void OnInputFocus(bool hasFocus)
{
- bool hasFocus = (bool)args[0];
if (hasFocus)
{
if (pauseGameWhenDashboardIsVisible)
@@ -287,7 +213,7 @@ private void OnInputFocus(params object[] args)
}
}
- void OnQuit(params object[] args)
+ void OnQuit(VREvent_t vrEvent)
{
#if UNITY_EDITOR
foreach (System.Reflection.Assembly a in System.AppDomain.CurrentDomain.GetAssemblies())
@@ -304,27 +230,76 @@ void OnQuit(params object[] args)
#endif
}
+ private string GetScreenshotFilename(uint screenshotHandle, EVRScreenshotPropertyFilenames screenshotPropertyFilename)
+ {
+ var error = EVRScreenshotError.None;
+ var capacity = OpenVR.Screenshots.GetScreenshotPropertyFilename(screenshotHandle, screenshotPropertyFilename, null, 0, ref error);
+ if (error != EVRScreenshotError.None && error != EVRScreenshotError.BufferTooSmall)
+ return null;
+ if (capacity > 1)
+ {
+ var result = new System.Text.StringBuilder((int)capacity);
+ OpenVR.Screenshots.GetScreenshotPropertyFilename(screenshotHandle, screenshotPropertyFilename, result, capacity, ref error);
+ if (error != EVRScreenshotError.None)
+ return null;
+ return result.ToString();
+ }
+ return null;
+ }
+
+ private void OnRequestScreenshot(VREvent_t vrEvent)
+ {
+ var screenshotHandle = vrEvent.data.screenshot.handle;
+ var screenshotType = (EVRScreenshotType)vrEvent.data.screenshot.type;
+
+ if (screenshotType == EVRScreenshotType.StereoPanorama)
+ {
+ string previewFilename = GetScreenshotFilename(screenshotHandle, EVRScreenshotPropertyFilenames.Preview);
+ string VRFilename = GetScreenshotFilename(screenshotHandle, EVRScreenshotPropertyFilenames.VR);
+
+ if (previewFilename == null || VRFilename == null)
+ return;
+
+ // Do the stereo panorama screenshot
+ // Figure out where the view is
+ GameObject screenshotPosition = new GameObject("screenshotPosition");
+ screenshotPosition.transform.position = SteamVR_Render.Top().transform.position;
+ screenshotPosition.transform.rotation = SteamVR_Render.Top().transform.rotation;
+ screenshotPosition.transform.localScale = SteamVR_Render.Top().transform.lossyScale;
+ SteamVR_Utils.TakeStereoScreenshot(screenshotHandle, screenshotPosition, 32, 0.064f, ref previewFilename, ref VRFilename);
+
+ // and submit it
+ OpenVR.Screenshots.SubmitScreenshot(screenshotHandle, screenshotType, previewFilename, VRFilename);
+ }
+ }
+
void OnEnable()
{
StartCoroutine("RenderLoop");
- SteamVR_Utils.Event.Listen("input_focus", OnInputFocus);
- SteamVR_Utils.Event.Listen("Quit", OnQuit);
+ SteamVR_Events.InputFocus.Listen(OnInputFocus);
+ SteamVR_Events.System(EVREventType.VREvent_Quit).Listen(OnQuit);
+ SteamVR_Events.System(EVREventType.VREvent_RequestScreenshot).Listen(OnRequestScreenshot);
+
+ var vr = SteamVR.instance;
+ if (vr == null)
+ {
+ enabled = false;
+ return;
+ }
+ var types = new EVRScreenshotType[] { EVRScreenshotType.StereoPanorama };
+ OpenVR.Screenshots.HookScreenshot(types);
}
void OnDisable()
{
StopAllCoroutines();
- SteamVR_Utils.Event.Remove("input_focus", OnInputFocus);
- SteamVR_Utils.Event.Remove("Quit", OnQuit);
+ SteamVR_Events.InputFocus.Remove(OnInputFocus);
+ SteamVR_Events.System(EVREventType.VREvent_Quit).Remove(OnQuit);
+ SteamVR_Events.System(EVREventType.VREvent_RequestScreenshot).Remove(OnRequestScreenshot);
}
void Awake()
{
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- var go = new GameObject("cameraMask");
- go.transform.parent = transform;
- cameraMask = go.AddComponent();
-#endif
if (externalCamera == null && System.IO.File.Exists(externalCameraConfigPath))
{
var prefab = Resources.Load("SteamVR_ExternalCamera");
@@ -337,36 +312,19 @@ void Awake()
}
}
- void FixedUpdate()
- {
-#if (UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
- // We want to call this as soon after Present as possible.
- SteamVR_Utils.QueueEventOnRenderThread(SteamVR.Unity.k_nRenderEventID_PostPresentHandoff);
-#endif
- }
-
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
+#if !(UNITY_5_6)
private SteamVR_UpdatePoses poseUpdater;
#endif
void Update()
{
-#if !(UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
+#if !(UNITY_5_6)
if (poseUpdater == null)
{
var go = new GameObject("poseUpdater");
go.transform.parent = transform;
poseUpdater = go.AddComponent();
}
-#else
- if (cameras.Length == 0)
- {
- enabled = false;
- return;
- }
-
- // If our FixedUpdate rate doesn't match our render framerate, then catch the handoff here.
- SteamVR_Utils.QueueEventOnRenderThread(SteamVR.Unity.k_nRenderEventID_PostPresentHandoff);
#endif
// Force controller update in case no one else called this frame to ensure prevState gets updated.
SteamVR_Controller.Update();
@@ -387,25 +345,23 @@ void Update()
case EVREventType.VREvent_InputFocusCaptured: // another app has taken focus (likely dashboard)
if (vrEvent.data.process.oldPid == 0)
{
- SteamVR_Utils.Event.Send("input_focus", false);
+ SteamVR_Events.InputFocus.Send(false);
}
break;
case EVREventType.VREvent_InputFocusReleased: // that app has released input focus
if (vrEvent.data.process.pid == 0)
{
- SteamVR_Utils.Event.Send("input_focus", true);
+ SteamVR_Events.InputFocus.Send(true);
}
break;
case EVREventType.VREvent_ShowRenderModels:
- SteamVR_Utils.Event.Send("hide_render_models", false);
+ SteamVR_Events.HideRenderModels.Send(false);
break;
case EVREventType.VREvent_HideRenderModels:
- SteamVR_Utils.Event.Send("hide_render_models", true);
+ SteamVR_Events.HideRenderModels.Send(true);
break;
default:
- var name = System.Enum.GetName(typeof(EVREventType), vrEvent.eventType);
- if (name != null)
- SteamVR_Utils.Event.Send(name.Substring(8) /*strip VREvent_*/, vrEvent);
+ SteamVR_Events.System((EVREventType)vrEvent.eventType).Send(vrEvent);
break;
}
}
@@ -427,7 +383,6 @@ void Update()
vr.compositor.GetFrameTiming(ref timing, 0);
Time.fixedDeltaTime = Time.timeScale / vr.hmd_DisplayFrequency;
- Time.maximumDeltaTime = Time.fixedDeltaTime * timing.m_nNumFramePresents;
}
}
}
diff --git a/Assets/SteamVR/Scripts/SteamVR_RenderModel.cs b/Assets/SteamVR/Scripts/SteamVR_RenderModel.cs
new file mode 100644
index 0000000..450c8e9
--- /dev/null
+++ b/Assets/SteamVR/Scripts/SteamVR_RenderModel.cs
@@ -0,0 +1,792 @@
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
+//
+// Purpose: Render model of associated tracked object
+//
+//=============================================================================
+
+using UnityEngine;
+using System.Collections;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+using Valve.VR;
+
+[ExecuteInEditMode]
+public class SteamVR_RenderModel : MonoBehaviour
+{
+ public SteamVR_TrackedObject.EIndex index = SteamVR_TrackedObject.EIndex.None;
+ public string modelOverride;
+
+ // Shader to apply to model.
+ public Shader shader;
+
+ // Enable to print out when render models are loaded.
+ public bool verbose = false;
+
+ // If available, break down into separate components instead of loading as a single mesh.
+ public bool createComponents = true;
+
+ // Update transforms of components at runtime to reflect user action.
+ public bool updateDynamically = true;
+
+ // Additional controller settings for showing scrollwheel, etc.
+ public RenderModel_ControllerMode_State_t controllerModeState;
+
+ // Name of the sub-object which represents the "local" coordinate space for each component.
+ public const string k_localTransformName = "attach";
+
+ // Cached name of this render model for updating component transforms at runtime.
+ public string renderModelName { get; private set; }
+
+ // If someone knows how to keep these from getting cleaned up every time
+ // you exit play mode, let me know. I've tried marking the RenderModel
+ // class below as [System.Serializable] and switching to normal public
+ // variables for mesh and material to get them to serialize properly,
+ // as well as tried marking the mesh and material objects as
+ // DontUnloadUnusedAsset, but Unity was still unloading them.
+ // The hashtable is preserving its entries, but the mesh and material
+ // variables are going null.
+
+ public class RenderModel
+ {
+ public RenderModel(Mesh mesh, Material material)
+ {
+ this.mesh = mesh;
+ this.material = material;
+ }
+ public Mesh mesh { get; private set; }
+ public Material material { get; private set; }
+ }
+
+ public static Hashtable models = new Hashtable();
+ public static Hashtable materials = new Hashtable();
+
+ // Helper class to load render models interface on demand and clean up when done.
+ public sealed class RenderModelInterfaceHolder : System.IDisposable
+ {
+ private bool needsShutdown, failedLoadInterface;
+ private CVRRenderModels _instance;
+ public CVRRenderModels instance
+ {
+ get
+ {
+ if (_instance == null && !failedLoadInterface)
+ {
+ if (!SteamVR.active && !SteamVR.usingNativeSupport)
+ {
+ var error = EVRInitError.None;
+ OpenVR.Init(ref error, EVRApplicationType.VRApplication_Other);
+ needsShutdown = true;
+ }
+
+ _instance = OpenVR.RenderModels;
+ if (_instance == null)
+ {
+ Debug.LogError("Failed to load IVRRenderModels interface version " + OpenVR.IVRRenderModels_Version);
+ failedLoadInterface = true;
+ }
+ }
+ return _instance;
+ }
+ }
+ public void Dispose()
+ {
+ if (needsShutdown)
+ OpenVR.Shutdown();
+ }
+ }
+
+ private void OnModelSkinSettingsHaveChanged(VREvent_t vrEvent)
+ {
+ if (!string.IsNullOrEmpty(renderModelName))
+ {
+ renderModelName = "";
+ UpdateModel();
+ }
+ }
+
+ private void OnHideRenderModels(bool hidden)
+ {
+ var meshRenderer = GetComponent();
+ if (meshRenderer != null)
+ meshRenderer.enabled = !hidden;
+ foreach (var child in transform.GetComponentsInChildren())
+ child.enabled = !hidden;
+ }
+
+ private void OnDeviceConnected(int i, bool connected)
+ {
+ if (i != (int)index)
+ return;
+
+ if (connected)
+ {
+ UpdateModel();
+ }
+ }
+
+ public void UpdateModel()
+ {
+ var system = OpenVR.System;
+ if (system == null)
+ return;
+
+ var error = ETrackedPropertyError.TrackedProp_Success;
+ var capacity = system.GetStringTrackedDeviceProperty((uint)index, ETrackedDeviceProperty.Prop_RenderModelName_String, null, 0, ref error);
+ if (capacity <= 1)
+ {
+ Debug.LogError("Failed to get render model name for tracked object " + index);
+ return;
+ }
+
+ var buffer = new System.Text.StringBuilder((int)capacity);
+ system.GetStringTrackedDeviceProperty((uint)index, ETrackedDeviceProperty.Prop_RenderModelName_String, buffer, capacity, ref error);
+
+ var s = buffer.ToString();
+ if (renderModelName != s)
+ {
+ renderModelName = s;
+ StartCoroutine(SetModelAsync(s));
+ }
+ }
+
+ IEnumerator SetModelAsync(string renderModelName)
+ {
+ if (string.IsNullOrEmpty(renderModelName))
+ yield break;
+
+ // Preload all render models before asking for the data to create meshes.
+ using (var holder = new RenderModelInterfaceHolder())
+ {
+ var renderModels = holder.instance;
+ if (renderModels == null)
+ yield break;
+
+ // Gather names of render models to preload.
+ string[] renderModelNames;
+
+ var count = renderModels.GetComponentCount(renderModelName);
+ if (count > 0)
+ {
+ renderModelNames = new string[count];
+
+ for (int i = 0; i < count; i++)
+ {
+ var capacity = renderModels.GetComponentName(renderModelName, (uint)i, null, 0);
+ if (capacity == 0)
+ continue;
+
+ var componentName = new System.Text.StringBuilder((int)capacity);
+ if (renderModels.GetComponentName(renderModelName, (uint)i, componentName, capacity) == 0)
+ continue;
+
+ capacity = renderModels.GetComponentRenderModelName(renderModelName, componentName.ToString(), null, 0);
+ if (capacity == 0)
+ continue;
+
+ var name = new System.Text.StringBuilder((int)capacity);
+ if (renderModels.GetComponentRenderModelName(renderModelName, componentName.ToString(), name, capacity) == 0)
+ continue;
+
+ var s = name.ToString();
+
+ // Only need to preload if not already cached.
+ var model = models[s] as RenderModel;
+ if (model == null || model.mesh == null)
+ {
+ renderModelNames[i] = s;
+ }
+ }
+ }
+ else
+ {
+ // Only need to preload if not already cached.
+ var model = models[renderModelName] as RenderModel;
+ if (model == null || model.mesh == null)
+ {
+ renderModelNames = new string[] { renderModelName };
+ }
+ else
+ {
+ renderModelNames = new string[0];
+ }
+ }
+
+ // Keep trying every 100ms until all components finish loading.
+ while (true)
+ {
+ var loading = false;
+ foreach (var name in renderModelNames)
+ {
+ if (string.IsNullOrEmpty(name))
+ continue;
+
+ var pRenderModel = System.IntPtr.Zero;
+
+ var error = renderModels.LoadRenderModel_Async(name, ref pRenderModel);
+ if (error == EVRRenderModelError.Loading)
+ {
+ loading = true;
+ }
+ else if (error == EVRRenderModelError.None)
+ {
+ // Preload textures as well.
+ var renderModel = MarshalRenderModel(pRenderModel);
+
+ // Check the cache first.
+ var material = materials[renderModel.diffuseTextureId] as Material;
+ if (material == null || material.mainTexture == null)
+ {
+ var pDiffuseTexture = System.IntPtr.Zero;
+
+ error = renderModels.LoadTexture_Async(renderModel.diffuseTextureId, ref pDiffuseTexture);
+ if (error == EVRRenderModelError.Loading)
+ {
+ loading = true;
+ }
+ }
+ }
+ }
+
+ if (loading)
+ {
+ yield return new WaitForSeconds(0.1f);
+ }
+ else
+ {
+ break;
+ }
+ }
+ }
+
+ bool success = SetModel(renderModelName);
+ SteamVR_Events.RenderModelLoaded.Send(this, success);
+ }
+
+ private bool SetModel(string renderModelName)
+ {
+ StripMesh(gameObject);
+
+ using (var holder = new RenderModelInterfaceHolder())
+ {
+ if (createComponents)
+ {
+ if (LoadComponents(holder, renderModelName))
+ {
+ UpdateComponents(holder.instance);
+ return true;
+ }
+
+ Debug.Log("[" + gameObject.name + "] Render model does not support components, falling back to single mesh.");
+ }
+
+ if (!string.IsNullOrEmpty(renderModelName))
+ {
+ var model = models[renderModelName] as RenderModel;
+ if (model == null || model.mesh == null)
+ {
+ var renderModels = holder.instance;
+ if (renderModels == null)
+ return false;
+
+ if (verbose)
+ Debug.Log("Loading render model " + renderModelName);
+
+ model = LoadRenderModel(renderModels, renderModelName, renderModelName);
+ if (model == null)
+ return false;
+
+ models[renderModelName] = model;
+ }
+
+ gameObject.AddComponent().mesh = model.mesh;
+ gameObject.AddComponent().sharedMaterial = model.material;
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ RenderModel LoadRenderModel(CVRRenderModels renderModels, string renderModelName, string baseName)
+ {
+ var pRenderModel = System.IntPtr.Zero;
+
+ EVRRenderModelError error;
+ while ( true )
+ {
+ error = renderModels.LoadRenderModel_Async(renderModelName, ref pRenderModel);
+ if (error != EVRRenderModelError.Loading)
+ break;
+
+ System.Threading.Thread.Sleep(1);
+ }
+
+ if (error != EVRRenderModelError.None)
+ {
+ Debug.LogError(string.Format("Failed to load render model {0} - {1}", renderModelName, error.ToString()));
+ return null;
+ }
+
+ var renderModel = MarshalRenderModel(pRenderModel);
+
+ var vertices = new Vector3[renderModel.unVertexCount];
+ var normals = new Vector3[renderModel.unVertexCount];
+ var uv = new Vector2[renderModel.unVertexCount];
+
+ var type = typeof(RenderModel_Vertex_t);
+ for (int iVert = 0; iVert < renderModel.unVertexCount; iVert++)
+ {
+ var ptr = new System.IntPtr(renderModel.rVertexData.ToInt64() + iVert * Marshal.SizeOf(type));
+ var vert = (RenderModel_Vertex_t)Marshal.PtrToStructure(ptr, type);
+
+ vertices[iVert] = new Vector3(vert.vPosition.v0, vert.vPosition.v1, -vert.vPosition.v2);
+ normals[iVert] = new Vector3(vert.vNormal.v0, vert.vNormal.v1, -vert.vNormal.v2);
+ uv[iVert] = new Vector2(vert.rfTextureCoord0, vert.rfTextureCoord1);
+ }
+
+ int indexCount = (int)renderModel.unTriangleCount * 3;
+ var indices = new short[indexCount];
+ Marshal.Copy(renderModel.rIndexData, indices, 0, indices.Length);
+
+ var triangles = new int[indexCount];
+ for (int iTri = 0; iTri < renderModel.unTriangleCount; iTri++)
+ {
+ triangles[iTri * 3 + 0] = (int)indices[iTri * 3 + 2];
+ triangles[iTri * 3 + 1] = (int)indices[iTri * 3 + 1];
+ triangles[iTri * 3 + 2] = (int)indices[iTri * 3 + 0];
+ }
+
+ var mesh = new Mesh();
+ mesh.vertices = vertices;
+ mesh.normals = normals;
+ mesh.uv = uv;
+ mesh.triangles = triangles;
+
+#if (UNITY_5_4 || UNITY_5_3 || UNITY_5_2 || UNITY_5_1 || UNITY_5_0)
+ mesh.Optimize();
+#endif
+ //mesh.hideFlags = HideFlags.DontUnloadUnusedAsset;
+
+ // Check cache before loading texture.
+ var material = materials[renderModel.diffuseTextureId] as Material;
+ if (material == null || material.mainTexture == null)
+ {
+ var pDiffuseTexture = System.IntPtr.Zero;
+
+ while (true)
+ {
+ error = renderModels.LoadTexture_Async(renderModel.diffuseTextureId, ref pDiffuseTexture);
+ if (error != EVRRenderModelError.Loading)
+ break;
+
+ System.Threading.Thread.Sleep(1);
+ }
+
+ if (error == EVRRenderModelError.None)
+ {
+ var diffuseTexture = MarshalRenderModel_TextureMap(pDiffuseTexture);
+ var texture = new Texture2D(diffuseTexture.unWidth, diffuseTexture.unHeight, TextureFormat.ARGB32, false);
+ if (SystemInfo.graphicsDeviceType == UnityEngine.Rendering.GraphicsDeviceType.Direct3D11)
+ {
+ texture.Apply();
+
+ while (true)
+ {
+ error = renderModels.LoadIntoTextureD3D11_Async(renderModel.diffuseTextureId, texture.GetNativeTexturePtr());
+ if (error != EVRRenderModelError.Loading)
+ break;
+
+ System.Threading.Thread.Sleep(1);
+ }
+ }
+ else
+ {
+ var textureMapData = new byte[diffuseTexture.unWidth * diffuseTexture.unHeight * 4]; // RGBA
+ Marshal.Copy(diffuseTexture.rubTextureMapData, textureMapData, 0, textureMapData.Length);
+
+ var colors = new Color32[diffuseTexture.unWidth * diffuseTexture.unHeight];
+ int iColor = 0;
+ for (int iHeight = 0; iHeight < diffuseTexture.unHeight; iHeight++)
+ {
+ for (int iWidth = 0; iWidth < diffuseTexture.unWidth; iWidth++)
+ {
+ var r = textureMapData[iColor++];
+ var g = textureMapData[iColor++];
+ var b = textureMapData[iColor++];
+ var a = textureMapData[iColor++];
+ colors[iHeight * diffuseTexture.unWidth + iWidth] = new Color32(r, g, b, a);
+ }
+ }
+
+ texture.SetPixels32(colors);
+ texture.Apply();
+ }
+
+ material = new Material(shader != null ? shader : Shader.Find("Standard"));
+ material.mainTexture = texture;
+ //material.hideFlags = HideFlags.DontUnloadUnusedAsset;
+
+ materials[renderModel.diffuseTextureId] = material;
+
+ renderModels.FreeTexture(pDiffuseTexture);
+ }
+ else
+ {
+ Debug.Log("Failed to load render model texture for render model " + renderModelName);
+ }
+ }
+
+ // Delay freeing when we can since we'll often get multiple requests for the same model right
+ // after another (e.g. two controllers or two basestations).
+#if UNITY_EDITOR
+ if (!Application.isPlaying)
+ renderModels.FreeRenderModel(pRenderModel);
+ else
+#endif
+ StartCoroutine(FreeRenderModel(pRenderModel));
+
+ return new RenderModel(mesh, material);
+ }
+
+ IEnumerator FreeRenderModel(System.IntPtr pRenderModel)
+ {
+ yield return new WaitForSeconds(1.0f);
+
+ using (var holder = new RenderModelInterfaceHolder())
+ {
+ var renderModels = holder.instance;
+ renderModels.FreeRenderModel(pRenderModel);
+ }
+ }
+
+ public Transform FindComponent(string componentName)
+ {
+ var t = transform;
+ for (int i = 0; i < t.childCount; i++)
+ {
+ var child = t.GetChild(i);
+ if (child.name == componentName)
+ return child;
+ }
+ return null;
+ }
+
+ private void StripMesh(GameObject go)
+ {
+ var meshRenderer = go.GetComponent();
+ if (meshRenderer != null)
+ DestroyImmediate(meshRenderer);
+
+ var meshFilter = go.GetComponent();
+ if (meshFilter != null)
+ DestroyImmediate(meshFilter);
+ }
+
+ private bool LoadComponents(RenderModelInterfaceHolder holder, string renderModelName)
+ {
+ // Disable existing components (we will re-enable them if referenced by this new model).
+ // Also strip mesh filter and renderer since these will get re-added if the new component needs them.
+ var t = transform;
+ for (int i = 0; i < t.childCount; i++)
+ {
+ var child = t.GetChild(i);
+ child.gameObject.SetActive(false);
+ StripMesh(child.gameObject);
+ }
+
+ // If no model specified, we're done; return success.
+ if (string.IsNullOrEmpty(renderModelName))
+ return true;
+
+ var renderModels = holder.instance;
+ if (renderModels == null)
+ return false;
+
+ var count = renderModels.GetComponentCount(renderModelName);
+ if (count == 0)
+ return false;
+
+ for (int i = 0; i < count; i++)
+ {
+ var capacity = renderModels.GetComponentName(renderModelName, (uint)i, null, 0);
+ if (capacity == 0)
+ continue;
+
+ var componentName = new System.Text.StringBuilder((int)capacity);
+ if (renderModels.GetComponentName(renderModelName, (uint)i, componentName, capacity) == 0)
+ continue;
+
+ // Create (or reuse) a child object for this component (some components are dynamic and don't have meshes).
+ t = FindComponent(componentName.ToString());
+ if (t != null)
+ {
+ t.gameObject.SetActive(true);
+ }
+ else
+ {
+ t = new GameObject(componentName.ToString()).transform;
+ t.parent = transform;
+ t.gameObject.layer = gameObject.layer;
+
+ // Also create a child 'attach' object for attaching things.
+ var attach = new GameObject(k_localTransformName).transform;
+ attach.parent = t;
+ attach.localPosition = Vector3.zero;
+ attach.localRotation = Quaternion.identity;
+ attach.localScale = Vector3.one;
+ attach.gameObject.layer = gameObject.layer;
+ }
+
+ // Reset transform.
+ t.localPosition = Vector3.zero;
+ t.localRotation = Quaternion.identity;
+ t.localScale = Vector3.one;
+
+ capacity = renderModels.GetComponentRenderModelName(renderModelName, componentName.ToString(), null, 0);
+ if (capacity == 0)
+ continue;
+
+ var componentRenderModelName = new System.Text.StringBuilder((int)capacity);
+ if (renderModels.GetComponentRenderModelName(renderModelName, componentName.ToString(), componentRenderModelName, capacity) == 0)
+ continue;
+
+ // Check the cache or load into memory.
+ var model = models[componentRenderModelName] as RenderModel;
+ if (model == null || model.mesh == null)
+ {
+ if (verbose)
+ Debug.Log("Loading render model " + componentRenderModelName);
+
+ model = LoadRenderModel(renderModels, componentRenderModelName.ToString(), renderModelName);
+ if (model == null)
+ continue;
+
+ models[componentRenderModelName] = model;
+ }
+
+ t.gameObject.AddComponent().mesh = model.mesh;
+ t.gameObject.AddComponent().sharedMaterial = model.material;
+ }
+
+ return true;
+ }
+
+ SteamVR_Events.Action deviceConnectedAction, hideRenderModelsAction, modelSkinSettingsHaveChangedAction;
+
+ void Awake()
+ {
+ deviceConnectedAction = SteamVR_Events.DeviceConnectedAction(OnDeviceConnected);
+ hideRenderModelsAction = SteamVR_Events.HideRenderModelsAction(OnHideRenderModels);
+ modelSkinSettingsHaveChangedAction = SteamVR_Events.SystemAction(EVREventType.VREvent_ModelSkinSettingsHaveChanged, OnModelSkinSettingsHaveChanged);
+ }
+
+ void OnEnable()
+ {
+#if UNITY_EDITOR
+ if (!Application.isPlaying)
+ return;
+#endif
+ if (!string.IsNullOrEmpty(modelOverride))
+ {
+ Debug.Log("Model override is really only meant to be used in the scene view for lining things up; using it at runtime is discouraged. Use tracked device index instead to ensure the correct model is displayed for all users.");
+ enabled = false;
+ return;
+ }
+
+ var system = OpenVR.System;
+ if (system != null && system.IsTrackedDeviceConnected((uint)index))
+ {
+ UpdateModel();
+ }
+
+ deviceConnectedAction.enabled = true;
+ hideRenderModelsAction.enabled = true;
+ modelSkinSettingsHaveChangedAction.enabled = true;
+ }
+
+ void OnDisable()
+ {
+#if UNITY_EDITOR
+ if (!Application.isPlaying)
+ return;
+#endif
+ deviceConnectedAction.enabled = false;
+ hideRenderModelsAction.enabled = false;
+ modelSkinSettingsHaveChangedAction.enabled = false;
+ }
+
+#if UNITY_EDITOR
+ Hashtable values;
+#endif
+ void Update()
+ {
+#if UNITY_EDITOR
+ if (!Application.isPlaying)
+ {
+ // See if anything has changed since this gets called whenever anything gets touched.
+ var fields = GetType().GetFields(System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public);
+
+ bool modified = false;
+
+ if (values == null)
+ {
+ modified = true;
+ }
+ else
+ {
+ foreach (var f in fields)
+ {
+ if (!values.Contains(f))
+ {
+ modified = true;
+ break;
+ }
+
+ var v0 = values[f];
+ var v1 = f.GetValue(this);
+ if (v1 != null)
+ {
+ if (!v1.Equals(v0))
+ {
+ modified = true;
+ break;
+ }
+ }
+ else if (v0 != null)
+ {
+ modified = true;
+ break;
+ }
+ }
+ }
+
+ if (modified)
+ {
+ if (renderModelName != modelOverride)
+ {
+ renderModelName = modelOverride;
+ SetModel(modelOverride);
+ }
+
+ values = new Hashtable();
+ foreach (var f in fields)
+ values[f] = f.GetValue(this);
+ }
+
+ return; // Do not update transforms (below) when not playing in Editor (to avoid keeping OpenVR running all the time).
+ }
+#endif
+ // Update component transforms dynamically.
+ if (updateDynamically)
+ UpdateComponents(OpenVR.RenderModels);
+ }
+
+ Dictionary nameCache;
+
+ public void UpdateComponents(CVRRenderModels renderModels)
+ {
+ if (renderModels == null)
+ return;
+
+ var t = transform;
+ if (t.childCount == 0)
+ return;
+
+ var controllerState = (index != SteamVR_TrackedObject.EIndex.None) ?
+ SteamVR_Controller.Input((int)index).GetState() : new VRControllerState_t();
+
+ if (nameCache == null)
+ nameCache = new Dictionary();
+
+ for (int i = 0; i < t.childCount; i++)
+ {
+ var child = t.GetChild(i);
+
+ // Cache names since accessing an object's name allocate memory.
+ string name;
+ if (!nameCache.TryGetValue(child.GetInstanceID(), out name))
+ {
+ name = child.name;
+ nameCache.Add(child.GetInstanceID(), name);
+ }
+
+ var componentState = new RenderModel_ComponentState_t();
+ if (!renderModels.GetComponentState(renderModelName, name, ref controllerState, ref controllerModeState, ref componentState))
+ continue;
+
+ var componentTransform = new SteamVR_Utils.RigidTransform(componentState.mTrackingToComponentRenderModel);
+ child.localPosition = componentTransform.pos;
+ child.localRotation = componentTransform.rot;
+
+ var attach = child.Find(k_localTransformName);
+ if (attach != null)
+ {
+ var attachTransform = new SteamVR_Utils.RigidTransform(componentState.mTrackingToComponentLocal);
+ attach.position = t.TransformPoint(attachTransform.pos);
+ attach.rotation = t.rotation * attachTransform.rot;
+ }
+
+ bool visible = (componentState.uProperties & (uint)EVRComponentProperty.IsVisible) != 0;
+ if (visible != child.gameObject.activeSelf)
+ {
+ child.gameObject.SetActive(visible);
+ }
+ }
+ }
+
+ public void SetDeviceIndex(int index)
+ {
+ this.index = (SteamVR_TrackedObject.EIndex)index;
+ modelOverride = "";
+
+ if (enabled)
+ {
+ UpdateModel();
+ }
+ }
+
+ ///
+ /// Helper function to handle the inconvenient fact that the packing for RenderModel_t is
+ /// different on Linux/OSX (4) than it is on Windows (8)
+ ///
+ /// native pointer to the RenderModel_t
+ ///
+ private RenderModel_t MarshalRenderModel(System.IntPtr pRenderModel)
+ {
+ if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
+ (System.Environment.OSVersion.Platform == System.PlatformID.Unix))
+ {
+ var packedModel = (RenderModel_t_Packed)Marshal.PtrToStructure(pRenderModel, typeof(RenderModel_t_Packed));
+ RenderModel_t model = new RenderModel_t();
+ packedModel.Unpack(ref model);
+ return model;
+ }
+ else
+ {
+ return (RenderModel_t)Marshal.PtrToStructure(pRenderModel, typeof(RenderModel_t));
+ }
+ }
+
+ ///
+ /// Helper function to handle the inconvenient fact that the packing for RenderModel_TextureMap_t is
+ /// different on Linux/OSX (4) than it is on Windows (8)
+ ///
+ /// native pointer to the RenderModel_TextureMap_t
+ ///
+ private RenderModel_TextureMap_t MarshalRenderModel_TextureMap(System.IntPtr pRenderModel)
+ {
+ if ((System.Environment.OSVersion.Platform == System.PlatformID.MacOSX) ||
+ (System.Environment.OSVersion.Platform == System.PlatformID.Unix))
+ {
+ var packedModel = (RenderModel_TextureMap_t_Packed)Marshal.PtrToStructure(pRenderModel, typeof(RenderModel_TextureMap_t_Packed));
+ RenderModel_TextureMap_t model = new RenderModel_TextureMap_t();
+ packedModel.Unpack(ref model);
+ return model;
+ }
+ else
+ {
+ return (RenderModel_TextureMap_t)Marshal.PtrToStructure(pRenderModel, typeof(RenderModel_TextureMap_t));
+ }
+ }
+}
+
diff --git a/Assets/SteamVR/Scripts/SteamVR_RenderModel.cs.meta b/Assets/SteamVR/Scripts/SteamVR_RenderModel.cs.meta
new file mode 100644
index 0000000..429899d
--- /dev/null
+++ b/Assets/SteamVR/Scripts/SteamVR_RenderModel.cs.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 5890e3cad70bea64d91aef9145ba3454
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
diff --git a/Assets/SteamVR/Scripts/SteamVR_SphericalProjection.cs b/Assets/SteamVR/Scripts/SteamVR_SphericalProjection.cs
new file mode 100644
index 0000000..8c69c23
--- /dev/null
+++ b/Assets/SteamVR/Scripts/SteamVR_SphericalProjection.cs
@@ -0,0 +1,40 @@
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
+//
+// Purpose: Applies spherical projection to output.
+//
+//=============================================================================
+
+using UnityEngine;
+
+[ExecuteInEditMode]
+public class SteamVR_SphericalProjection : MonoBehaviour
+{
+ static Material material;
+
+ public void Set(Vector3 N,
+ float phi0, float phi1, float theta0, float theta1, // in degrees
+ Vector3 uAxis, Vector3 uOrigin, float uScale,
+ Vector3 vAxis, Vector3 vOrigin, float vScale)
+ {
+ if (material == null)
+ material = new Material(Shader.Find("Custom/SteamVR_SphericalProjection"));
+
+ material.SetVector("_N", new Vector4(N.x, N.y, N.z));
+ material.SetFloat("_Phi0", phi0 * Mathf.Deg2Rad);
+ material.SetFloat("_Phi1", phi1 * Mathf.Deg2Rad);
+ material.SetFloat("_Theta0", theta0 * Mathf.Deg2Rad + Mathf.PI / 2);
+ material.SetFloat("_Theta1", theta1 * Mathf.Deg2Rad + Mathf.PI / 2);
+ material.SetVector("_UAxis", uAxis);
+ material.SetVector("_VAxis", vAxis);
+ material.SetVector("_UOrigin", uOrigin);
+ material.SetVector("_VOrigin", vOrigin);
+ material.SetFloat("_UScale", uScale);
+ material.SetFloat("_VScale", vScale);
+ }
+
+ void OnRenderImage(RenderTexture src, RenderTexture dest)
+ {
+ Graphics.Blit(src, dest, material);
+ }
+}
+
diff --git a/Assets/SteamVR/Scripts/SteamVR_SphericalProjection.cs.meta b/Assets/SteamVR/Scripts/SteamVR_SphericalProjection.cs.meta
new file mode 100644
index 0000000..a8ece21
--- /dev/null
+++ b/Assets/SteamVR/Scripts/SteamVR_SphericalProjection.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 7f4097fabec5d2b4da2b861750319952
+timeCreated: 1462380202
+licenseType: Store
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/SteamVR/Scripts/SteamVR_TrackedObject.cs b/Assets/SteamVR/Scripts/SteamVR_TrackedObject.cs
index 133602b..a351540 100644
--- a/Assets/SteamVR/Scripts/SteamVR_TrackedObject.cs
+++ b/Assets/SteamVR/Scripts/SteamVR_TrackedObject.cs
@@ -1,4 +1,4 @@
-//========= Copyright 2014, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: For controlling in-game objects with tracked devices.
//
@@ -34,7 +34,7 @@ public enum EIndex
public Transform origin; // if not set, relative to parent
public bool isValid = false;
- private void OnNewPoses(params object[] args)
+ private void OnNewPoses(TrackedDevicePose_t[] poses)
{
if (index == EIndex.None)
return;
@@ -42,7 +42,6 @@ private void OnNewPoses(params object[] args)
var i = (int)index;
isValid = false;
- var poses = (Valve.VR.TrackedDevicePose_t[])args[0];
if (poses.Length <= i)
return;
@@ -58,12 +57,8 @@ private void OnNewPoses(params object[] args)
if (origin != null)
{
- pose = new SteamVR_Utils.RigidTransform(origin) * pose;
- pose.pos.x *= origin.localScale.x;
- pose.pos.y *= origin.localScale.y;
- pose.pos.z *= origin.localScale.z;
- transform.position = pose.pos;
- transform.rotation = pose.rot;
+ transform.position = origin.transform.TransformPoint(pose.pos);
+ transform.rotation = origin.rotation * pose.rot;
}
else
{
@@ -72,6 +67,13 @@ private void OnNewPoses(params object[] args)
}
}
+ SteamVR_Events.Action newPosesAction;
+
+ void Awake()
+ {
+ newPosesAction = SteamVR_Events.NewPosesAction(OnNewPoses);
+ }
+
void OnEnable()
{
var render = SteamVR_Render.instance;
@@ -81,12 +83,12 @@ void OnEnable()
return;
}
- SteamVR_Utils.Event.Listen("new_poses", OnNewPoses);
+ newPosesAction.enabled = true;
}
void OnDisable()
{
- SteamVR_Utils.Event.Remove("new_poses", OnNewPoses);
+ newPosesAction.enabled = false;
isValid = false;
}
diff --git a/Assets/SteamVR/Scripts/SteamVR_Utils.cs b/Assets/SteamVR/Scripts/SteamVR_Utils.cs
index 7f1d182..c1f5945 100644
--- a/Assets/SteamVR/Scripts/SteamVR_Utils.cs
+++ b/Assets/SteamVR/Scripts/SteamVR_Utils.cs
@@ -1,4 +1,4 @@
-//========= Copyright 2014, Valve Corporation, All rights reserved. ===========
+//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Utilities for working with SteamVR
//
@@ -11,44 +11,6 @@
public static class SteamVR_Utils
{
- public class Event
- {
- public delegate void Handler(params object[] args);
-
- public static void Listen(string message, Handler action)
- {
- var actions = listeners[message] as Handler;
- if (actions != null)
- {
- listeners[message] = actions + action;
- }
- else
- {
- listeners[message] = action;
- }
- }
-
- public static void Remove(string message, Handler action)
- {
- var actions = listeners[message] as Handler;
- if (actions != null)
- {
- listeners[message] = actions - action;
- }
- }
-
- public static void Send(string message, params object[] args)
- {
- var actions = listeners[message] as Handler;
- if (actions != null)
- {
- actions(args);
- }
- }
-
- private static Hashtable listeners = new Hashtable();
- }
-
// this version does not clamp [0..1]
public static Quaternion Slerp(Quaternion A, Quaternion B, float t)
{
@@ -387,79 +349,6 @@ public void Interpolate(RigidTransform to, float t)
}
}
- public static Mesh CreateHiddenAreaMesh(HiddenAreaMesh_t src, VRTextureBounds_t bounds)
- {
- if (src.unTriangleCount == 0)
- return null;
-
- var data = new float[src.unTriangleCount * 3 * 2]; //HmdVector2_t
- Marshal.Copy(src.pVertexData, data, 0, data.Length);
-
- var vertices = new Vector3[src.unTriangleCount * 3 + 12];
- var indices = new int[src.unTriangleCount * 3 + 24];
-
- var x0 = 2.0f * bounds.uMin - 1.0f;
- var x1 = 2.0f * bounds.uMax - 1.0f;
- var y0 = 2.0f * bounds.vMin - 1.0f;
- var y1 = 2.0f * bounds.vMax - 1.0f;
-
- for (int i = 0, j = 0; i < src.unTriangleCount * 3; i++)
- {
- var x = Lerp(x0, x1, data[j++]);
- var y = Lerp(y0, y1, data[j++]);
- vertices[i] = new Vector3(x, y, 0.0f);
- indices[i] = i;
- }
-
- // Add border
- var offset = (int)src.unTriangleCount * 3;
- var iVert = offset;
- vertices[iVert++] = new Vector3(-1, -1, 0);
- vertices[iVert++] = new Vector3(x0, -1, 0);
- vertices[iVert++] = new Vector3(-1, 1, 0);
- vertices[iVert++] = new Vector3(x0, 1, 0);
- vertices[iVert++] = new Vector3(x1, -1, 0);
- vertices[iVert++] = new Vector3( 1, -1, 0);
- vertices[iVert++] = new Vector3(x1, 1, 0);
- vertices[iVert++] = new Vector3( 1, 1, 0);
- vertices[iVert++] = new Vector3(x0, y0, 0);
- vertices[iVert++] = new Vector3(x1, y0, 0);
- vertices[iVert++] = new Vector3(x0, y1, 0);
- vertices[iVert++] = new Vector3(x1, y1, 0);
-
- var iTri = offset;
- indices[iTri++] = offset + 0;
- indices[iTri++] = offset + 1;
- indices[iTri++] = offset + 2;
- indices[iTri++] = offset + 2;
- indices[iTri++] = offset + 1;
- indices[iTri++] = offset + 3;
- indices[iTri++] = offset + 4;
- indices[iTri++] = offset + 5;
- indices[iTri++] = offset + 6;
- indices[iTri++] = offset + 6;
- indices[iTri++] = offset + 5;
- indices[iTri++] = offset + 7;
- indices[iTri++] = offset + 1;
- indices[iTri++] = offset + 4;
- indices[iTri++] = offset + 8;
- indices[iTri++] = offset + 8;
- indices[iTri++] = offset + 4;
- indices[iTri++] = offset + 9;
- indices[iTri++] = offset + 10;
- indices[iTri++] = offset + 11;
- indices[iTri++] = offset + 3;
- indices[iTri++] = offset + 3;
- indices[iTri++] = offset + 11;
- indices[iTri++] = offset + 6;
-
- var mesh = new Mesh();
- mesh.vertices = vertices;
- mesh.triangles = indices;
- mesh.bounds = new Bounds( Vector3.zero, new Vector3( float.MaxValue, float.MaxValue, float.MaxValue ) ); // Prevent frustum culling from culling this mesh
- return mesh;
- }
-
public delegate object SystemFn(CVRSystem system, params object[] args);
public static object CallSystemFn(SystemFn fn, params object[] args)
@@ -480,13 +369,229 @@ public static object CallSystemFn(SystemFn fn, params object[] args)
return result;
}
- public static void QueueEventOnRenderThread(int eventID)
+ public static void TakeStereoScreenshot(uint screenshotHandle, GameObject target, int cellSize, float ipd, ref string previewFilename, ref string VRFilename)
{
-#if (UNITY_5_0 || UNITY_5_1)
- GL.IssuePluginEvent(eventID);
-#elif (UNITY_5_2 || UNITY_5_3)
- GL.IssuePluginEvent(SteamVR.Unity.GetRenderEventFunc(), eventID);
-#endif
+ const int width = 4096;
+ const int height = width / 2;
+ const int halfHeight = height / 2;
+
+ var texture = new Texture2D(width, height * 2, TextureFormat.ARGB32, false);
+
+ var timer = new System.Diagnostics.Stopwatch();
+
+ Camera tempCamera = null;
+
+ timer.Start();
+
+ var camera = target.GetComponent();
+ if (camera == null)
+ {
+ if (tempCamera == null)
+ tempCamera = new GameObject().AddComponent();
+ camera = tempCamera;
+ }
+
+ // Render preview texture
+ const int previewWidth = 2048;
+ const int previewHeight = 2048;
+ var previewTexture = new Texture2D(previewWidth, previewHeight, TextureFormat.ARGB32, false);
+ var targetPreviewTexture = new RenderTexture(previewWidth, previewHeight, 24);
+
+ var oldTargetTexture = camera.targetTexture;
+ var oldOrthographic = camera.orthographic;
+ var oldFieldOfView = camera.fieldOfView;
+ var oldAspect = camera.aspect;
+ var oldstereoTargetEye = camera.stereoTargetEye;
+ camera.stereoTargetEye = StereoTargetEyeMask.None;
+ camera.fieldOfView = 60.0f;
+ camera.orthographic = false;
+ camera.targetTexture = targetPreviewTexture;
+ camera.aspect = 1.0f;
+ camera.Render();
+
+ // copy preview texture
+ RenderTexture.active = targetPreviewTexture;
+ previewTexture.ReadPixels(new Rect(0, 0, targetPreviewTexture.width, targetPreviewTexture.height), 0, 0);
+ RenderTexture.active = null;
+ camera.targetTexture = null;
+ Object.DestroyImmediate(targetPreviewTexture);
+
+ var fx = camera.gameObject.AddComponent();
+
+ var oldPosition = target.transform.localPosition;
+ var oldRotation = target.transform.localRotation;
+ var basePosition = target.transform.position;
+ var baseRotation = Quaternion.Euler(0, target.transform.rotation.eulerAngles.y, 0);
+
+ var transform = camera.transform;
+
+ int vTotal = halfHeight / cellSize;
+ float dv = 90.0f / vTotal; // vertical degrees per segment
+ float dvHalf = dv / 2.0f;
+
+ var targetTexture = new RenderTexture(cellSize, cellSize, 24);
+ targetTexture.wrapMode = TextureWrapMode.Clamp;
+ targetTexture.antiAliasing = 8;
+
+ camera.fieldOfView = dv;
+ camera.orthographic = false;
+ camera.targetTexture = targetTexture;
+ camera.aspect = oldAspect;
+ camera.stereoTargetEye = StereoTargetEyeMask.None;
+
+ // Render sections of a sphere using a rectilinear projection
+ // and resample using a sphereical projection into a single panorama
+ // texture per eye. We break into sections in order to keep the eye
+ // separation similar around the sphere. Rendering alternates between
+ // top and bottom sections, sweeping horizontally around the sphere,
+ // alternating left and right eyes.
+ for (int v = 0; v < vTotal; v++)
+ {
+ var pitch = 90.0f - (v * dv) - dvHalf;
+ var uTotal = width / targetTexture.width;
+ var du = 360.0f / uTotal; // horizontal degrees per segment
+ var duHalf = du / 2.0f;
+
+ var vTarget = v * halfHeight / vTotal;
+
+ for (int i = 0; i < 2; i++) // top, bottom
+ {
+ if (i == 1)
+ {
+ pitch = -pitch;
+ vTarget = height - vTarget - cellSize;
+ }
+
+ for (int u = 0; u < uTotal; u++)
+ {
+ var yaw = -180.0f + (u * du) + duHalf;
+
+ var uTarget = u * width / uTotal;
+
+ var vTargetOffset = 0;
+ var xOffset = -ipd / 2 * Mathf.Cos(pitch * Mathf.Deg2Rad);
+
+ for (int j = 0; j < 2; j++) // left, right
+ {
+ if (j == 1)
+ {
+ vTargetOffset = height;
+ xOffset = -xOffset;
+ }
+
+ var offset = baseRotation * Quaternion.Euler(0, yaw, 0) * new Vector3(xOffset, 0, 0);
+ transform.position = basePosition + offset;
+
+ var direction = Quaternion.Euler(pitch, yaw, 0.0f);
+ transform.rotation = baseRotation * direction;
+
+ // vector pointing to center of this section
+ var N = direction * Vector3.forward;
+
+ // horizontal span of this section in degrees
+ var phi0 = yaw - (du / 2);
+ var phi1 = phi0 + du;
+
+ // vertical span of this section in degrees
+ var theta0 = pitch + (dv / 2);
+ var theta1 = theta0 - dv;
+
+ var midPhi = (phi0 + phi1) / 2;
+ var baseTheta = Mathf.Abs(theta0) < Mathf.Abs(theta1) ? theta0 : theta1;
+
+ // vectors pointing to corners of image closes to the equator
+ var V00 = Quaternion.Euler(baseTheta, phi0, 0.0f) * Vector3.forward;
+ var V01 = Quaternion.Euler(baseTheta, phi1, 0.0f) * Vector3.forward;
+
+ // vectors pointing to top and bottom midsection of image
+ var V0M = Quaternion.Euler(theta0, midPhi, 0.0f) * Vector3.forward;
+ var V1M = Quaternion.Euler(theta1, midPhi, 0.0f) * Vector3.forward;
+
+ // intersection points for each of the above
+ var P00 = V00 / Vector3.Dot(V00, N);
+ var P01 = V01 / Vector3.Dot(V01, N);
+ var P0M = V0M / Vector3.Dot(V0M, N);
+ var P1M = V1M / Vector3.Dot(V1M, N);
+
+ // calculate basis vectors for plane
+ var P00_P01 = P01 - P00;
+ var P0M_P1M = P1M - P0M;
+
+ var uMag = P00_P01.magnitude;
+ var vMag = P0M_P1M.magnitude;
+
+ var uScale = 1.0f / uMag;
+ var vScale = 1.0f / vMag;
+
+ var uAxis = P00_P01 * uScale;
+ var vAxis = P0M_P1M * vScale;
+
+ // update material constant buffer
+ fx.Set(N, phi0, phi1, theta0, theta1,
+ uAxis, P00, uScale,
+ vAxis, P0M, vScale);
+
+ camera.aspect = uMag / vMag;
+ camera.Render();
+
+ RenderTexture.active = targetTexture;
+ texture.ReadPixels(new Rect(0, 0, targetTexture.width, targetTexture.height), uTarget, vTarget + vTargetOffset);
+ RenderTexture.active = null;
+ }
+
+ // Update progress
+ var progress = (float)( v * ( uTotal * 2.0f ) + u + i*uTotal) / (float)(vTotal * ( uTotal * 2.0f ) );
+ OpenVR.Screenshots.UpdateScreenshotProgress(screenshotHandle, progress);
+ }
+ }
+ }
+
+ // 100% flush
+ OpenVR.Screenshots.UpdateScreenshotProgress(screenshotHandle, 1.0f);
+
+ // Save textures to disk.
+ // Add extensions
+ previewFilename += ".png";
+ VRFilename += ".png";
+
+ // Preview
+ previewTexture.Apply();
+ System.IO.File.WriteAllBytes(previewFilename, previewTexture.EncodeToPNG());
+
+ // VR
+ texture.Apply();
+ System.IO.File.WriteAllBytes(VRFilename, texture.EncodeToPNG());
+
+ // Cleanup.
+ if (camera != tempCamera)
+ {
+ camera.targetTexture = oldTargetTexture;
+ camera.orthographic = oldOrthographic;
+ camera.fieldOfView = oldFieldOfView;
+ camera.aspect = oldAspect;
+ camera.stereoTargetEye = oldstereoTargetEye;
+
+ target.transform.localPosition = oldPosition;
+ target.transform.localRotation = oldRotation;
+ }
+ else
+ {
+ tempCamera.targetTexture = null;
+ }
+
+ Object.DestroyImmediate(targetTexture);
+ Object.DestroyImmediate(fx);
+
+ timer.Stop();
+ Debug.Log(string.Format("Screenshot took {0} seconds.", timer.Elapsed));
+
+ if (tempCamera != null)
+ {
+ Object.DestroyImmediate(tempCamera.gameObject);
+ }
+
+ Object.DestroyImmediate(previewTexture);
+ Object.DestroyImmediate(texture);
}
}
diff --git a/Assets/SteamVR/Textures.meta b/Assets/SteamVR/Textures.meta
index 043ec8d..04298ac 100644
--- a/Assets/SteamVR/Textures.meta
+++ b/Assets/SteamVR/Textures.meta
@@ -1,9 +1,6 @@
fileFormatVersion: 2
-guid: 003cb17d6edd28b4d88df6f35f9c03ab
+guid: abfc00e0350ad744083849e2d7ae06ee
folderAsset: yes
-timeCreated: 1465633285
-licenseType: Free
DefaultImporter:
userData:
assetBundleName:
- assetBundleVariant:
diff --git a/Assets/SteamVR/readme.txt b/Assets/SteamVR/readme.txt
index e0d4a56..b0c5d2c 100644
--- a/Assets/SteamVR/readme.txt
+++ b/Assets/SteamVR/readme.txt
@@ -1,37 +1,101 @@
-This is a stripped down version of the Unity Steam VR plugin v1.1 that includes just the core functionality required to display Overlays.
+SteamVR plugin for Unity - v1.2.1
+Copyright (c) Valve Corporation, All rights reserved.
-Please see https://www.assetstore.unity3d.com/en/#!/content/32647 for additional information.
+Quickstart:
+To use, simply add the SteamVR_Camera script to your Camera object(s). Everything else gets set up at
+runtime. See the included quickstart guide for more details.
-The following is the original text of this ReadMe, though many features have been stripped from this version.
+Requirements:
+The SteamVR runtime must be installed. This can be found in Steam under Tools.
+Changes for v1.2.1:
+* Updated to SteamVR runtime v1485823399 and SDK version 1.0.6.
+* Switched SteamVR_Events.SystemAction from using strings to specify event type over to their associated enum values.
+* Fixed an issue with using WWW in static constructors.
+* Added Unity Preferences for SteamVR to allow disabling automatic enabling of native OpenVR support in Unity 5.4 or newer.
+https://github.com/ValveSoftware/steamvr_unity_plugin/issues/8
+https://github.com/ValveSoftware/steamvr_unity_plugin/pull/9
+* Added UNITY_SHADER_NO_UPGRADE to all shaders to avoid log spam in later versions of Unity for issues that have already been fixed but the compiler isn't able to detect.
+* Specified Vulkan support for Interaction System shaders.
+* Fix for crash in Interaction_Example selecting BowPickup:
+https://github.com/ValveSoftware/steamvr_unity_plugin/issues/4
-SteamVR plugin for Unity - v1.1.0
-Copyright 2014-2016, Valve Corporation, All rights reserved.
+* Cleaned up unused fields:
+https://github.com/ValveSoftware/steamvr_unity_plugin/issues/2
+* Updated Interaction System's LinearDrive to initialize using linearMapping.value.
+https://github.com/ValveSoftware/steamvr_unity_plugin/pull/5
-Quickstart:
+* Updated Interaction System documetation to fix a few errors.
-To use, simply add the SteamVR_Camera script to your Camera object(s). Everything else gets set up at
-runtime. See the included quickstart guide for more details.
+* Added an icon for all Interaction System scripts.
+* Fixes for SteamVR on Linux.
-Requirements:
-The SteamVR runtime must be installed. This can be found in Steam under Tools.
+Changes for v1.2.0:
+
+* Updated to SteamVR runtime v1481926580 and SDK version 1.0.5.
+
+* Replaced SteamVR_Utils.Event with SteamVR_Events. to avoid runtime memory allocation associated with use of params object[] args.
+
+* Added SteamVR_Events.Action to make it easy to wrap callbacks to avoid memory allocation when components are frequently enabled/disabled at runtime.
+
+* Fixed other miscellaneous runtime memory allocation in SteamVR_Render and SteamVR_RenderModels. (Suggestions by unity3d user @8bitgoose.)
+
+* Integrated fix for SteamVR_LaserPointer direction (from github user @fredsa).
+
+* Integrated fixes and comments for SteamVR_Teleporter (from github user @natewinck).
+
+* Removed SteamVR_Status and SteamVR_StatusText as they were using SteamVR_Utils.Event with generic strings which is no longer allowed.
+
+* Added SteamVR_Controller.assignAllBeforeIdentified (to allow controller to be assigned before identified as left vs right). Suggested by github user @chrwoizi.
-The plugin currently only supports Windows / DX11.
+* Added SteamVR_Controller.UpdateTargets public interface. This allows spawning the component at runtime. Suggested by github user @demonixis.
+
+* Fixed bug with SteamVR_TrackedObject when specifying origin. Suggested by github user @fredsa.
+
+* Fixed issue with head camera reference in SteamVR_Camera. Suggested by github user @pedrofe.
+
+Known issues:
+
+* The current beta version of Unity 5.6 breaks the normal operation of the SteamVR_UpdatePoses component (required for tracked controllers).
+To work around this in the meantime, you will need to manually add the SteamVR_UpdatePoses component to your main camera.
+
+
+Changes for v1.1.1:
+
+* Updated to SteamVR runtime v1467410709 and SDK version 1.0.2.
+
+* Updated Copyright notice.
+
+* Added SteamVR_TrackedCamera for accessing tracked camera video stream and poses.
+
+* Added SteamVR_TestTrackedCamera scene and associated script to demonstrate how to use SteamVR_TrackedCamera.
+
+* Fix for SteamVR_Fade shader to account for changes in Unity 5.4.
+
+* SteamVR_GameView will now use the compositor's mirror texture to render the companion window (pre-Unity 5.4 only).
+
+* Renamed SteamVR_LoadLevel 'externalApp' to 'internalProcess' to reflect actual functionality.
+
+* Fixed issue with SteamVR_PlayArea material loading due to changes in Unity 5.4.
+
+* Added Screenshot support handling for stereo panoramas generation.
+
+* Removed code that was setting Time.maximumDeltaTime as this was causing issues.
Changes for v1.1.0:
@@ -328,8 +392,7 @@ up and running quickly and easily. You are encouraged to modify these to suit y
and provide feedback at http://steamcommunity.com/app/250820 or http://steamcommunity.com/app/358720/discussions
Assets/SteamVR/Scenes/example.unity - A sample scene demonstrating the functionality provided by this plugin.
-This also shows you how to set up a separate camera for rendering gui elements, and handle events to display
-hmd status.
+This also shows you how to set up a separate camera for rendering gui elements.
Details:
@@ -379,8 +442,7 @@ Prefabs:
SteamVR_Camera component added to it, and the Expand button clicked. It also includes a full set of Tracked Devices
which will display and follow any connected tracked devices (e.g. controllers, base stations and cameras).
-[Status] - This is a set of components for providing various status info. You can add it to your scene to get
-notifications for leaving the tracking bounds, et cetera. It also includes an escape menu for tweaking options.
+[Status] - The prefab is for demonstration purposes only. It adds an escape menu to your scene.
Note: It uses the SteamVR_Overlay component, which is rather expensive rendering-wise.
[SteamVR] - This object controls some global settings for SteamVR, most notably Tracking Space. Legacy projects
@@ -434,28 +496,21 @@ and right culling mask to use to control rendering per eye if necessary.
Events:
-SteamVR_Camera fires off several events. These can be handled by registering for them through
-SteamVR_Utils.Event.Listen. Be sure to remove your handler when no longer needed. The best pattern is to
-Listen and Remove in OnEnable and OnDisable respectively.
+SteamVR fires off several events. These can be handled by registering for them through
+SteamVR_Events..Listen. Be sure to remove your handler when no longer needed.
+The best pattern is to Listen and Remove in OnEnable and OnDisable respectively.
-"initializing" - This event is sent when the hmd's tracking status changes to or from Unitialized.
+Initializing - This event is sent when the hmd's tracking status changes to or from Unitialized.
-"calibrating" - This event is sent when starting or stopping calibration with the new state.
+Calibrating - This event is sent when starting or stopping calibration with the new state.
-"out_of_range" - This event is sent when losing or reacquiring absolute positional tracking. This will
+OutOfRange - This event is sent when losing or reacquiring absolute positional tracking. This will
never fire for the Rift DK1 since it does not have positional tracking. For camera based trackers, this
happens when the hmd exits and enters the camera's view.
-"device_connected" - This event is sent when devices are connected or disconnected. The device index is passed
+DeviceConnected - This event is sent when devices are connected or disconnected. The device index is passed
as the first argument, and the connected status (true / false) as the second argument.
-Feel free to leverage this system to fire off events of your own. SteamVR_Utils.Event.Send takes any number
-of parameters, and passes them on to all registered callbacks.
-
-A helper class has been included called SteamVR_Status which leverages these events to display hmd status to
-the user. Examples of this can be found in the example scene. SteamVR_StatusText specifically, leverages this
-functionality to wrap up GUIText display, overriding SetAlpha.
-
Keybindings (if using the [Status] prefab):
diff --git a/HeadlessOverlayToolkit.sln b/HeadlessOverlayToolkit.sln
index 611f241..7c4ef4b 100644
--- a/HeadlessOverlayToolkit.sln
+++ b/HeadlessOverlayToolkit.sln
@@ -1,11 +1,11 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2015
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeadlessOverlayToolkit.CSharp.Plugins", "HeadlessOverlayToolkit.CSharp.Plugins.csproj", "{471817E4-67A9-BA4F-2262-A19C91959061}"
+# Visual Studio 2017
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeadlessOverlayToolkit.Plugins", "HeadlessOverlayToolkit.Plugins.csproj", "{80B11C52-6A9D-A19E-017A-11779F10F324}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeadlessOverlayToolkit.CSharp", "HeadlessOverlayToolkit.CSharp.csproj", "{8F24E7B6-8CFC-E0AE-713B-BA6442E31BD9}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeadlessOverlayToolkit", "HeadlessOverlayToolkit.csproj", "{D8AD80B1-8258-56A8-A566-DD1E0971896D}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeadlessOverlayToolkit.CSharp.Editor", "HeadlessOverlayToolkit.CSharp.Editor.csproj", "{0A44FD87-305E-6AA5-8803-843E7DC44199}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeadlessOverlayToolkit.Editor", "HeadlessOverlayToolkit.Editor.csproj", "{D58FEC66-C1BD-6992-8B3A-9885EEA82DA5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -13,18 +13,18 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {471817E4-67A9-BA4F-2262-A19C91959061}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {471817E4-67A9-BA4F-2262-A19C91959061}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {471817E4-67A9-BA4F-2262-A19C91959061}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {471817E4-67A9-BA4F-2262-A19C91959061}.Release|Any CPU.Build.0 = Release|Any CPU
- {8F24E7B6-8CFC-E0AE-713B-BA6442E31BD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8F24E7B6-8CFC-E0AE-713B-BA6442E31BD9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8F24E7B6-8CFC-E0AE-713B-BA6442E31BD9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8F24E7B6-8CFC-E0AE-713B-BA6442E31BD9}.Release|Any CPU.Build.0 = Release|Any CPU
- {0A44FD87-305E-6AA5-8803-843E7DC44199}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0A44FD87-305E-6AA5-8803-843E7DC44199}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0A44FD87-305E-6AA5-8803-843E7DC44199}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0A44FD87-305E-6AA5-8803-843E7DC44199}.Release|Any CPU.Build.0 = Release|Any CPU
+ {80B11C52-6A9D-A19E-017A-11779F10F324}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {80B11C52-6A9D-A19E-017A-11779F10F324}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {80B11C52-6A9D-A19E-017A-11779F10F324}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {80B11C52-6A9D-A19E-017A-11779F10F324}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D8AD80B1-8258-56A8-A566-DD1E0971896D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D8AD80B1-8258-56A8-A566-DD1E0971896D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D8AD80B1-8258-56A8-A566-DD1E0971896D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D8AD80B1-8258-56A8-A566-DD1E0971896D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D58FEC66-C1BD-6992-8B3A-9885EEA82DA5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D58FEC66-C1BD-6992-8B3A-9885EEA82DA5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D58FEC66-C1BD-6992-8B3A-9885EEA82DA5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D58FEC66-C1BD-6992-8B3A-9885EEA82DA5}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/Library/AssetImportState b/Library/AssetImportState
index 99e6017..0ecf2e2 100644
--- a/Library/AssetImportState
+++ b/Library/AssetImportState
@@ -1 +1 @@
-5;0;6;-1
\ No newline at end of file
+19;0;6;0;1
\ No newline at end of file
diff --git a/Library/AssetServerCacheV3 b/Library/AssetServerCacheV3
index e2de7cf..0bd07e6 100644
Binary files a/Library/AssetServerCacheV3 and b/Library/AssetServerCacheV3 differ
diff --git a/Library/CurrentLayout.dwlt b/Library/CurrentLayout.dwlt
index 4efcfc0..23a17dd 100644
Binary files a/Library/CurrentLayout.dwlt and b/Library/CurrentLayout.dwlt differ
diff --git a/Library/EditorUserBuildSettings.asset b/Library/EditorUserBuildSettings.asset
index fb68135..459d171 100644
Binary files a/Library/EditorUserBuildSettings.asset and b/Library/EditorUserBuildSettings.asset differ
diff --git a/Library/LastSceneManagerSetup.txt b/Library/LastSceneManagerSetup.txt
index 3dcbb39..cb46bcd 100644
--- a/Library/LastSceneManagerSetup.txt
+++ b/Library/LastSceneManagerSetup.txt
@@ -1,4 +1,4 @@
sceneSetups:
-- path: Assets/Default.unity
+- path: Assets/HOTK/Example Content/HOTK_DemoScene.unity
isLoaded: 1
isActive: 1
diff --git a/Library/ProjectSettings.asset b/Library/ProjectSettings.asset
index efca6a5..7ac0ca7 100644
Binary files a/Library/ProjectSettings.asset and b/Library/ProjectSettings.asset differ
diff --git a/Library/ScriptAssemblies/Assembly-CSharp-Editor.dll b/Library/ScriptAssemblies/Assembly-CSharp-Editor.dll
index 644b619..5feef59 100644
Binary files a/Library/ScriptAssemblies/Assembly-CSharp-Editor.dll and b/Library/ScriptAssemblies/Assembly-CSharp-Editor.dll differ
diff --git a/Library/ScriptAssemblies/Assembly-CSharp-Editor.dll.mdb b/Library/ScriptAssemblies/Assembly-CSharp-Editor.dll.mdb
index 20e3c16..5c99686 100644
Binary files a/Library/ScriptAssemblies/Assembly-CSharp-Editor.dll.mdb and b/Library/ScriptAssemblies/Assembly-CSharp-Editor.dll.mdb differ
diff --git a/Library/ScriptAssemblies/Assembly-CSharp-firstpass.dll b/Library/ScriptAssemblies/Assembly-CSharp-firstpass.dll
index 62d55ce..1db2275 100644
Binary files a/Library/ScriptAssemblies/Assembly-CSharp-firstpass.dll and b/Library/ScriptAssemblies/Assembly-CSharp-firstpass.dll differ
diff --git a/Library/ScriptAssemblies/Assembly-CSharp-firstpass.dll.mdb b/Library/ScriptAssemblies/Assembly-CSharp-firstpass.dll.mdb
index 21e1713..1e1493a 100644
Binary files a/Library/ScriptAssemblies/Assembly-CSharp-firstpass.dll.mdb and b/Library/ScriptAssemblies/Assembly-CSharp-firstpass.dll.mdb differ
diff --git a/Library/ScriptAssemblies/Assembly-CSharp.dll b/Library/ScriptAssemblies/Assembly-CSharp.dll
index dd385b1..5a1bb2a 100644
Binary files a/Library/ScriptAssemblies/Assembly-CSharp.dll and b/Library/ScriptAssemblies/Assembly-CSharp.dll differ
diff --git a/Library/ScriptAssemblies/Assembly-CSharp.dll.mdb b/Library/ScriptAssemblies/Assembly-CSharp.dll.mdb
index 486b682..fdb979a 100644
Binary files a/Library/ScriptAssemblies/Assembly-CSharp.dll.mdb and b/Library/ScriptAssemblies/Assembly-CSharp.dll.mdb differ
diff --git a/Library/ScriptAssemblies/BuiltinAssemblies.stamp b/Library/ScriptAssemblies/BuiltinAssemblies.stamp
index 35b4e81..134fea5 100644
--- a/Library/ScriptAssemblies/BuiltinAssemblies.stamp
+++ b/Library/ScriptAssemblies/BuiltinAssemblies.stamp
@@ -1,2 +1,2 @@
-0000.572f869a.0000
-0000.572f86ae.0000
\ No newline at end of file
+0000.59106994.0000
+0000.591069ac.0000
\ No newline at end of file
diff --git a/Library/ScriptMapper b/Library/ScriptMapper
index e1a7aa8..18d93e6 100644
Binary files a/Library/ScriptMapper and b/Library/ScriptMapper differ
diff --git a/Library/ShaderCache.db b/Library/ShaderCache.db
index 3941199..3d67eec 100644
Binary files a/Library/ShaderCache.db and b/Library/ShaderCache.db differ
diff --git a/Library/UnityAssemblies/SyntaxTree.VisualStudio.Unity.Bridge.dll b/Library/UnityAssemblies/SyntaxTree.VisualStudio.Unity.Bridge.dll
index 6a2a061..a7b5a86 100644
Binary files a/Library/UnityAssemblies/SyntaxTree.VisualStudio.Unity.Bridge.dll and b/Library/UnityAssemblies/SyntaxTree.VisualStudio.Unity.Bridge.dll differ
diff --git a/Library/UnityAssemblies/UnityEditor.Advertisements.dll b/Library/UnityAssemblies/UnityEditor.Advertisements.dll
index d0ce904..9c1ac8f 100644
Binary files a/Library/UnityAssemblies/UnityEditor.Advertisements.dll and b/Library/UnityAssemblies/UnityEditor.Advertisements.dll differ
diff --git a/Library/UnityAssemblies/UnityEditor.EditorTestsRunner.dll b/Library/UnityAssemblies/UnityEditor.EditorTestsRunner.dll
deleted file mode 100644
index 484c8fb..0000000
Binary files a/Library/UnityAssemblies/UnityEditor.EditorTestsRunner.dll and /dev/null differ
diff --git a/Library/UnityAssemblies/UnityEditor.EditorTestsRunner.xml b/Library/UnityAssemblies/UnityEditor.EditorTestsRunner.xml
deleted file mode 100644
index 0314cec..0000000
--- a/Library/UnityAssemblies/UnityEditor.EditorTestsRunner.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- UnityEditor.EditorTestsRunner
-
-
-
diff --git a/Library/UnityAssemblies/UnityEditor.Graphs.dll b/Library/UnityAssemblies/UnityEditor.Graphs.dll
index 113fa09..5670169 100644
Binary files a/Library/UnityAssemblies/UnityEditor.Graphs.dll and b/Library/UnityAssemblies/UnityEditor.Graphs.dll differ
diff --git a/Library/UnityAssemblies/UnityEditor.Networking.dll b/Library/UnityAssemblies/UnityEditor.Networking.dll
index 5160311..1267635 100644
Binary files a/Library/UnityAssemblies/UnityEditor.Networking.dll and b/Library/UnityAssemblies/UnityEditor.Networking.dll differ
diff --git a/Library/UnityAssemblies/UnityEditor.TreeEditor.dll b/Library/UnityAssemblies/UnityEditor.TreeEditor.dll
index d0443ab..ca5c368 100644
Binary files a/Library/UnityAssemblies/UnityEditor.TreeEditor.dll and b/Library/UnityAssemblies/UnityEditor.TreeEditor.dll differ
diff --git a/Library/UnityAssemblies/UnityEditor.UI.dll b/Library/UnityAssemblies/UnityEditor.UI.dll
index 3718685..d03b046 100644
Binary files a/Library/UnityAssemblies/UnityEditor.UI.dll and b/Library/UnityAssemblies/UnityEditor.UI.dll differ
diff --git a/Library/UnityAssemblies/UnityEditor.UI.xml b/Library/UnityAssemblies/UnityEditor.UI.xml
index 8cdbaca..5a68024 100644
--- a/Library/UnityAssemblies/UnityEditor.UI.xml
+++ b/Library/UnityAssemblies/UnityEditor.UI.xml
@@ -279,6 +279,11 @@
Rectangle in which to draw the preview.
Background image.
+
+
+ Custom editor for the RectMask2d component.
+
+
Custom Editor for the Scrollbar Component.
diff --git a/Library/UnityAssemblies/UnityEditor.WindowsStandalone.Extensions.dll b/Library/UnityAssemblies/UnityEditor.WindowsStandalone.Extensions.dll
index 8ddef14..f48a2b6 100644
Binary files a/Library/UnityAssemblies/UnityEditor.WindowsStandalone.Extensions.dll and b/Library/UnityAssemblies/UnityEditor.WindowsStandalone.Extensions.dll differ
diff --git a/Library/UnityAssemblies/UnityEditor.dll b/Library/UnityAssemblies/UnityEditor.dll
index c8505a6..15a608c 100644
Binary files a/Library/UnityAssemblies/UnityEditor.dll and b/Library/UnityAssemblies/UnityEditor.dll differ
diff --git a/Library/UnityAssemblies/UnityEditor.xml b/Library/UnityAssemblies/UnityEditor.xml
index 32a2054..8ea1af8 100644
--- a/Library/UnityAssemblies/UnityEditor.xml
+++ b/Library/UnityAssemblies/UnityEditor.xml
@@ -19,6 +19,105 @@
Silent exit in case of unhandled .NET exception (no Crash Report generated).
+
+
+ Editor API for the Unity Services editor feature. Normally UnityAds is enabled from the Services window, but if writing your own editor extension, this API can be used.
+
+
+
+
+ Global boolean for enabling or disabling the advertisement feature.
+
+
+
+
+ Controls if the advertisement system should be initialized immediately on startup.
+
+
+
+
+ Controls if testing advertisements are used instead of production advertisements.
+
+
+
+
+ Gets the game identifier specified for a runtime platform.
+
+
+
+ The platform specific game identifier.
+
+
+
+
+ Returns if a specific platform is enabled.
+
+
+
+ Boolean for the platform.
+
+
+
+
+ Sets the game identifier for the specified platform.
+
+
+
+
+
+
+ Enable the specific platform.
+
+
+
+
+
+
+ Navigation mesh builder interface.
+
+
+
+
+ Returns true if an asynchronous build is still running.
+
+
+
+
+ Build the Navmesh.
+
+
+
+
+ Build the Navmesh Asyncronously.
+
+
+
+
+ Builds the combined navmesh for the contents of multiple scenes.
+
+ Array of paths to scenes that are used for building the navmesh.
+
+
+
+ Cancels an asynchronous update of the specified NavMesh data. See Also: UpdateNavMeshDataAsync.
+
+ The data associated with asynchronous updating.
+
+
+
+ Clear all Navmeshes.
+
+
+
+
+ Represents the visualization state of the navigation debug graphics.
+
+
+
+
+ A count of how many users requesting navigation debug graphics to be enabled.
+
+
Hierarchy sort method to allow for items and their children to be sorted alphabetically.
@@ -29,79 +128,114 @@
Content to visualize the alphabetical sorting method.
-
+
- Gamepad support level for Android TV.
+ Editor API for the Unity Services editor feature. Normally Analytics is enabled from the Services window, but if writing your own editor extension, this API can be used.
-
+
- Requires a gamepad for gameplay.
+ This Boolean field will cause the Analytics feature in Unity to be enabled if true, or disabled if false.
-
+
- Game is fully operational with a D-pad, no gamepad needed.
+ Set to true for testing Analytics integration only within the Editor.
-
+
- Works with a gamepad, but does not require it.
+ Normally performance reporting is enabled from the Services window, but if writing your own editor extension, this API can be used.
-
+
- Preferred application install location.
+ This Boolean field causes the performance reporting feature in Unity to be enabled if true, or disabled if false.
-
+
- Let the OS decide, app doesn't have any preferences.
+ Type of Android build system.
-
+
- Force installation into internal memory. Needed for things like Live Wallpapers.
+ Export ADT (legacy) project.
-
+
- Prefer external, if possible. Install to internal otherwise.
+ Build APK using Gradle or export Gradle project.
-
+
- Supported Android SDK versions.
+ Build APK using internal build system.
+
+
+
+
+ Build configurations for the generated project.
+
+
+
+
+ Build configuration set to Debug for the generated project.
+
+
+
+
+ Build configuration set to Development for the generated project.
+
+
+
+
+ Build configuration set to Release for the generated project.
+
+
+
+
+ Gamepad support level for Android TV.
+
+
+
+
+ Requires a gamepad for gameplay.
+
+
+
+
+ Game is fully operational with a D-pad, no gamepad needed.
-
+
- Android 2.3.3, "Gingerbread", API level 10.
+ Works with a gamepad, but does not require it.
-
+
- Android 3.0, "Honeycomb", API level 11.
+ Preferred application install location.
-
+
- Android 3.1, "Honeycomb", API level 12.
+ Let the OS decide, app doesn't have any preferences.
-
+
- Android 3.2, "Honeycomb", API level 13.
+ Force installation into internal memory. Needed for things like Live Wallpapers.
-
+
- Android 4.0, "Ice Cream Sandwich", API level 14.
+ Prefer external, if possible. Install to internal otherwise.
-
+
- Android 4.0.3, "Ice Cream Sandwich", API level 15.
+ Supported Android SDK versions.
@@ -134,9 +268,24 @@
Android 5.1, "Lollipop", API level 22.
-
+
+
+ Android 6.0, "Marshmallow", API level 23.
+
+
+
+
+ Android 7.0, "Nougat", API level 24.
+
+
+
+
+ Android 7.1, "Nougat", API level 25.
+
+
+
- Android 2.3.1, "Gingerbread", API level 9.
+ Sets the target API level automatically, according to the latest installed SDK on your computer.
@@ -428,7 +577,8 @@
- AnimationMode is used by the AnimationWindow to store properties modifed by the AnimationClip playback.
+ AnimationMode is used by the AnimationWindow to store properties modified
+ by the AnimationClip playback.
@@ -436,21 +586,43 @@
The color used to show that a property is currently being animated.
+
+
+ Marks a property as currently being animated.
+
+ Description of the animation clip curve being modified.
+ Object property being modified.
+ Indicates whether to retain modifications when the targeted object is an instance of prefab.
+
+
+
+ Initialise the start of the animation clip sampling.
+
+
+
+
+ Finish the sampling of the animation clip.
+
+
- Are we currently in AnimationMode.
+ Are we currently in AnimationMode?
Is the specified property currently in animation mode and being animated?
-
-
+ The object to determine if it contained the animation.
+ The name of the animation to search for.
+
+ Whether the property search is found or not.
+
- Samples an AnimationClip on the object and also records any modified properties in AnimationMode.
+ Samples an AnimationClip on the object and also records any modified
+ properties in AnimationMode.
@@ -1226,7 +1398,13 @@ Units is normalized time.
- The normalized time of the source state when the condition is true.
+ If AnimatorStateTransition.hasExitTime is true, exitTime represents the exact time at which the transition can take effect.
+
+This is represented in normalized time, so for example an exit time of 0.75 means that on the first frame where 75% of the animation has played, the Exit Time condition will be true. On the next frame, the condition will be false.
+
+For looped animations, transitions with exit times smaller than 1 will be evaluated every loop, so you can use this to time your transition with the proper timing in the animation, every loop.
+
+Transitions with exit times greater than one will be evaluated only once, so they can be used to exit at a specific time, after a fixed number of loops. For example, a transition with an exit time of 3.5 will be evaluated once, after three and a half loops.
@@ -1236,7 +1414,7 @@ Units is normalized time.
- When active the transition duration will have a fixed duration.
+ Determines whether the duration of the transition is reported in a fixed duration in seconds or as a normalized time.
@@ -1318,135 +1496,6 @@ Units is normalized time.
The condition to remove.
-
-
- AvatarMask are used to mask out humanoid body parts and transforms.
-
-
-
-
- Number of transforms.
-
-
-
-
- Creates a new AvatarMask.
-
-
-
-
- Returns true if the humanoid body part at the given index is active.
-
- The index of the humanoid body part.
-
-
-
- Returns true if the transform at the given index is active.
-
- The index of the transform.
-
-
-
- Returns the path of the transform at the given index.
-
- The index of the transform.
-
-
-
- Sets the humanoid body part at the given index to active or not.
-
- The index of the humanoid body part.
- Active or not.
-
-
-
- Sets the tranform at the given index to active or not.
-
- The index of the transform.
- Active or not.
-
-
-
- Sets the path of the transform at the given index.
-
- The index of the transform.
- The path of the transform.
-
-
-
- Avatar body part.
-
-
-
-
- The Body.
-
-
-
-
- The Head.
-
-
-
-
- Total number of body parts.
-
-
-
-
- The Left Arm.
-
-
-
-
- Left Fingers.
-
-
-
-
- Left Foot IK.
-
-
-
-
- Left Hand IK.
-
-
-
-
- The Left Leg.
-
-
-
-
- The Right Arm.
-
-
-
-
- Right Fingers.
-
-
-
-
- Right Foot IK.
-
-
-
-
- Right Hand IK.
-
-
-
-
- The Right Leg.
-
-
-
-
- The Root.
-
-
Blend trees are used to blend continuously animation between their childs. They can either be 1D or 2D.
@@ -1779,6 +1828,36 @@ Units is normalized time.
+
+
+ Retrieve the specified keyframe broken tangent flag.
+
+ Curve to query.
+ Keyframe index.
+
+ Broken flag at specified index.
+
+
+
+
+ Retrieve the left tangent mode of the keyframe at specified index.
+
+ Curve to query.
+ Keyframe index.
+
+ Tangent mode at specified index.
+
+
+
+
+ Retrieve the right tangent mode of the keyframe at specified index.
+
+ Curve to query.
+ Keyframe index.
+
+ Tangent mode at specified index.
+
+
Return the object reference curve that the binding is pointing to.
@@ -1830,6 +1909,30 @@ Units is normalized time.
The bindings which defines the path and the property of the curve.
The curve to add. Setting this to null will remove the curve.
+
+
+ Change the specified keyframe broken tangent flag.
+
+ The curve to modify.
+ Keyframe index.
+ Broken flag.
+
+
+
+ Change the specified keyframe tangent mode.
+
+ The curve to modify.
+ Keyframe index.
+ Tangent mode.
+
+
+
+ Change the specified keyframe tangent mode.
+
+ The curve to modify.
+ Keyframe index.
+ Tangent mode.
+
Adds, modifies or removes an object reference curve in a given clip.
@@ -1838,31 +1941,76 @@ Units is normalized time.
-
+
- .NET API compatibility level.
+ Tangent constraints on Keyframe.
-
+
- .NET 2.0.
+ The tangents are automatically set to make the curve go smoothly through the key.
-
+
- .NET 2.0 Subset.
+ The tangents are automatically set to make the curve go smoothly through the key.
-
+
- Helpers for builtin arrays ...
+ The curve retains a constant value between two keys.
-
+
- Appends item to the end of array.
+ The tangent can be freely set by dragging the tangent handle.
-
+
+
+
+ The tangent points towards the neighboring key.
+
+
+
+
+ .NET API compatibility level.
+
+
+
+
+ .NET 2.0.
+
+
+
+
+ .NET 2.0 Subset.
+
+
+
+
+ .NET 4.6.
+
+
+
+
+ Micro profile, used by Mono scripting backend on iOS, tvOS, Android and Tizen if stripping level is set to "Use micro mscorlib".
+
+
+
+
+ Web profile, used only by Samsung TV.
+
+
+
+
+ Helpers for builtin arrays ...
+
+
+
+
+ Appends item to the end of array.
+
+
@@ -1882,6 +2030,16 @@ Units is normalized time.
True if both have the same number of elements and the contents are equal.
+
+
+ Compares two array references.
+
+
+
+
+ True if both have the same number of elements and are the same instances.
+
+
Clears the array.
@@ -2025,6 +2183,30 @@ Units is normalized time.
An Interface for accessing assets and performing operations on assets.
+
+
+ Callback raised whenever a package import is cancelled by the user.
+
+
+
+
+
+ Callback raised whenever a package import successfully completes.
+
+
+
+
+
+ Callback raised whenever a package import failed.
+
+
+
+
+
+ Callback raised whenever a package import starts.
+
+
+
Adds objectToAdd to an existing asset at path.
@@ -2136,22 +2318,24 @@ Units is normalized time.
- Search the asset database using a search filter string.
+ Search the asset database using the search filter string.
- The filter string can contain search data for: names, asset labels and types (class names).
- Specifying one or more folders will limit the searching to these folders and their child folders (and is faster than searching all assets).
+ The filter string can contain search data. See below for
+ details about this string.
+ The folders where the search will start.
- Array of matching asset GUIDs.
+ Array of matching asset. Note that GUIDs will be returned.
- Search the asset database using a search filter string.
+ Search the asset database using the search filter string.
- The filter string can contain search data for: names, asset labels and types (class names).
- Specifying one or more folders will limit the searching to these folders and their child folders (and is faster than searching all assets).
+ The filter string can contain search data. See below for
+ details about this string.
+ The folders where the search will start.
- Array of matching asset GUIDs.
+ Array of matching asset. Note that GUIDs will be returned.
@@ -2168,6 +2352,16 @@ Units is normalized time.
Array of asset bundle names.
+
+
+ Given an assetBundleName, returns the list of AssetBundles that it depends on.
+
+ The name of the AssetBundle for which dependencies are required.
+ If false, returns only AssetBundles which are direct dependencies of the input; if true, includes all indirect dependencies of the input.
+
+ The names of all AssetBundles that the input depends on.
+
+
Returns the hash of all the dependencies of an asset.
@@ -2268,12 +2462,36 @@ Units is normalized time.
The paths of all assets that the input depends on.
+
+
+ Returns the name of the AssetBundle that a given asset belongs to.
+
+ The asset's path.
+
+ Returns the name of the AssetBundle that a given asset belongs to. See the method description for more details.
+
+
+
+
+ Returns the name of the AssetBundle Variant that a given asset belongs to.
+
+ The asset's path.
+
+ Returns the name of the AssetBundle Variant that a given asset belongs to. See the method description for more details.
+
+
Returns all labels attached to a given asset.
+
+
+ Returns the type of the main asset object at assetPath.
+
+ Filesystem path of the asset to load.
+
Given an absolute path to a directory, this method will return an array of all it's subdirectories.
@@ -2330,6 +2548,19 @@ Units is normalized time.
+
+
+ Delegate to be called from AssetDatabase.ImportPackage callbacks. packageName is the name of the package that raised the callback.
+
+
+
+
+
+ Delegate to be called from AssetDatabase.ImportPackage callbacks. packageName is the name of the package that raised the callback. errorMessage is the reason for the failure.
+
+
+
+
Is asset a foreign asset?
@@ -2358,6 +2589,60 @@ Units is normalized time.
+
+
+ Returns true if the main asset object at assetPath is loaded in memory.
+
+ Filesystem path of the asset to load.
+
+
+
+ Query whether an asset's metadata (.meta) file is open for edit in version control.
+
+ Object representing the asset whose metadata status you wish to query.
+ Returns a reason for the asset metadata not being open for edit.
+ Options for how the version control system should be queried. These options can effect the speed and accuracy of the query.
+
+
+ True if the asset's metadata is considered open for edit by the selected version control system.
+
+
+
+
+ Query whether an asset's metadata (.meta) file is open for edit in version control.
+
+ Object representing the asset whose metadata status you wish to query.
+ Returns a reason for the asset metadata not being open for edit.
+ Options for how the version control system should be queried. These options can effect the speed and accuracy of the query.
+
+
+ True if the asset's metadata is considered open for edit by the selected version control system.
+
+
+
+
+ Query whether an asset's metadata (.meta) file is open for edit in version control.
+
+ Object representing the asset whose metadata status you wish to query.
+ Returns a reason for the asset metadata not being open for edit.
+ Options for how the version control system should be queried. These options can effect the speed and accuracy of the query.
+
+
+ True if the asset's metadata is considered open for edit by the selected version control system.
+
+
+
+
+ Query whether an asset's metadata (.meta) file is open for edit in version control.
+
+ Object representing the asset whose metadata status you wish to query.
+ Returns a reason for the asset metadata not being open for edit.
+ Options for how the version control system should be queried. These options can effect the speed and accuracy of the query.
+
+
+ True if the asset's metadata is considered open for edit by the selected version control system.
+
+
Is asset a native asset?
@@ -2372,52 +2657,108 @@ Units is normalized time.
+
+
+ Query whether an asset file is open for edit in version control.
+
+ Object representing the asset whose status you wish to query.
+ Path to the asset file or its .meta file on disk, relative to project folder.
+ Returns a reason for the asset not being open for edit.
+ Options for how the version control system should be queried. These options can effect the speed and accuracy of the query.
+
+
+ True if the asset is considered open for edit by the selected version control system.
+
+
+
+
+ Query whether an asset file is open for edit in version control.
+
+ Object representing the asset whose status you wish to query.
+ Path to the asset file or its .meta file on disk, relative to project folder.
+ Returns a reason for the asset not being open for edit.
+ Options for how the version control system should be queried. These options can effect the speed and accuracy of the query.
+
+
+ True if the asset is considered open for edit by the selected version control system.
+
+
+
+
+ Query whether an asset file is open for edit in version control.
+
+ Object representing the asset whose status you wish to query.
+ Path to the asset file or its .meta file on disk, relative to project folder.
+ Returns a reason for the asset not being open for edit.
+ Options for how the version control system should be queried. These options can effect the speed and accuracy of the query.
+
+
+ True if the asset is considered open for edit by the selected version control system.
+
+
+
+
+ Query whether an asset file is open for edit in version control.
+
+ Object representing the asset whose status you wish to query.
+ Path to the asset file or its .meta file on disk, relative to project folder.
+ Returns a reason for the asset not being open for edit.
+ Options for how the version control system should be queried. These options can effect the speed and accuracy of the query.
+
+
+ True if the asset is considered open for edit by the selected version control system.
+
+
- Use IsOpenForEdit to determine if the asset is open for edit by the version control.
+ Query whether an asset file is open for edit in version control.
- Is the path to the asset on disk relative to project folder.
- Used to give reason for not open.
-
-
+ Object representing the asset whose status you wish to query.
+ Path to the asset file or its .meta file on disk, relative to project folder.
+ Returns a reason for the asset not being open for edit.
+ Options for how the version control system should be queried. These options can effect the speed and accuracy of the query.
+
- True is the asset can be edited.
+ True if the asset is considered open for edit by the selected version control system.
- Use IsOpenForEdit to determine if the asset is open for edit by the version control.
+ Query whether an asset file is open for edit in version control.
- Is the path to the asset on disk relative to project folder.
- Used to give reason for not open.
-
-
+ Object representing the asset whose status you wish to query.
+ Path to the asset file or its .meta file on disk, relative to project folder.
+ Returns a reason for the asset not being open for edit.
+ Options for how the version control system should be queried. These options can effect the speed and accuracy of the query.
+
- True is the asset can be edited.
+ True if the asset is considered open for edit by the selected version control system.
- Use IsOpenForEdit to determine if the asset is open for edit by the version control.
+ Query whether an asset file is open for edit in version control.
- Is the path to the asset on disk relative to project folder.
- Used to give reason for not open.
-
-
+ Object representing the asset whose status you wish to query.
+ Path to the asset file or its .meta file on disk, relative to project folder.
+ Returns a reason for the asset not being open for edit.
+ Options for how the version control system should be queried. These options can effect the speed and accuracy of the query.
+
- True is the asset can be edited.
+ True if the asset is considered open for edit by the selected version control system.
- Use IsOpenForEdit to determine if the asset is open for edit by the version control.
+ Query whether an asset file is open for edit in version control.
- Is the path to the asset on disk relative to project folder.
- Used to give reason for not open.
-
-
+ Object representing the asset whose status you wish to query.
+ Path to the asset file or its .meta file on disk, relative to project folder.
+ Returns a reason for the asset not being open for edit.
+ Options for how the version control system should be queried. These options can effect the speed and accuracy of the query.
+
- True is the asset can be edited.
+ True if the asset is considered open for edit by the selected version control system.
@@ -2459,7 +2800,7 @@ Units is normalized time.
Path of the asset to load.
Data type of the asset.
- The asset matching the parameters
+ The asset matching the parameters.
@@ -2568,6 +2909,13 @@ Units is normalized time.
+
+
+ Specifies which object in the asset file should become the main object after the next import.
+
+ The object to become the main object.
+ Path to the asset file.
+
Begin Asset importing. This lets you group several asset imports together into one larger import.
@@ -2659,7 +3007,8 @@ Units is normalized time.
- AssetModificationProcessor lets you hook into saving of serialized assets and scenes which are edited inside Unity.
+ AssetModificationProcessor lets you hook into saving of serialized assets and
+ scenes which are edited inside Unity.
@@ -2785,6 +3134,71 @@ Units is normalized time.
The number of previews that can be loaded into the cache before the least used previews are being unloaded.
+
+
+ Antialiased curve rendering functionality used by audio tools in the editor.
+
+
+
+
+ Curve evaluation function that allows simultaneous evaluation of the curve y-value and a color of the curve at that point.
+
+ Normalized x-position in the range [0; 1] at which the curve should be evaluated.
+ Color of the curve at the evaluated point.
+
+
+
+ Curve evaluation function used to evaluate the curve y-value and at the specified point.
+
+ Normalized x-position in the range [0; 1] at which the curve should be evaluated.
+
+
+
+ Curve evaluation function that allows simultaneous evaluation of the min- and max-curves. The returned minValue and maxValue values are expected to be in the range [-1; 1] and a value of 0 corresponds to the vertical center of the rectangle that is drawn into. Values outside of this range will be clamped. Additionally the color of the curve at this point is evaluated.
+
+ Normalized x-position in the range [0; 1] at which the min- and max-curves should be evaluated.
+ Color of the curve at the specified evaluation point.
+ Returned value of the minimum curve. Clamped to [-1; 1].
+ Returned value of the maximum curve. Clamped to [-1; 1].
+
+
+
+ Renders a thin curve determined by the curve evaluation function. The solid color of the curve is set by the curveColor argument.
+
+ Rectangle determining the size of the graph.
+ Curve evaluation function.
+ Solid fill color of the curve. The alpha-channel determines the amount of opacity.
+
+
+
+ Fills the area between the curve evaluated by the AudioCurveAndColorEvaluator provided and the bottom of the rectngle with smooth gradients along the edges.
+
+ Rectangle determining the size of the graph.
+ Normalized x-position in the range [0; 1] at which the curve should be evaluated. The returned value is expected to be in the range [-1; 1] and a value of 0 corresponds to the vertical center of the rectangle that is drawn into. Values outside of this range will be clamped.
+ Solid fill color of the curve. The alpha-channel determines the amount of opacity.
+
+
+
+ Fills the area between the curve evaluated by the AudioCurveAndColorEvaluator provided and the bottom of the rectngle with smooth gradients along the edges.
+
+ Rectangle determining the size of the graph.
+ Normalized x-position in the range [0; 1] at which the curve should be evaluated. The returned value is expected to be in the range [-1; 1] and a value of 0 corresponds to the vertical center of the rectangle that is drawn into. Values outside of this range will be clamped.
+ Solid fill color of the curve. The alpha-channel determines the amount of opacity.
+
+
+
+ Fills the area between the two curves evaluated by the AudioMinMaxCurveAndColorEvaluator provided with smooth gradients along the edges.
+
+ Rectangle determining the size of the graph.
+ Normalized x-position in the range [0; 1] at which the min- and max-curves should be evaluated. The returned minValue and maxValue values are expected to be in the range [-1; 1] and a value of 0 corresponds to the vertical center of the rectangle that is drawn into. Values outside of this range will be clamped.
+
+
+
+ Fills the area between the curve evaluated by the AudioCurveAndColorEvaluator provided and its vertical mirror image with smooth gradients along the edges. Useful for drawing amplitude plots of audio signals.
+
+ Rectangle determining the size of the graph.
+ Normalized x-position in the range [0; 1] at which the curve should be evaluated. The returned value is expected to be in the range [0; 1] and a value of 0 corresponds to the vertical center of the rectangle that is drawn into. Values outside of this range will be clamped.
+
Audio importer lets you modify AudioClip import settings from editor scripts.
@@ -2923,6 +3337,70 @@ Amount of compression. The value roughly corresponds to the ratio between the re
+
+
+ An exception class that represents a failed build.
+
+
+
+
+ Constructs a BuildFailedException object.
+
+ The error that caused the build to fail.
+ The exception that caused the build to fail.
+
+
+
+ Constructs a BuildFailedException object.
+
+ The error that caused the build to fail.
+ The exception that caused the build to fail.
+
+
+
+ Interface that provides control over callback order.
+
+
+
+
+ Returns the relative callback order for callbacks. Callbacks with lower values are called before ones with higher values.
+
+
+
+
+ Implement this interface to receive a callback after the build is complete.
+
+
+
+
+ Implement this function to receive a callback after the build is complete.
+
+
+
+
+
+
+ Implement this interface to receive a callback before the build is started.
+
+
+
+
+ Implement this function to receive a callback before the build is started.
+
+
+
+
+
+
+ Implement this interface to receive a callback for each Scene during the build.
+
+
+
+
+ Implement this function to receive a callback for each Scene during the build.
+
+ The current Scene being processed.
+
Asset Bundle building options.
@@ -2958,6 +3436,11 @@ Amount of compression. The value roughly corresponds to the ratio between the re
Do not include type information within the AssetBundle.
+
+
+ Do a dry run build.
+
+
Force rebuild the assetBundles.
@@ -2973,6 +3456,11 @@ Amount of compression. The value roughly corresponds to the ratio between the re
Build assetBundle without any special option.
+
+
+ Do not allow the build to succeed if any errors are reporting during it.
+
+
Don't compress the data when creating the asset bundle.
@@ -3008,6 +3496,16 @@ Amount of compression. The value roughly corresponds to the ratio between the re
Build only the scripts of a project.
+
+
+ Use chunk-based Lz4 compression when building the Player.
+
+
+
+
+ Sets the Player to connect to the Editor.
+
+
Start the player with a connection to the profiler in the editor.
@@ -3043,6 +3541,11 @@ Amount of compression. The value roughly corresponds to the ratio between the re
Show the built player.
+
+
+ Do not allow the build to succeed if any errors are reporting during it.
+
+
Symlink runtime libraries when generating iOS Xcode project. (Faster iteration time).
@@ -3212,21 +3715,48 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
Output path for the AssetBundles.
AssetBundle building options.
- Target build platform.
+ Chosen target build platform.
+
+ The manifest listing all AssetBundles included in this build.
+
Build AssetBundles from a building map.
Output path for the AssetBundles.
+ AssetBundle building map.
AssetBundle building options.
Target build platform.
- AssetBundle building map.
+
+ The manifest listing all AssetBundles included in this build.
+
-
+
Builds a player.
+ Provide various options to control the behavior of BuildPipeline.BuildPlayer.
+
+ An error message if an error occurred.
+
+
+
+
+ Builds a player. These overloads are still supported, but will be replaces by BuildPlayer (BuildPlayerOptions). Please use it instead.
+
+ The scenes to be included in the build. If empty, the currently open scene will be built. Paths are relative to the project folder (AssetsMyLevelsMyScene.unity).
+ The path where the application will be built.
+ The BuildTarget to build.
+ Additional BuildOptions, like whether to run the built player.
+
+ An error message if an error occurred.
+
+
+
+
+ Builds a player. These overloads are still supported, but will be replaces by BuildPlayer (BuildPlayerOptions). Please use it instead.
+
The scenes to be included in the build. If empty, the currently open scene will be built. Paths are relative to the project folder (AssetsMyLevelsMyScene.unity).
The path where the application will be built.
The BuildTarget to build.
@@ -3311,44 +3841,74 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
Lets you manage cross-references and dependencies between different asset bundles and player builds.
-
+
- Target build platform.
+ Provide various options to control the behavior of BuildPipeline.BuildPlayer.
-
+
- Build an iOS player.
+ The path to an manifest file describing all of the asset bundles used in the build (optional).
-
+
- OBSOLETE: Use iOS. Build an iOS player.
+ The path where the application will be built.
-
+
- Build to Apple's tvOS platform.
+ Additional BuildOptions, like whether to run the built player.
-
+
- Build an Android .apk standalone app.
+ The scenes to be included in the build. If empty, the currently open scene will be built. Paths are relative to the project folder (AssetsMyLevelsMyScene.unity).
-
+
- Build to Nintendo 3DS platform.
+ The BuildTarget to build.
-
+
- Build a PS3 Standalone.
+ The BuildTargetGroup to build.
-
+
- Build a PS4 Standalone.
+ Target build platform.
+
+
+
+
+ Build an iOS player.
+
+
+
+
+ OBSOLETE: Use iOS. Build an iOS player.
+
+
+
+
+ Build to Apple's tvOS platform.
+
+
+
+
+ Build an Android .apk standalone app.
+
+
+
+
+ Build to Nintendo 3DS platform.
+
+
+
+
+ Build a PS4 Standalone.
@@ -3378,17 +3938,17 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
- Build an OS X standalone (Intel only).
+ Build a macOS standalone (Intel only).
- Build an OSX Intel 64-bit standalone.
+ Build a macOS Intel 64-bit standalone.
- Build a universal OSX standalone.
+ Build a universal macOS standalone.
@@ -3401,6 +3961,11 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
Build a Windows 64-bit standalone.
+
+
+ Build a Nintendo Switch player.
+
+
Build a Tizen player.
@@ -3431,11 +3996,6 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
Build an Windows Store Apps player.
-
-
- Build a XBox Standalone.
-
-
Build a Xbox One Standalone.
@@ -3466,21 +4026,16 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
Android target.
-
+
- GLESEmu target.
+ Facebook target.
-
+
Nintendo 3DS target.
-
-
- Sony Playstation 3 target.
-
-
Sony Playstation 4 target.
@@ -3501,6 +4056,11 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
Mac/PC standalone target.
+
+
+ Nintendo Switch target.
+
+
Samsung Tizen target.
@@ -3531,11 +4091,6 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
Windows Store Apps target.
-
-
- Microsoft XBOX360 target.
-
-
Microsoft Xbox One target.
@@ -3575,7 +4130,7 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
- Add this attribute to get a callback just before building the scene.
+ Add this attribute to a method to get a notification just after building the scene.
@@ -3613,6 +4168,11 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
A mask containing all the transform in the file will be created internally.
+
+
+ No Mask. All the animation will be imported.
+
+
Used as input to ColorField to configure the HDR color ranges in the ColorPicker.
@@ -3647,6 +4207,21 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
Minimum exposure value used in the tonemapping section of the Color Picker.
Maximum exposure value used in the tonemapping section of the Color Picker.
+
+
+ Editor API for the Unity Services editor feature. Normally CrashReporting is enabled from the Services window, but if writing your own editor extension, this API can be used.
+
+
+
+
+ This Boolean field will cause the CrashReporting feature in Unity to capture exceptions that occur in the editor while running in Play mode if true, or ignore those errors if false.
+
+
+
+
+ This Boolean field will cause the CrashReporting feature in Unity to be enabled if true, or disabled if false.
+
+
Tells an Editor class which run-time type it's an editor for.
@@ -3731,6 +4306,16 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
Fullscreen window.
+
+
+ Texture importer lets you modify Texture2D import settings for DDS textures from editor scripts.
+
+
+
+
+ Is texture data readable from scripts.
+
+
Base class to derive custom decorator drawers from.
@@ -3748,7 +4333,8 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
- Override this method to make your own GUI for the decorator.
+ Override this method to make your own GUI for the decorator.
+See DecoratorDrawer for an example of how to use this.
Rectangle on the screen to use for the decorator GUI.
@@ -3858,27 +4444,62 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
- Draw objects with the albedo component only.
+ Draw objects with the albedo component only. This value has been deprecated. Please use DrawCameraMode.RealtimeAlbedo.
- Display alpha channel of the rendering.
+ The camera is set to display the alpha channel of the rendering.
- Draw objects with baked GI only.
+ Draw objects with baked GI only. This value has been deprecated. Please use DrawCameraMode.BakedLightmap.
+
+
+
+
+ Draw objects with the baked albedo component only.
+
+
+
+
+ Draw objects with different colors for each baked chart (UV island).
+
+
+
+
+ Draw objects with the baked directionality component only.
+
+
+
+
+ Draw objects with the baked emission component only.
+
+
+
+
+ Draw objects with baked indices only.
+
+
+
+
+ Draw objects with the baked lightmap only.
+
+
+
+
+ Draw objects with baked texel validity only.
- Draw objects with different color for each chart (UV island).
+ Draw objects with different colors for each real-time chart (UV island).
- Draw with different color for each cluster.
+ Draw with different colors for each cluster.
@@ -3903,17 +4524,22 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
- Draw objects with directionality for real-time GI.
+ Draw objects with directionality for real-time GI. This value has been deprecated. Please use DrawCameraMode.RealtimeDirectionality.
- Draw objects with the emission component only.
+ Draw objects with the emission component only. This value has been deprecated. Please use DrawCameraMode.RealtimeEmissive.
- Draw objects with real-time GI only.
+ Draw objects with real-time GI only. This value has been deprecated. Please use DrawCameraMode.RealtimeIndirect.
+
+
+
+
+ The camera is set to show in red static lights that fall back to 'static' because more than four light volumes are overlapping.
@@ -3923,7 +4549,7 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
- Display texture resolution, with red tint indicating too high resolution, and blue tint indicating texture sizes that could be higher.
+ The camera is set to display the texture resolution, with a red tint indicating resolution that is too high, and a blue tint indicating texture sizes that could be higher.
@@ -3933,17 +4559,47 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
- Display scene overdraw, with brighter colors indicating more overdraw.
+ The camera is set to display Scene overdraw, with brighter colors indicating more overdraw.
+
+
+
+
+ Draw objects with the real-time GI albedo component only.
+
+
+
+
+ Draw objects with different colors for each real-time chart (UV island).
+
+
+
+
+ Draw objects with the real-time GI directionality component only.
+
+
+
+
+ Draw objects with the real-time GI emission component only.
+
+
+
+
+ Draw objects with the real-time GI indirect light only.
- Draw color-coded render paths.
+ The camera is set to draw color coded render paths.
- Draw directional light shadowmap cascades.
+ The camera is set to draw directional light shadow map cascades.
+
+
+
+
+ The camera is set to display colored ShadowMasks, coloring light gizmo with the same color.
@@ -3961,6 +4617,16 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
Draw the camera where all objects have a wireframe overlay. and no background clearing.
+
+
+ The camera is set to draw a physically based, albedo validated rendering.
+
+
+
+
+ The camera is set to draw a physically based, metal or specular validated rendering.
+
+
Draw the camera in wireframe and no background clearing.
@@ -4026,6 +4692,26 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
+
+
+ Creates a cached editor using a context object.
+
+
+
+
+
+
+
+
+
+ Creates a cached editor using a context object.
+
+
+
+
+
+
+
Make a custom editor for targetObject or targetObjects.
@@ -4062,6 +4748,14 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
+
+
+ Make a custom editor for targetObject or targetObjects with a context object.
+
+
+
+
+
Draw the built-in inspector.
@@ -4160,6 +4854,11 @@ These will be used as asset names, which you can then pass to AssetBundle.Load t
Returns the path to the Unity editor application. (Read Only)
+
+
+ Callback raised whenever the user contex-clicks on a property in an Inspector.
+
+
The path of the scene that the user has currently open (Will be an empty string if no scene is currently open). (Read Only)
@@ -4213,9 +4912,14 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
Is true if the currently open scene in the editor contains unsaved modifications.
+
+
+ Returns true if the current project was created as a temporary project.
+
+
- Is editor currently updating? (Read Only)
+ True if the Editor is currently refreshing the AssetDatabase.
@@ -4374,7 +5078,7 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
- Ask the user if he wants to save the open scene.
+ Ask the user if they want to save the open scene.
@@ -4407,6 +5111,19 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
True if the save succeeded, otherwise false.
+
+
+ Delegate to be called from EditorApplication contextual inspector callbacks.
+
+ The contextual menu which is about to be shown to the user.
+ The property for which the contextual menu is shown.
+
+
+
+ Sets the path that Unity should store the current temporary project at, when the project is closed.
+
+ The path that the current temporary project should be relocated to when closing it.
+
Perform a single frame step.
@@ -4417,6 +5134,42 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
Must be called after LockReloadAssemblies, to reenable loading of assemblies.
+
+
+ This class allows you to modify the Editor for an example of how to use this class.
+
+See Also: EditorBuildSettingsScene, EditorBuildSettings.scenes.
+
+
+
+
+ The list of Scenes that should be included in the build.
+This is the same list of Scenes that is shown in the window. You can modify this list to set up which Scenes should be included in the build.
+
+
+
+
+ This class is used for entries in the Scenes list, as displayed in the window. This class contains the scene path of a scene and an enabled flag that indicates wether the scene is enabled in the BuildSettings window or not.
+
+You can use this class in combination with EditorBuildSettings.scenes to populate the list of Scenes included in the build via script. This is useful when creating custom editor scripts to automate your build pipeline.
+
+See EditorBuildSettings.scenes for an example script.
+
+
+
+
+ Whether this scene is enabled in the for an example of how to use this class.
+
+See Also: EditorBuildSettingsScene, EditorBuildSettings.scenes.
+
+
+
+
+ The file path of the scene as listed in the Editor for an example of how to use this class.
+
+See Also: EditorBuildSettingsScene, EditorBuildSettings.scenes.
+
+
Defines how a curve is attached to an object that it controls.
@@ -4496,6 +5249,21 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
The value entered by the user.
+
+
+ Check if any control was changed inside a block of code.
+
+
+
+
+ True if GUI.changed was set to true, otherwise false.
+
+
+
+
+ Begins a ChangeCheckScope.
+
+
Make a field for selecting a Color.
@@ -4642,7 +5410,61 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
The curve to edit.
The color to show the curve with.
Optional rectangle that the curve is restrained within.
-
+ Optional label to display in front of the field. Pass [[GUIContent.none] to hide the label.
+
+
+
+ Make a field for editing an AnimationCurve.
+
+ Rectangle on the screen to use for the field.
+ The curve to edit.
+ The color to show the curve with.
+ Optional rectangle that the curve is restrained within.
+ Optional label to display in front of the field. Pass [[GUIContent.none] to hide the label.
+
+
+
+ Make a delayed text field for entering doubles.
+
+ Rectangle on the screen to use for the double field.
+ Optional label to display in front of the double field.
+ The value to edit.
+ Optional GUIStyle.
+
+ The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the double field.
+
+
+
+
+ Make a delayed text field for entering doubles.
+
+ Rectangle on the screen to use for the double field.
+ Optional label to display in front of the double field.
+ The value to edit.
+ Optional GUIStyle.
+
+ The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the double field.
+
+
+
+
+ Make a delayed text field for entering doubles.
+
+ Rectangle on the screen to use for the double field.
+ Optional label to display in front of the double field.
+ The value to edit.
+ Optional GUIStyle.
+
+ The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the double field.
+
+
+
+
+ Make a delayed text field for entering doubles.
+
+ Rectangle on the screen to use for the double field.
+ The double property to edit.
+ Optional label to display in front of the double field. Pass GUIContent.none to hide label.
@@ -4787,6 +5609,17 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
Boolean specifying if the controls inside the group should be disabled.
+
+
+ Create a group of controls that can be disabled.
+
+
+
+
+ Create a new DisabledScope and begin the corresponding group.
+
+ Boolean specifying if the controls inside the group should be disabled.
+
Make a text field for entering doubles.
@@ -4897,6 +5730,30 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
How to scale the image when the aspect ratio of it doesn't fit the aspect ratio to be drawn within.
Aspect ratio to use for the source image. If 0 (the default), the aspect ratio from the image is used.
+
+
+ Make a button that reacts to mouse down, for displaying your own dropdown content.
+
+ Rectangle on the screen to use for the button.
+ Text, image and tooltip for this button.
+ Whether the button should be selectable by keyboard or not.
+ Optional style to use.
+
+ true when the user clicks the button.
+
+
+
+
+ Make a button that reacts to mouse down, for displaying your own dropdown content.
+
+ Rectangle on the screen to use for the button.
+ Text, image and tooltip for this button.
+ Whether the button should be selectable by keyboard or not.
+ Optional style to use.
+
+ true when the user clicks the button.
+
+
Draws a label with a drop shadow.
@@ -5032,6 +5889,18 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
Internal version that also gives you back which flags were changed and what they were changed to.
+
+
+ Make an enum popup selection field for a bitmask.
+
+ Rectangle on the screen to use for the field.
+ Optional label in front of the field.
+ The enum options the field shows.
+ Optional GUIStyle.
+
+ The enum options that has been selected by the user.
+
+
Make an enum popup selection field for a bitmask.
@@ -5567,7 +6436,7 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
Rectangle on the screen to use for the field.
The SerializedProperty to use for the control.
An array with the displayed options the user can choose from.
- An array with the values for each option. If optionValues a direct mapping of selectedValue to displayedOptions is assumed.
+ An array with the values for each option. If optionValues a direct mapping of selectedValue to displayedOptions is assumed.
Optional label in front of the field.
@@ -5577,7 +6446,7 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
Rectangle on the screen to use for the field.
The SerializedProperty to use for the control.
An array with the displayed options the user can choose from.
- An array with the values for each option. If optionValues a direct mapping of selectedValue to displayedOptions is assumed.
+ An array with the values for each option. If optionValues a direct mapping of selectedValue to displayedOptions is assumed.
Optional label in front of the field.
@@ -5795,7 +6664,7 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
- Make a text field for entering integers.
+ Make a text field for entering long integers.
Rectangle on the screen to use for the long field.
Optional label to display in front of the long field.
@@ -5807,7 +6676,7 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
- Make a text field for entering integers.
+ Make a text field for entering long integers.
Rectangle on the screen to use for the long field.
Optional label to display in front of the long field.
@@ -5819,7 +6688,7 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
- Make a text field for entering integers.
+ Make a text field for entering long integers.
Rectangle on the screen to use for the long field.
Optional label to display in front of the long field.
@@ -5829,9 +6698,9 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
The value entered by the user.
-
+
- Make a text field for entering integers.
+ Make a text field for entering long integers.
Rectangle on the screen to use for the long field.
Optional label to display in front of the long field.
@@ -5841,9 +6710,9 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
The value entered by the user.
-
+
- Make a text field for entering integers.
+ Make a text field for entering long integers.
Rectangle on the screen to use for the long field.
Optional label to display in front of the long field.
@@ -5853,21 +6722,9 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
The value entered by the user.
-
+
- Make a text field for entering integers.
-
- Rectangle on the screen to use for the long field.
- Optional label to display in front of the long field.
- The value to edit.
- Optional GUIStyle.
-
- The value entered by the user.
-
-
-
-
- Make a field for masks.
+ Make a field for masks.
Rectangle on the screen to use for this control.
Label for the field.
@@ -5953,9 +6810,8 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
Make a special slider the user can use to specify a range between a min and a max.
- Optional label in front of the slider.
Rectangle on the screen to use for the slider.
- The value the slider shows. This determines the position of the draggable thumb.
+ Optional label in front of the slider.
The lower value of the range the slider shows, passed by reference.
The upper value at the range the slider shows, passed by reference.
The limit at the left end of the slider.
@@ -5965,9 +6821,30 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
Make a special slider the user can use to specify a range between a min and a max.
+ Rectangle on the screen to use for the slider.
Optional label in front of the slider.
+ The lower value of the range the slider shows, passed by reference.
+ The upper value at the range the slider shows, passed by reference.
+ The limit at the left end of the slider.
+ The limit at the right end of the slider.
+
+
+
+ Make a special slider the user can use to specify a range between a min and a max.
+
Rectangle on the screen to use for the slider.
- The value the slider shows. This determines the position of the draggable thumb.
+ Optional label in front of the slider.
+ The lower value of the range the slider shows, passed by reference.
+ The upper value at the range the slider shows, passed by reference.
+ The limit at the left end of the slider.
+ The limit at the right end of the slider.
+
+
+
+ Make a special slider the user can use to specify a range between a min and a max.
+
+ Rectangle on the screen to use for the slider.
+ Optional label in front of the slider.
The lower value of the range the slider shows, passed by reference.
The upper value at the range the slider shows, passed by reference.
The limit at the left end of the slider.
@@ -6087,6 +6964,42 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
The object that has been set by the user.
+
+
+ Make an object field. You can assign objects either by drag and drop objects or by selecting an object using the Object Picker.
+
+ Rectangle on the screen to use for the field.
+ The object reference property the field shows.
+ The type of the objects that can be assigned.
+ Optional label to display in front of the field. Pass GUIContent.none to hide the label.
+
+
+
+ Make an object field. You can assign objects either by drag and drop objects or by selecting an object using the Object Picker.
+
+ Rectangle on the screen to use for the field.
+ The object reference property the field shows.
+ The type of the objects that can be assigned.
+ Optional label to display in front of the field. Pass GUIContent.none to hide the label.
+
+
+
+ Make an object field. You can assign objects either by drag and drop objects or by selecting an object using the Object Picker.
+
+ Rectangle on the screen to use for the field.
+ The object reference property the field shows.
+ The type of the objects that can be assigned.
+ Optional label to display in front of the field. Pass GUIContent.none to hide the label.
+
+
+
+ Make an object field. You can assign objects either by drag and drop objects or by selecting an object using the Object Picker.
+
+ Rectangle on the screen to use for the field.
+ The object reference property the field shows.
+ The type of the objects that can be assigned.
+ Optional label to display in front of the field. Pass GUIContent.none to hide the label.
+
Make a text field where the user can enter a password.
@@ -6845,8 +7758,9 @@ Each time an object is (or a group of objects are) created, renamed, parented, u
Begin a horizontal group and get its rect back.
Optional GUIStyle.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -6854,8 +7768,9 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Begin a horizontal group and get its rect back.
Optional GUIStyle.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -6973,8 +7888,9 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Begin a vertical group and get its rect back.
Optional GUIStyle.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting properties.
+ Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -6982,8 +7898,19 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Begin a vertical group and get its rect back.
Optional GUIStyle.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting properties.
+ Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+
+
+ Begin a vertical group and get its rect back.
+
+ Optional GUIStyle.
+ An optional list of layout options that specify extra layouting properties.
+ Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -6998,7 +7925,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label to display above the field.
The value to edit.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7011,7 +7938,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label to display above the field.
The value to edit.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7024,7 +7951,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label to display above the field.
The value to edit.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7041,7 +7968,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
If true, treat the color as an HDR value. If false, treat it as a standard LDR value.
An object that sets the presentation parameters for an HDR color. If not using an HDR color, set this to null.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The color selected by the user.
@@ -7058,7 +7985,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
If true, treat the color as an HDR value. If false, treat it as a standard LDR value.
An object that sets the presentation parameters for an HDR color. If not using an HDR color, set this to null.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The color selected by the user.
@@ -7075,7 +8002,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
If true, treat the color as an HDR value. If false, treat it as a standard LDR value.
An object that sets the presentation parameters for an HDR color. If not using an HDR color, set this to null.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The color selected by the user.
@@ -7092,7 +8019,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
If true, treat the color as an HDR value. If false, treat it as a standard LDR value.
An object that sets the presentation parameters for an HDR color. If not using an HDR color, set this to null.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The color selected by the user.
@@ -7107,7 +8034,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The color to show the curve with.
Optional rectangle that the curve is restrained within.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The curve edited by the user.
@@ -7122,7 +8049,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The color to show the curve with.
Optional rectangle that the curve is restrained within.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The curve edited by the user.
@@ -7137,7 +8064,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The color to show the curve with.
Optional rectangle that the curve is restrained within.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The curve edited by the user.
@@ -7152,7 +8079,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The color to show the curve with.
Optional rectangle that the curve is restrained within.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The curve edited by the user.
@@ -7167,7 +8094,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The color to show the curve with.
Optional rectangle that the curve is restrained within.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The curve edited by the user.
@@ -7182,13 +8109,25 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The color to show the curve with.
Optional rectangle that the curve is restrained within.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The curve edited by the user.
-
+
+
+ Make a field for editing an AnimationCurve.
+
+ The curve to edit.
+ The color to show the curve with.
+ Optional rectangle that the curve is restrained within.
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+ Optional label to display in front of the field. Pass [[GUIContent.none] to hide the label.
+
+
Make a field for editing an AnimationCurve.
@@ -7196,8 +8135,129 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The color to show the curve with.
Optional rectangle that the curve is restrained within.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+ Optional label to display in front of the field. Pass [[GUIContent.none] to hide the label.
+
+
+
+ Make a delayed text field for entering doubles.
+
+ Optional label to display in front of the double field.
+ The value to edit.
+ Optional GUIStyle.
+
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+ See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+
+ The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the double field.
+
+
+
+
+ Make a delayed text field for entering doubles.
+
+ Optional label to display in front of the double field.
+ The value to edit.
+ Optional GUIStyle.
+
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+ See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+
+ The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the double field.
+
+
+
+
+ Make a delayed text field for entering doubles.
+
+ Optional label to display in front of the double field.
+ The value to edit.
+ Optional GUIStyle.
+
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+ See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+
+ The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the double field.
+
+
+
+
+ Make a delayed text field for entering doubles.
+
+ Optional label to display in front of the double field.
+ The value to edit.
+ Optional GUIStyle.
+
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+ See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+
+ The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the double field.
+
+
+
+
+ Make a delayed text field for entering doubles.
+
+ Optional label to display in front of the double field.
+ The value to edit.
+ Optional GUIStyle.
+
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+ See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+
+ The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the double field.
+
+
+
+
+ Make a delayed text field for entering doubles.
+
+ Optional label to display in front of the double field.
+ The value to edit.
+ Optional GUIStyle.
+
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+ See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+
+ The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the double field.
+
+
+
+
+ Make a delayed text field for entering doubles.
+
+ The double property to edit.
+ Optional label to display in front of the double field. Pass GUIContent.none to hide label.
+
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+ See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+
+
+
+ Make a delayed text field for entering doubles.
+
+ The double property to edit.
+ Optional label to display in front of the double field. Pass GUIContent.none to hide label.
+
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+ See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
@@ -7207,7 +8267,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the float field.
@@ -7221,7 +8281,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the float field.
@@ -7235,7 +8295,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the float field.
@@ -7249,7 +8309,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the float field.
@@ -7263,7 +8323,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the float field.
@@ -7277,7 +8337,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the float field.
@@ -7290,7 +8350,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The float property to edit.
Optional label to display in front of the float field. Pass GUIContent.none to hide label.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7300,7 +8360,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The float property to edit.
Optional label to display in front of the float field. Pass GUIContent.none to hide label.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7311,7 +8371,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the int field.
@@ -7325,7 +8385,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the int field.
@@ -7339,7 +8399,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the int field.
@@ -7353,7 +8413,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the int field.
@@ -7367,7 +8427,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the int field.
@@ -7381,7 +8441,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the int field.
@@ -7394,7 +8454,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The int property to edit.
Optional label to display in front of the int field. Pass GUIContent.none to hide label.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7404,7 +8464,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The int property to edit.
Optional label to display in front of the int field. Pass GUIContent.none to hide label.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7415,7 +8475,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the text field.
@@ -7429,7 +8489,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the text field.
@@ -7443,7 +8503,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the text field.
@@ -7457,7 +8517,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the text field.
@@ -7471,7 +8531,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the text field.
@@ -7485,7 +8545,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user. Note that the return value will not change until the user has pressed enter or focus is moved away from the text field.
@@ -7498,7 +8558,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text property to edit.
Optional label to display in front of the int field. Pass GUIContent.none to hide label.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7508,7 +8568,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text property to edit.
Optional label to display in front of the int field. Pass GUIContent.none to hide label.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7519,7 +8579,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7533,7 +8593,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7547,7 +8607,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7561,7 +8621,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7575,7 +8635,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7589,12 +8649,40 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
+
+
+ Make a button that reacts to mouse down, for displaying your own dropdown content.
+
+ Text, image and tooltip for this button.
+ Whether the button should be selectable by keyboard or not.
+ Optional style to use.
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+ true when the user clicks the button.
+
+
+
+
+ Make a button that reacts to mouse down, for displaying your own dropdown content.
+
+ Text, image and tooltip for this button.
+ Whether the button should be selectable by keyboard or not.
+ Optional style to use.
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+ true when the user clicks the button.
+
+
Closes a group started with BeginFadeGroup.
@@ -7627,7 +8715,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Prefix label for this field.
Enum to use for the flags.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7641,7 +8729,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Prefix label for this field.
Enum to use for the flags.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7655,7 +8743,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Prefix label for this field.
Enum to use for the flags.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7669,7 +8757,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Prefix label for this field.
Enum to use for the flags.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7683,7 +8771,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Prefix label for this field.
Enum to use for the flags.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7697,13 +8785,37 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Prefix label for this field.
Enum to use for the flags.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value modified by the user.
+
+
+ Make an enum popup selection field for a bitmask.
+
+ Optional label in front of the field.
+ The enum options the field shows.
+ Optional layout options.
+ Optional GUIStyle.
+
+ The enum options that has been selected by the user.
+
+
+
+
+ Make an enum popup selection field for a bitmask.
+
+ Optional label in front of the field.
+ The enum options the field shows.
+ Optional layout options.
+ Optional GUIStyle.
+
+ The enum options that has been selected by the user.
+
+
Make an enum popup selection field for a bitmask.
@@ -7711,6 +8823,19 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional label in front of the field.
The enum options the field shows.
Optional layout options.
+ Optional GUIStyle.
+
+ The enum options that has been selected by the user.
+
+
+
+
+ Make an enum popup selection field for a bitmask.
+
+ Optional label in front of the field.
+ The enum options the field shows.
+ Optional layout options.
+ Optional GUIStyle.
The enum options that has been selected by the user.
@@ -7723,7 +8848,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The enum option the field shows.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The enum option that has been selected by the user.
@@ -7737,7 +8862,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The enum option the field shows.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The enum option that has been selected by the user.
@@ -7751,7 +8876,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The enum option the field shows.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The enum option that has been selected by the user.
@@ -7765,7 +8890,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The enum option the field shows.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The enum option that has been selected by the user.
@@ -7779,7 +8904,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The enum option the field shows.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The enum option that has been selected by the user.
@@ -7793,7 +8918,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The enum option the field shows.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The enum option that has been selected by the user.
@@ -7823,7 +8948,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7837,7 +8962,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7851,7 +8976,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7865,7 +8990,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7879,7 +9004,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7893,7 +9018,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -7906,6 +9031,19 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The shown foldout state.
The label to show.
Optional GUIStyle.
+ Whether to toggle the foldout state when the label is clicked.
+
+ The foldout state selected by the user. If true, you should render sub-objects.
+
+
+
+
+ Make a label with a foldout arrow to the left of it.
+
+ The shown foldout state.
+ The label to show.
+ Optional GUIStyle.
+ Whether to toggle the foldout state when the label is clicked.
The foldout state selected by the user. If true, you should render sub-objects.
@@ -7917,6 +9055,19 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The shown foldout state.
The label to show.
Optional GUIStyle.
+ Whether to toggle the foldout state when the label is clicked.
+
+ The foldout state selected by the user. If true, you should render sub-objects.
+
+
+
+
+ Make a label with a foldout arrow to the left of it.
+
+ The shown foldout state.
+ The label to show.
+ Optional GUIStyle.
+ Whether to toggle the foldout state when the label is clicked.
The foldout state selected by the user. If true, you should render sub-objects.
@@ -7928,6 +9079,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The shown foldout state.
The label to show.
Optional GUIStyle.
+ Whether to toggle the foldout state when the label is clicked.
The foldout state selected by the user. If true, you should render sub-objects.
@@ -7939,6 +9091,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The shown foldout state.
The label to show.
Optional GUIStyle.
+ Whether to toggle the foldout state when the label is clicked.
The foldout state selected by the user. If true, you should render sub-objects.
@@ -7950,8 +9103,8 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional boolean to specify if the control has a label. Default is true.
The height in pixels of the control. Default is EditorGUIUtility.singleLineHeight.
Optional GUIStyle to use for the control.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7961,8 +9114,8 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional boolean to specify if the control has a label. Default is true.
The height in pixels of the control. Default is EditorGUIUtility.singleLineHeight.
Optional GUIStyle to use for the control.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7972,8 +9125,8 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional boolean to specify if the control has a label. Default is true.
The height in pixels of the control. Default is EditorGUIUtility.singleLineHeight.
Optional GUIStyle to use for the control.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -7983,8 +9136,8 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional boolean to specify if the control has a label. Default is true.
The height in pixels of the control. Default is EditorGUIUtility.singleLineHeight.
Optional GUIStyle to use for the control.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8019,7 +9172,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The style to use for background image and padding values. If left out, the background is transparent.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8028,7 +9181,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The style to use for background image and padding values. If left out, the background is transparent.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8061,7 +9214,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -8075,7 +9228,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -8089,7 +9242,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -8103,7 +9256,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -8117,7 +9270,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -8131,7 +9284,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -8147,7 +9300,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the values for each option.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value of the option that has been selected by the user.
@@ -8163,7 +9316,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the values for each option.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value of the option that has been selected by the user.
@@ -8179,7 +9332,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the values for each option.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value of the option that has been selected by the user.
@@ -8195,7 +9348,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the values for each option.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value of the option that has been selected by the user.
@@ -8211,7 +9364,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the values for each option.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value of the option that has been selected by the user.
@@ -8227,7 +9380,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the values for each option.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value of the option that has been selected by the user.
@@ -8243,7 +9396,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the values for each option.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value of the option that has been selected by the user.
@@ -8259,7 +9412,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the values for each option.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value of the option that has been selected by the user.
@@ -8274,7 +9427,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the values for each option.
Optional label in front of the field.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8287,7 +9440,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the values for each option.
Optional label in front of the field.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8300,7 +9453,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the values for each option.
Optional label in front of the field.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8313,7 +9466,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value at the left end of the slider.
The value at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value that has been set by the user.
@@ -8328,7 +9481,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value at the left end of the slider.
The value at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value that has been set by the user.
@@ -8343,7 +9496,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value at the left end of the slider.
The value at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value that has been set by the user.
@@ -8358,7 +9511,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value at the left end of the slider.
The value at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8370,7 +9523,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value at the left end of the slider.
The value at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8382,7 +9535,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value at the left end of the slider.
The value at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8392,7 +9545,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label in front of the label field.
The label to show to the right.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8403,7 +9556,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label in front of the label field.
The label to show to the right.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8414,7 +9567,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label in front of the label field.
The label to show to the right.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8425,7 +9578,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label in front of the label field.
The label to show to the right.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8436,7 +9589,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label in front of the label field.
The label to show to the right.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8447,7 +9600,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label in front of the label field.
The label to show to the right.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8458,7 +9611,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label in front of the label field.
The label to show to the right.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8469,7 +9622,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label in front of the label field.
The label to show to the right.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8481,7 +9634,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The layer shown in the field.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The layer selected by the user.
@@ -8495,7 +9648,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The layer shown in the field.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The layer selected by the user.
@@ -8509,7 +9662,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The layer shown in the field.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The layer selected by the user.
@@ -8523,7 +9676,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The layer shown in the field.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The layer selected by the user.
@@ -8537,7 +9690,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The layer shown in the field.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The layer selected by the user.
@@ -8551,7 +9704,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The layer shown in the field.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The layer selected by the user.
@@ -8559,13 +9712,13 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- Make a text field for entering integers.
+ Make a text field for entering long integers.
Optional label to display in front of the long field.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -8573,13 +9726,13 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- Make a text field for entering integers.
+ Make a text field for entering long integers.
Optional label to display in front of the long field.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -8587,13 +9740,13 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- Make a text field for entering integers.
+ Make a text field for entering long integers.
Optional label to display in front of the long field.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -8601,13 +9754,13 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- Make a text field for entering integers.
+ Make a text field for entering long integers.
Optional label to display in front of the long field.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -8615,13 +9768,13 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- Make a text field for entering integers.
+ Make a text field for entering long integers.
Optional label to display in front of the long field.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -8629,13 +9782,13 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- Make a text field for entering integers.
+ Make a text field for entering long integers.
Optional label to display in front of the long field.
The value to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -8649,7 +9802,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The current mask to display.
A string array containing the labels for each flag.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8665,7 +9818,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The current mask to display.
A string array containing the labels for each flag.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8681,7 +9834,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The current mask to display.
A string array containing the labels for each flag.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8697,7 +9850,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The current mask to display.
A string array containing the labels for each flag.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8713,7 +9866,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The current mask to display.
A string array containing the labels for each flag.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8729,7 +9882,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The current mask to display.
A string array containing the labels for each flag.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8742,13 +9895,25 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Make a special slider the user can use to specify a range between a min and a max.
Optional label in front of the slider.
- The value the slider shows. This determines the position of the draggable thumb.
The lower value of the range the slider shows, passed by reference.
The upper value at the range the slider shows, passed by reference.
The limit at the left end of the slider.
The limit at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+
+
+ Make a special slider the user can use to specify a range between a min and a max.
+
+ Optional label in front of the slider.
+ The lower value of the range the slider shows, passed by reference.
+ The upper value at the range the slider shows, passed by reference.
+ The limit at the left end of the slider.
+ The limit at the right end of the slider.
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8756,13 +9921,12 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Make a special slider the user can use to specify a range between a min and a max.
Optional label in front of the slider.
- The value the slider shows. This determines the position of the draggable thumb.
The lower value of the range the slider shows, passed by reference.
The upper value at the range the slider shows, passed by reference.
The limit at the left end of the slider.
The limit at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -8774,7 +9938,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The type of the objects that can be assigned.
Allow assigning scene objects. See Description for more info.
An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the style.
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The object that has been set by the user.
@@ -8789,7 +9953,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The type of the objects that can be assigned.
Allow assigning scene objects. See Description for more info.
An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the style.
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The object that has been set by the user.
@@ -8804,52 +9968,136 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The type of the objects that can be assigned.
Allow assigning scene objects. See Description for more info.
An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the style.
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The object that has been set by the user.
-
+
- Make a text field where the user can enter a password.
+ Make a field to receive any object type.
- Optional label to display in front of the password field.
- The password to edit.
- Optional GUIStyle.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ The object reference property the field shows.
+ The type of the objects that can be assigned.
+ Optional label in front of the field. Pass GUIContent.none to hide the label.
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
-
- The password entered by the user.
-
-
+
- Make a text field where the user can enter a password.
+ Make a field to receive any object type.
- Optional label to display in front of the password field.
- The password to edit.
- Optional GUIStyle.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ The object reference property the field shows.
+ The type of the objects that can be assigned.
+ Optional label in front of the field. Pass GUIContent.none to hide the label.
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
-
- The password entered by the user.
-
-
+
- Make a text field where the user can enter a password.
+ Make a field to receive any object type.
- Optional label to display in front of the password field.
- The password to edit.
- Optional GUIStyle.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ The object reference property the field shows.
+ The type of the objects that can be assigned.
+ Optional label in front of the field. Pass GUIContent.none to hide the label.
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
-
- The password entered by the user.
+
+
+
+ Make a field to receive any object type.
+
+ The object reference property the field shows.
+ The type of the objects that can be assigned.
+ Optional label in front of the field. Pass GUIContent.none to hide the label.
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+
+
+ Make a field to receive any object type.
+
+ The object the field shows.
+ The type of the objects that can be assigned.
+ Optional label in front of the field.
+ Optional label in front of the field.
+ An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the style.
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+
+
+ Make a field to receive any object type.
+
+ The object the field shows.
+ The type of the objects that can be assigned.
+ Optional label in front of the field.
+ Optional label in front of the field.
+ An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the style.
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+
+
+ Make a field to receive any object type.
+
+ The object the field shows.
+ The type of the objects that can be assigned.
+ Optional label in front of the field.
+ Optional label in front of the field.
+ An optional list of layout options that specify extra layout properties. Any values passed in here will override settings defined by the style.
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+
+
+ Make a text field where the user can enter a password.
+
+ Optional label to display in front of the password field.
+ The password to edit.
+ Optional GUIStyle.
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+ The password entered by the user.
+
+
+
+
+ Make a text field where the user can enter a password.
+
+ Optional label to display in front of the password field.
+ The password to edit.
+ Optional GUIStyle.
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+ The password entered by the user.
+
+
+
+
+ Make a text field where the user can enter a password.
+
+ Optional label to display in front of the password field.
+ The password to edit.
+ Optional GUIStyle.
+ An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+ The password entered by the user.
@@ -8860,7 +10108,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The password to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The password entered by the user.
@@ -8874,7 +10122,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The password to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The password entered by the user.
@@ -8888,7 +10136,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The password to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The password entered by the user.
@@ -8903,7 +10151,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the options shown in the popup.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The index of the option that has been selected by the user.
@@ -8918,7 +10166,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the options shown in the popup.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The index of the option that has been selected by the user.
@@ -8933,7 +10181,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the options shown in the popup.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The index of the option that has been selected by the user.
@@ -8948,7 +10196,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the options shown in the popup.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The index of the option that has been selected by the user.
@@ -8963,7 +10211,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the options shown in the popup.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The index of the option that has been selected by the user.
@@ -8978,7 +10226,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the options shown in the popup.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The index of the option that has been selected by the user.
@@ -8993,7 +10241,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the options shown in the popup.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The index of the option that has been selected by the user.
@@ -9008,7 +10256,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
An array with the options shown in the popup.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The index of the option that has been selected by the user.
@@ -9018,7 +10266,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Make a label in front of some control.
- Label to show in front of the control.
+ Label to show to the left of the control.
@@ -9026,7 +10274,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Make a label in front of some control.
- Label to show in front of the control.
+ Label to show to the left of the control.
@@ -9034,7 +10282,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Make a label in front of some control.
- Label to show in front of the control.
+ Label to show to the left of the control.
@@ -9042,7 +10290,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Make a label in front of some control.
- Label to show in front of the control.
+ Label to show to the left of the control.
@@ -9050,7 +10298,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Make a label in front of some control.
- Label to show in front of the control.
+ Label to show to the left of the control.
@@ -9058,7 +10306,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Make a label in front of some control.
- Label to show in front of the control.
+ Label to show to the left of the control.
@@ -9070,7 +10318,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional label to use. If not specified the label of the property itself is used. Use GUIContent.none to not display a label at all.
If true the property including children is drawn; otherwise only the control itself (such as only a foldout but nothing below it).
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
True if the property has children and is expanded and includeChildren was set to false; otherwise false.
@@ -9084,7 +10332,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional label to use. If not specified the label of the property itself is used. Use GUIContent.none to not display a label at all.
If true the property including children is drawn; otherwise only the control itself (such as only a foldout but nothing below it).
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
True if the property has children and is expanded and includeChildren was set to false; otherwise false.
@@ -9098,7 +10346,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional label to use. If not specified the label of the property itself is used. Use GUIContent.none to not display a label at all.
If true the property including children is drawn; otherwise only the control itself (such as only a foldout but nothing below it).
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
True if the property has children and is expanded and includeChildren was set to false; otherwise false.
@@ -9112,7 +10360,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional label to use. If not specified the label of the property itself is used. Use GUIContent.none to not display a label at all.
If true the property including children is drawn; otherwise only the control itself (such as only a foldout but nothing below it).
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
True if the property has children and is expanded and includeChildren was set to false; otherwise false.
@@ -9125,7 +10373,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label to display above the field.
The value to edit.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -9138,7 +10386,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label to display above the field.
The value to edit.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -9151,7 +10399,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label to display above the field.
The value to edit.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -9244,7 +10492,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to show.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -9254,7 +10502,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to show.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -9266,7 +10514,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value at the left end of the slider.
The value at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value that has been set by the user.
@@ -9281,7 +10529,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value at the left end of the slider.
The value at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value that has been set by the user.
@@ -9296,7 +10544,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value at the left end of the slider.
The value at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value that has been set by the user.
@@ -9311,7 +10559,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value at the left end of the slider.
The value at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -9323,7 +10571,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value at the left end of the slider.
The value at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -9335,7 +10583,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value at the left end of the slider.
The value at the right end of the slider.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -9351,7 +10599,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The tag the field shows.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The tag selected by the user.
@@ -9365,7 +10613,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The tag the field shows.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The tag selected by the user.
@@ -9379,7 +10627,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The tag the field shows.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The tag selected by the user.
@@ -9393,7 +10641,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The tag the field shows.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The tag selected by the user.
@@ -9407,7 +10655,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The tag the field shows.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The tag selected by the user.
@@ -9421,7 +10669,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The tag the field shows.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The tag selected by the user.
@@ -9434,7 +10682,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text entered by the user.
@@ -9447,7 +10695,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text entered by the user.
@@ -9461,7 +10709,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text entered by the user.
@@ -9475,7 +10723,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text entered by the user.
@@ -9489,7 +10737,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text entered by the user.
@@ -9503,7 +10751,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text entered by the user.
@@ -9517,7 +10765,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text entered by the user.
@@ -9531,7 +10779,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text to edit.
Optional GUIStyle.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The text entered by the user.
@@ -9544,8 +10792,10 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional label in front of the toggle.
The shown state of the toggle.
Optional GUIStyle.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The selected state of the toggle.
@@ -9558,8 +10808,10 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional label in front of the toggle.
The shown state of the toggle.
Optional GUIStyle.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The selected state of the toggle.
@@ -9572,8 +10824,10 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional label in front of the toggle.
The shown state of the toggle.
Optional GUIStyle.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The selected state of the toggle.
@@ -9586,8 +10840,10 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional label in front of the toggle.
The shown state of the toggle.
Optional GUIStyle.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The selected state of the toggle.
@@ -9600,8 +10856,10 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional label in front of the toggle.
The shown state of the toggle.
Optional GUIStyle.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The selected state of the toggle.
@@ -9614,8 +10872,10 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Optional label in front of the toggle.
The shown state of the toggle.
Optional GUIStyle.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The selected state of the toggle.
@@ -9653,7 +10913,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle to use for the label.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -9664,7 +10924,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle to use for the label.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -9675,7 +10935,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle to use for the label.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -9686,7 +10946,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value to edit.
Optional GUIStyle to use for the label.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -9696,7 +10956,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label to display above the field.
The value to edit.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -9709,7 +10969,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label to display above the field.
The value to edit.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -9721,8 +10981,9 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label to display above the field.
The value to edit.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -9734,8 +10995,9 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label to display above the field.
The value to edit.
- An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+ An optional list of layout options that specify extra layouting
+ properties. Any values passed in here will override settings defined by the style.<br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -9748,7 +11010,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Label to display above the field.
The value to edit.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The value entered by the user.
@@ -9770,7 +11032,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The style to use for background image and padding values. If left out, the background is transparent.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -9779,7 +11041,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The style to use for background image and padding values. If left out, the background is transparent.
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style.<br>
-See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
@@ -9817,6 +11079,13 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The width in pixels reserved for labels of Editor GUI controls.
+
+
+ The scale of GUI points relative to screen pixels for the current view
+
+This value is the number of screen pixels per point of interface space. For instance, 2.0 on retina displays. Note that the value may differ from one view to the next if the views are on monitors with different UI scales.
+
+
Get the height used for a single Editor control such as a one-line EditorGUI.TextField or EditorGUI.Popup.
@@ -9860,9 +11129,9 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- Creates an event.
+ Creates an event that can be sent to another window.
-
+ The command to be sent.
@@ -9965,15 +11234,26 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Fetch the GUIContent from the Unity builtin resources with the given name.
- Content name.
- Tooltip.
+ Name of the desired icon.
+ Tooltip for hovering over the icon.
Fetch the GUIContent from the Unity builtin resources with the given name.
- Content name.
- Tooltip.
+ Name of the desired icon.
+ Tooltip for hovering over the icon.
+
+
+
+ Disposable scope helper for GetIconSize / SetIconSize.
+
+
+
+
+ Begin an IconSizeScope.
+
+ Size to be used for icons rendered as GUIContent within this scope.
@@ -9992,7 +11272,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- Load a built-in resource that has to be there.
+ Load a required built-in resource.
@@ -10031,18 +11311,54 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- Ping an object in a window like clicking it in an inspector.
+ Ping an object in the Scene like clicking it in an inspector.
-
+ The object to be pinged.
- Ping an object in a window like clicking it in an inspector.
+ Ping an object in the Scene like clicking it in an inspector.
-
+ The object to be pinged.
+
+
+ Convert a position from pixel to point space.
+
+ A GUI position in pixel space.
+
+ A vector representing the same position in point space.
+
+
+
+
+ Convert a Rect from pixel space to point space.
+
+ A GUI rect measured in pixels.
+
+ A rect representing the same area in points.
+
+
+
+
+ Convert a Rect from point space to pixel space.
+
+ A GUI rect measured in points.
+
+ A rect representing the same area in pixels.
+
+
+
+
+ Converts a position from point to pixel space.
+
+ A GUI position in point space.
+
+ The same position in pixel space.
+
+
Send an input event into the game.
@@ -10087,14 +11403,14 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Utility functions for working with JSON data and engine objects.
-
+
Overwrite data in an object by reading from its JSON representation.
The JSON representation of the object.
The object to overwrite.
-
+
Generate a JSON representation of an object.
@@ -10104,7 +11420,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The object's data in JSON format.
-
+
Generate a JSON representation of an object.
@@ -10146,31 +11462,45 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- Returns the value corresponding to key in the preference file if it exists.
+ Returns the float value corresponding to key if it exists in the preference file.
-
-
+ Name of key to read float from.
+ Float value to return if the key is not in the storage.
+
+ The float value stored in the preference file or the defaultValue id the
+ requested float does not exist.
+
- Returns the value corresponding to key in the preference file if it exists.
+ Returns the float value corresponding to key if it exists in the preference file.
-
-
+ Name of key to read float from.
+ Float value to return if the key is not in the storage.
+
+ The float value stored in the preference file or the defaultValue id the
+ requested float does not exist.
+
Returns the value corresponding to key in the preference file if it exists.
-
-
+ Name of key to read integer from.
+ Integer value to return if the key is not in the storage.
+
+ The value stored in the preference file.
+
Returns the value corresponding to key in the preference file if it exists.
-
-
+ Name of key to read integer from.
+ Integer value to return if the key is not in the storage.
+
+ The value stored in the preference file.
+
@@ -10188,9 +11518,12 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- Returns true if key exists in the preferences.
+ Returns true if key exists in the preferences file.
-
+ Name of key to check for.
+
+ The existence or not of the key.
+
@@ -10201,25 +11534,45 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- Sets the value of the preference identified by key.
+ Sets the float value of the preference identified by key.
-
-
+ Name of key to write float into.
+ Float value to write into the storage.
Sets the value of the preference identified by key as an integer.
-
-
+ Name of key to write integer to.
+ Value of the integer to write into the storage.
- Sets the value of the preference identified by key.
+ Sets the value of the preference identified by key. Note that EditorPrefs does not support null strings and will store an empty string instead.
+
+
+ The editor selected render mode for Scene View selection.
+
+
+
+
+ The Renderer has no selection highlight or wireframe in the Editor.
+
+
+
+
+ The Renderer has selection highlight but no wireframe in the Editor.
+
+
+
+
+ The Renderer has wireframe but not selection highlight in the Editor.
+
+
Enum that selects which skin to return from EditorGUIUtility.GetBuiltinSkin.
@@ -10490,19 +11843,19 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Android platform options.
-
+
- The texture compression type to be used when building.
+ Set which build system to use for building the Android package.
-
+
- The build type to be used.
+ Is build script only enabled.
-
+
- Is build script only enabled.
+ Compress files in package.
@@ -10525,6 +11878,11 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Enables a Linux headless build.
+
+
+ Are divide by zero's actively checked?
+
+
Are null references actively checked?
@@ -10532,7 +11890,7 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- Export Android Project for use wih Android Studio or Eclipse.
+ Export Android Project for use with Android StudioGradle or EclipseADT.
@@ -10550,6 +11908,11 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Place the built player in the build folder.
+
+
+ Scheme with which the project will be run in Xcode.
+
+
Create a .cia "download image" for deploying to test kits (3DS).
@@ -10565,6 +11928,11 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
PS4 Build Subtarget.
+
+
+ Specifies which version of PS4 hardware to target.
+
+
PSM Build Subtarget.
@@ -10575,11 +11943,6 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
PS Vita Build subtarget.
-
-
- SCE Build subtarget.
-
-
The currently selected build target group.
@@ -10605,9 +11968,9 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
The texture compression type to be used when building.
-
+
- Optimization level for WebGL.
+ Use prebuilt JavaScript version of Unity engine.
@@ -10650,6 +12013,16 @@ GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
Target Windows SDK.
+
+
+ Sets and gets target device type for the application to run on when building to Windows Store platform.
+
+
+
+
+ Sets and gets target UWP SDK to build Windows Store application against.
+
+
Xbox Build subtarget.
@@ -10671,17 +12044,19 @@ MYCOMPUTER\SHAREDFOLDER\.
Windows account username associated with PC share folder.
-
-
- Selected Xbox Run Method.
-
-
Get the current location for the build.
+
+
+ Returns value for platform specifc Editor setting.
+
+ The name of the platform.
+ The name of the setting.
+
Is .NET Native enabled for specific build configuration.
@@ -10699,6 +12074,14 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
+
+
+ Set platform specifc Editor setting.
+
+ The name of the platform.
+ The name of the setting.
+ Setting value.
+
Enables or Disables .NET Native for specific build configuration.
@@ -10721,6 +12104,11 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
Editor utility functions.
+
+
+ True if there are any compilation error messages in the log.
+
+
Removes progress bar.
@@ -10741,6 +12129,22 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
+
+
+ Compress a cubemap texture.
+
+
+
+
+
+
+
+ Compress a cubemap texture.
+
+
+
+
+
Compress a texture.
@@ -10764,6 +12168,13 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
+
+
+ Copy all settings of a Unity Object to a second Object if they differ.
+
+
+
+
Creates a game object with HideFlags and specified components.
@@ -10802,11 +12213,14 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
Displays a modal dialog with three buttons.
-
-
-
-
-
+ Title for dialog.
+ Purpose for the dialog.
+ Dialog function chosen.
+ Choose alternative dialog purpose.
+ Close dialog with no operation.
+
+ The id of the chosen button.
+
@@ -10919,9 +12333,9 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
- Marks target object as dirty.
+ Marks target object as dirty. (Only suitable for non-scene objects).
-
+ The object to mark as dirty.
@@ -10930,9 +12344,16 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
+
+
+ Set the Scene View selected display mode for this Renderer.
+
+
+
+
- Set whether the renderer's wireframe will be hidden when the renderer's gameobject is selected.
+ Sets whether the selected Renderer's wireframe will be hidden when the GameObject it is attached to is selected.
@@ -10943,7 +12364,7 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
When true delete assets even if linked in scripts.
-
+
Unloads assets that are not used.
@@ -10999,9 +12420,14 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
The GUIContent used for drawing the title of EditorWindows.
+
+
+ Checks whether MouseEnterWindow and MouseLeaveWindow events are received in the GUI in this Editor window.
+
+
- Does the GUI in this editor window want MouseMove events?
+ Checks whether MouseMove events are received in the GUI in this Editor window.
@@ -11250,10 +12676,10 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
- Show window with dropdown behaviour (e.g. window is closed when it loses focus) and having.
+ Shows a window with dropdown behaviour and styling.
- Is used for positioning the window.
- Is used for setting up initial size of the window.
+ The button from which the position of the window will be determined (see description).
+ The initial size of the window.
@@ -11872,6 +13298,21 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
Draw the gizmo if it is selected.
+
+
+ Enum used to specify the graphics jobs mode to use.
+
+
+
+
+ Legacy graphics jobs.
+
+
+
+
+ Native graphics jobs.
+
+
Base class for PropertyDrawer and DecoratorDrawer.
@@ -11937,14 +13378,20 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
Color to use for handles that manipulates the Z coordinate of something.
-
+
+
+ zTest of the handles.
+
+
+
Draw an arrow like those used by the move tool.
The control ID for the handle.
- The world-space position of the handle's start point.
- The rotation of the handle.
- The size of the handle in world-space units.
+ The position of the handle in the space of Handles.matrix.
+ The rotation of the handle in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ Event type for the handle to act upon. By design it handles EventType.Layout and EventType.Repaint events.
@@ -11958,27 +13405,38 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
The position and size of the 2D GUI area.
-
+
Make a 3D Button.
- The world-space position to draw the button.
- The rotation of the button.
- The visual size of the button.
- The size of the button for the purpose of detecting a click.
- The draw style of the button.
+ The position to draw the button in the space of Handles.matrix.
+ The rotation of the button in the space of Handles.matrix.
+ The visual size of the handle. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ The size of the button for the purpose of detecting a click. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ The draw style of the button.
True when the user clicks the button.
-
+
- Draw a camera-facing Circle. Pass this into handle functions.
+ The function to use for drawing the handle e.g. Handles.RectangleCap.
The control ID for the handle.
- The world-space position for the start of the handle.
- The rotation of the handle.
+ The position of the handle in the space of Handles.matrix.
+ The rotation of the handle in the space of Handles.matrix.
The size of the handle in world-space units.
+ Event type for the handle to act upon. By design it handles EventType.Layout and EventType.Repaint events.
+
+
+
+ Draw a circle handle. Pass this into handle functions.
+
+ The control ID for the handle.
+ The position of the handle in the space of Handles.matrix.
+ The rotation of the handle in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ Event type for the handle to act upon. By design it handles EventType.Layout and EventType.Repaint events.
@@ -11987,54 +13445,60 @@ More information - https:msdn.microsoft.comen-uslibrary/dn584397(v=vs.110).aspx.
Where in the Scene to clear.
The camera to clear.
-
+
- Draw a Cone. Pass this into handle functions.
+ Draw a cone handle. Pass this into handle functions.
The control ID for the handle.
- The world-space position of the handle's start point.
- The rotation of the handle.
- The size of the handle in world-space units.
+ The position of the handle in the space of Handles.matrix.
+ The rotation of the handle in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ Event type for the handle to act upon. By design it handles EventType.Layout and EventType.Repaint events.
-
+
- Draw a cube. Pass this into handle functions.
+ Draw a cube handle. Pass this into handle functions.
The control ID for the handle.
- The world-space position of the handle's start point.
- The rotation of the handle.
- The size of the handle in world-space units.
+ The position of the handle in the space of Handles.matrix.
+ The rotation of the handle in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ Event type for the handle to act upon. By design it handles EventType.Layout and EventType.Repaint events.
-
+
- Draw a Cylinder. Pass this into handle functions.
+ Draw a cylinder handle. Pass this into handle functions.
The control ID for the handle.
- The world-space position of the handle's start point.
- The rotation of the handle.
- The size of the handle in world-space units.
+ The position of the handle in the space of Handles.matrix.
+ The rotation of the handle in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ Event type for the handle to act upon. By design it handles EventType.Layout and EventType.Repaint events.
- Make a 3D disc that can be dragged with the mouse.
+ Make a 3D disc that can be dragged with the mouse.
+Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
The rotation of the disc.
The center of the disc.
The axis to rotate around.
The size of the disc in world space See Also:HandleUtility.GetHandleSize.
If true, only the front-facing half of the circle is draw / draggable. This is useful when you have many overlapping rotation axes (like in the default rotate tool) to avoid clutter.
- The new value after the user has modified it.
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+ The grid size to snap to.
+
+ The new rotation value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the same value as you passed into the function.
+
-
+
- Draw a camera-facing dot. Pass this into handle functions.
+ Draw a dot handle. Pass this into handle functions.
The control ID for the handle.
- The world-space position of the handle's start point.
- The rotation of the handle.
- The size of the handle in world-space units.
+ The position of the handle in the space of Handles.matrix.
+ The rotation of the handle in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ Event type for the handle to act upon. By design it handles EventType.Layout and EventType.Repaint events.
@@ -12124,15 +13588,6 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
The camera to draw.
How the camera is drawn (textured, wireframe, etc.).
-
-
- The function to use for drawing the handle e.g. Handles.RectangleCap.
-
-
-
-
-
-
Draw a dotted line from p1 to p2.
@@ -12156,6 +13611,47 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
A list of pairs of indices to the start and end points of the line segments.
The size in pixels for the lengths of the line segments and the gaps between them.
+
+
+ Disposable helper struct for automatically setting and reverting Handles.color and/or Handles.matrix.
+
+
+
+
+ The value of Handles.color at the time this DrawingScope was created.
+
+
+
+
+ The value of Handles.matrix at the time this DrawingScope was created.
+
+
+
+
+ Create a new DrawingScope and set Handles.color and/or Handles.matrix to the specified values.
+
+ The matrix to use for displaying Handles inside the scope block.
+ The color to use for displaying Handles inside the scope block.
+
+
+
+ Create a new DrawingScope and set Handles.color and/or Handles.matrix to the specified values.
+
+ The matrix to use for displaying Handles inside the scope block.
+ The color to use for displaying Handles inside the scope block.
+
+
+
+ Create a new DrawingScope and set Handles.color and/or Handles.matrix to the specified values.
+
+ The matrix to use for displaying Handles inside the scope block.
+ The color to use for displaying Handles inside the scope block.
+
+
+
+ Automatically reverts Handles.color and Handles.matrix to their values prior to entering the scope, when the scope is exited. You do not need to call this method manually.
+
+
Draw a line from p1 to p2.
@@ -12182,6 +13678,16 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
+
+
+ Draw a camera facing selection frame.
+
+
+
+
+
+
+
Draw a circular sector (pie piece) in 3D space.
@@ -12224,6 +13730,13 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+
+
+ Draw a wireframe box with center and size.
+
+
+
+
Draw the outline of a flat disc in 3D space.
@@ -12239,17 +13752,18 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
End a 2D GUI block and get back to the 3D handle GUI.
-
+
Make an unconstrained movement handle.
- The position of the handle.
- The rotation of the handle. this defines the space along.
- The size of the handle.
- The function to use for drawing the handle, eg, Handles.RectangleCap
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
-
+ The position of the handle in the space of Handles.matrix.
+ The rotation of the handle in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ The snap increment on all axes. See Handles.SnapValue.
+ The function to call for doing the actual drawing.
+
+ The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the same value as you passed into the function.
+
@@ -12260,6 +13774,9 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
The size of the handle.
Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+
+ The new rotation value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the same value as you passed into the function.
+
@@ -12338,14 +13855,12 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
- Make a 3D Scene view position handle.
+ Make a position handle.
Center of the handle in 3D space.
Orientation of the handle in 3D space.
- The new position. If the user has not performed any operation, it will return the same value as you passed it in postion.
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+ The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the same value as you passed into the function.
@@ -12355,9 +13870,9 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
Orientation of the handle.
Center of the handle in 3D space.
Radius to modify.
-
+ Whether to omit the circular outline of the radius and only draw the point handles.
- The modified radius
+ The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the same value as you passed into the function.
Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
@@ -12369,13 +13884,23 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
Orientation of the handle.
Center of the handle in 3D space.
Radius to modify.
-
+ Whether to omit the circular outline of the radius and only draw the point handles.
- The modified radius
+ The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the same value as you passed into the function.
Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+
+
+ Draw a rectangle handle. Pass this into handle functions.
+
+ The control ID for the handle.
+ The position of the handle in the space of Handles.matrix.
+ The rotation of the handle in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ Event type for the handle to act upon. By design it handles EventType.Layout and EventType.Repaint events.
+
Make a Scene view rotation handle.
@@ -12383,23 +13908,21 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
Orientation of the handle.
Center of the handle in 3D space.
- The modified rotation
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+ The new rotation value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the same value as you passed into the function.
- Make a Scene view scale handle.
+ Make a Scene view scale handle.
+
+Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
Scale to modify.
The position of the handle.
The rotation of the handle.
-
+ Allows you to scale the size of the handle on-scren.
- The new scale vector.
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+ The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the same value as you passed into the function.
@@ -12407,35 +13930,28 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
Make a directional scale slider.
The value the user can modify.
- The position of the handle.
- The direction of the handle.
- The rotation of whole object.
- The size of the handle.
- The new value after the user has modified it.
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+ The position of the handle in the space of Handles.matrix.
+ The direction of the handle in the space of Handles.matrix.
+ The rotation of the handle in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ The snap increment. See Handles.SnapValue.
+
+ The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the same value as you passed into the function.
+
-
+
- Make a single-float draggable handle.
+ Make a 3D handle that scales a single float.
The value the user can modify.
- The position of the handle.
- The rotation of the handle.
- The size of the handle.
- The function to use for drawing the handle e.g. Handles.RectangleCap.
- The new value after the user has modified it.
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
-
-
-
- Draw a camera facing selection frame.
-
-
-
-
-
+ The position of the handle in the space of Handles.matrix.
+ The rotation of the handle in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ The snap increment. See Handles.SnapValue.
+ The function to call for doing the actual drawing.
+
+ The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the same value as you passed into the function.
+
@@ -12451,193 +13967,113 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
-
-
- Make a 3D slider.
-
- The position of the current point.
- The direction of the sliding.
- 3D size the size of the handle.
- The function to call for doing the actual drawing - by default, it's Handles.ArrowCap, but any function that has the same signature can be used.
- The snap value (see Handles.SnapValue).
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
-
-
+
- Make a 3D slider.
+ A delegate type for getting a handle's size based on its current position.
- The position of the current point.
- The direction of the sliding.
- 3D size the size of the handle.
- The function to call for doing the actual drawing - by default, it's Handles.ArrowCap, but any function that has the same signature can be used.
- The snap value (see Handles.SnapValue).
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
-
-
-
- Slide a handle in a 2D plane.
-
- (optional) override the default ControlID for this Slider2D instance.
- The position of the current point.
- (optional) renders the Slider2D at handlePos, but treats the Slider2D's origin as handlePos + offset. Useful for Slider2D instances that are placed/rendered relative to another object or handle.
- The direction of the handle, only used for rendering of the handle.
- The first direction of the sliding.
- The second direction of the sliding.
- The size of the handle.
- The function to call for doing the actual drawing - by default, it's Handles.ArrowCap, but any function that has the same signature can be used.
- (float or Vector2) set the snap increment (Pass a Vector2 to use separate snap increments in each dimension).
- (default: false) render a rectangle around the handle when dragging.
-
- The new handle position
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
-
-
-
-
- Slide a handle in a 2D plane.
-
- (optional) override the default ControlID for this Slider2D instance.
- The position of the current point.
- (optional) renders the Slider2D at handlePos, but treats the Slider2D's origin as handlePos + offset. Useful for Slider2D instances that are placed/rendered relative to another object or handle.
- The direction of the handle, only used for rendering of the handle.
- The first direction of the sliding.
- The second direction of the sliding.
- The size of the handle.
- The function to call for doing the actual drawing - by default, it's Handles.ArrowCap, but any function that has the same signature can be used.
- (float or Vector2) set the snap increment (Pass a Vector2 to use separate snap increments in each dimension).
- (default: false) render a rectangle around the handle when dragging.
-
- The new handle position
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
-
+ The current position of the handle in the space of Handles.matrix.
-
+
- Slide a handle in a 2D plane.
+ Make a 3D slider that moves along one axis.
- (optional) override the default ControlID for this Slider2D instance.
- The position of the current point.
- (optional) renders the Slider2D at handlePos, but treats the Slider2D's origin as handlePos + offset. Useful for Slider2D instances that are placed/rendered relative to another object or handle.
- The direction of the handle, only used for rendering of the handle.
- The first direction of the sliding.
- The second direction of the sliding.
- The size of the handle.
- The function to call for doing the actual drawing - by default, it's Handles.ArrowCap, but any function that has the same signature can be used.
- (float or Vector2) set the snap increment (Pass a Vector2 to use separate snap increments in each dimension).
- (default: false) render a rectangle around the handle when dragging.
+ The position of the current point in the space of Handles.matrix.
+ The direction axis of the slider in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ The snap increment. See Handles.SnapValue.
+ The function to call for doing the actual drawing. By default it is Handles.ArrowHandleCap, but any function that has the same signature can be used.
- The new handle position
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+ The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the position value passed into the function.
-
+
- Slide a handle in a 2D plane.
+ Make a 3D slider that moves along one axis.
- (optional) override the default ControlID for this Slider2D instance.
- The position of the current point.
- (optional) renders the Slider2D at handlePos, but treats the Slider2D's origin as handlePos + offset. Useful for Slider2D instances that are placed/rendered relative to another object or handle.
- The direction of the handle, only used for rendering of the handle.
- The first direction of the sliding.
- The second direction of the sliding.
- The size of the handle.
- The function to call for doing the actual drawing - by default, it's Handles.ArrowCap, but any function that has the same signature can be used.
- (float or Vector2) set the snap increment (Pass a Vector2 to use separate snap increments in each dimension).
- (default: false) render a rectangle around the handle when dragging.
+ The position of the current point in the space of Handles.matrix.
+ The direction axis of the slider in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ The snap increment. See Handles.SnapValue.
+ The function to call for doing the actual drawing. By default it is Handles.ArrowHandleCap, but any function that has the same signature can be used.
- The new handle position
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+ The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the position value passed into the function.
-
+
- Slide a handle in a 2D plane.
+ Make a 3D slider that moves along a plane defined by two axes.
(optional) override the default ControlID for this Slider2D instance.
- The position of the current point.
+ The position of the current point in the space of Handles.matrix.
(optional) renders the Slider2D at handlePos, but treats the Slider2D's origin as handlePos + offset. Useful for Slider2D instances that are placed/rendered relative to another object or handle.
- The direction of the handle, only used for rendering of the handle.
- The first direction of the sliding.
- The second direction of the sliding.
- The size of the handle.
- The function to call for doing the actual drawing - by default, it's Handles.ArrowCap, but any function that has the same signature can be used.
- (float or Vector2) set the snap increment (Pass a Vector2 to use separate snap increments in each dimension).
+ The direction of the handle in the space of Handles.matrix, only used for rendering of the handle.
+ The first axis of the slider's plane of movement in the space of Handles.matrix.
+ The second axis of the slider's plane of movement in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ (float or Vector2) The snap increment along both axes, either uniform or per-axis. See Handles.SnapValue.
(default: false) render a rectangle around the handle when dragging.
+ The function to call for doing the actual drawing.
- The new handle position
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+ The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the position value passed into the function.
-
+
- Slide a handle in a 2D plane.
+ Make a 3D slider that moves along a plane defined by two axes.
(optional) override the default ControlID for this Slider2D instance.
- The position of the current point.
+ The position of the current point in the space of Handles.matrix.
(optional) renders the Slider2D at handlePos, but treats the Slider2D's origin as handlePos + offset. Useful for Slider2D instances that are placed/rendered relative to another object or handle.
- The direction of the handle, only used for rendering of the handle.
- The first direction of the sliding.
- The second direction of the sliding.
- The size of the handle.
- The function to call for doing the actual drawing - by default, it's Handles.ArrowCap, but any function that has the same signature can be used.
- (float or Vector2) set the snap increment (Pass a Vector2 to use separate snap increments in each dimension).
+ The direction of the handle in the space of Handles.matrix, only used for rendering of the handle.
+ The first axis of the slider's plane of movement in the space of Handles.matrix.
+ The second axis of the slider's plane of movement in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ (float or Vector2) The snap increment along both axes, either uniform or per-axis. See Handles.SnapValue.
(default: false) render a rectangle around the handle when dragging.
+ The function to call for doing the actual drawing.
- The new handle position
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+ The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the position value passed into the function.
-
+
- Slide a handle in a 2D plane.
+ Make a 3D slider that moves along a plane defined by two axes.
(optional) override the default ControlID for this Slider2D instance.
- The position of the current point.
+ The position of the current point in the space of Handles.matrix.
(optional) renders the Slider2D at handlePos, but treats the Slider2D's origin as handlePos + offset. Useful for Slider2D instances that are placed/rendered relative to another object or handle.
- The direction of the handle, only used for rendering of the handle.
- The first direction of the sliding.
- The second direction of the sliding.
- The size of the handle.
- The function to call for doing the actual drawing - by default, it's Handles.ArrowCap, but any function that has the same signature can be used.
- (float or Vector2) set the snap increment (Pass a Vector2 to use separate snap increments in each dimension).
+ The direction of the handle in the space of Handles.matrix, only used for rendering of the handle.
+ The first axis of the slider's plane of movement in the space of Handles.matrix.
+ The second axis of the slider's plane of movement in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ (float or Vector2) The snap increment along both axes, either uniform or per-axis. See Handles.SnapValue.
(default: false) render a rectangle around the handle when dragging.
+ The function to call for doing the actual drawing.
- The new handle position
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+ The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the position value passed into the function.
-
+
- Slide a handle in a 2D plane.
+ Make a 3D slider that moves along a plane defined by two axes.
(optional) override the default ControlID for this Slider2D instance.
- The position of the current point.
+ The position of the current point in the space of Handles.matrix.
(optional) renders the Slider2D at handlePos, but treats the Slider2D's origin as handlePos + offset. Useful for Slider2D instances that are placed/rendered relative to another object or handle.
- The direction of the handle, only used for rendering of the handle.
- The first direction of the sliding.
- The second direction of the sliding.
- The size of the handle.
- The function to call for doing the actual drawing - by default, it's Handles.ArrowCap, but any function that has the same signature can be used.
- (float or Vector2) set the snap increment (Pass a Vector2 to use separate snap increments in each dimension).
+ The direction of the handle in the space of Handles.matrix, only used for rendering of the handle.
+ The first axis of the slider's plane of movement in the space of Handles.matrix.
+ The second axis of the slider's plane of movement in the space of Handles.matrix.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
+ (float or Vector2) The snap increment along both axes, either uniform or per-axis. See Handles.SnapValue.
(default: false) render a rectangle around the handle when dragging.
+ The function to call for doing the actual drawing.
- The new handle position
-
-Note: Use HandleUtility.GetHandleSize where you might want to have constant screen-sized handles.
+ The new value modified by the user's interaction with the handle. If the user has not moved the handle, it will return the position value passed into the function.
- Rounds the value val to the closest multiple of snap (snap can only be posiive).
+ Rounds the value val to the closest multiple of snap (snap can only be positive).
@@ -12645,14 +14081,15 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
The rounded value, if snap is positive, and val otherwise.
-
+
- Draw a Sphere. Pass this into handle functions.
+ Draw a sphere handle. Pass this into handle functions.
-
-
-
-
+ The control ID for the handle.
+ The position of the handle in the space of Handles.matrix.
+ The rotation of the handle in the space of Handles.matrix.
+ Event type for the handle to act upon. By design it handles EventType.Layout and EventType.Repaint events.
+ The size of the handle in the space of Handles.matrix. Use HandleUtility.GetHandleSize if you want a constant screen-space size.
@@ -12807,7 +14244,16 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
Get world space size of a manipulator handle at given position.
-
+ The position of the handle in 3d space.
+
+ A constant screen-size for the handle, based on the distance between from the supplied handle's position to the camera.
+
+
+
+
+ Converts a 2D GUI position to screen pixel coordinates.
+
+
@@ -13027,2660 +14473,4971 @@ Note: Use HandleUtility.GetHandleSize where you might want to have constant scre
Highlights an entire editor control using its label text as identifier.
-
+
- Asset importing options.
+ Use IHVImageFormatImporter to modify Texture2D import settings for Textures in IHV (Independent Hardware Vendor) formats such as .DDS and .PVR from Editor scripts.
-
+
- Default import options.
+ Filtering mode of the texture.
-
+
- Force a full reimport but don't download the assets from the cache server.
+ Is texture data readable from scripts.
-
+
- Import all assets synchronously.
+ Wrap mode of the texture.
-
+
- Forces asset import as uncompressed for edition facilities.
+ A compound handle to edit a box-shaped bounding volume in the Scene view.
-
+
- User initiated asset import.
+ Gets or sets the size of the bounding box.
-
+
- When a folder is imported, import all its contents as well.
+ Create a new instance of the BoxBoundsHandle class.
+ An integer value used to generate consistent control IDs for each control handle on this instance. You may use any value you like, but should avoid using the same value for all of your PrimitiveBoundsHandle instances.
-
+
- Allow an editor class to be initialized when Unity loads without action from the user.
+ Draw a wireframe box for this instance.
-
+
- Allow an editor class method to be initialized when Unity loads without action from the user.
+ A compound handle to edit a capsule-shaped bounding volume in the Scene view.
-
+
- A device requirement description used for configuration of App Slicing.
+ Gets or sets the height of the capsule bounding volume.
-
+
- The values of the device requirement description.
+ Gets or sets the axis in the handle's space to which height maps. The radius maps to the remaining axes.
-
+
- Constructs new device requirement description.
+ Gets or sets the radius of the capsule bounding volume.
-
+
- Supported iOS SDK versions.
+ Create a new instance of the CapsuleBoundsHandle class.
+ An integer value used to generate consistent control IDs for each control handle on this instance. You may use any value you like, but should avoid using the same value for all of your PrimitiveBoundsHandle instances.
-
+
- Device SDK.
+ Draw a wireframe capsule for this instance.
-
+
- Simulator SDK.
+ An enumeration for specifying which axis on a CapsuleBoundsHandle object maps to the CapsuleBoundsHandle.height parameter.
-
+
- Activity Indicator on loading.
+ X-axis.
-
+
- Don't Show.
+ Y-axis.
-
+
- Gray.
+ Z-axis.
-
+
- White.
+ A callback for when a control handle was dragged in the scene.
+ The handle that was dragged.
+ The raw Bounds for this instance's volume at the time the control handle was clicked.
+ The raw Bounds for this instance's volume based on the updated handle position.
+
+ The bounds that should be applied to this instance, with any necessary modifications applied.
+
-
+
- White Large.
+ The MultiColumnHeader is a general purpose class that e.g can be used with the TreeView to create multi-column tree views and list views.
-
+
- iOS status bar style.
+ Use this property to control whether sorting is enabled for all the columns.
-
+
- Black opaque.
+ Customizable height of the multi column header.
-
+
- Black translucent.
+ The index of the column that is set to be the primary sorting column. This is the column that shows the sorting arrow above the header text.
-
+
- Default.
+ Subscribe to this event to get notified when sorting has changed.
+
-
+
- Target iOS device.
+ This is the state of the MultiColumnHeader.
-
+
- iPad Only.
+ Subscribe to this event to get notified when the number of visible columns has changed.
+
-
+
- Universal : iPhone/iPod + iPad.
+ Override this method to extend the default context menu items shown when context clicking the header area.
+ Context menu shown.
-
+
- iPhone/iPod Only.
+ Override to customize the behavior when clicking a column header.
+ Column clicked.
+ Column index clicked.
-
+
- Supported iOS deployment versions.
+ Override to customize the GUI of a single column header.
+ Column header data.
+ Rect for column header.
+ Column index.
-
+
- iOS 4.0.
+ Constructor.
+ Column header state and Column state.
-
+
- iOS 4.1.
+ Default GUI methods and properties for the MultiColumnHeader class.
-
+
- iOS 4.2.
+ Margin that can be used by clients of the MultiColumnHeader to control spacing between content in multiple columns.
-
+
- iOS 4.3.
+ Default height of the header.
-
+
- iOS 5.0.
+ This height is the minium height the header can have and can only be used if sorting is disabled.
-
+
- iOS 5.1.
+ Default styles used by the MultiColumnHeader class.
-
+
- iOS 6.0.
+ Style used for rendering the background of the header.
-
+
- iOS 7.0.
+ Style used for left aligned header text.
-
+
- iOS 7.1.
+ Style used for centered header text.
-
+
- iOS 8.0.
+ Style used for right aligned header text.
-
+
- iOS 8.1.
+ Calculates a cell rect for a column and row using the visibleColumnIndex and rowRect parameters.
+
+
-
+
- Unknown iOS version, managed by user.
+ Returns the column data for a given column index.
+ Column index.
+
+ Column data.
+
-
+
- The lighting data asset used by the active scene.
+ Returns the header column Rect for a given visible column index.
+ Index of a visible column.
-
+
- Bake quality setting for LightmapEditorSettings.
+ Convert from column index to visible column index.
+ Column index.
+
+ Visible column index.
+
-
+
- High quality bake for final renderings.
+ Delegate used for events from the MultiColumnHeader.
+ The MultiColumnHeader that dispatched this event.
-
+
- Low quality bake for preview renderings.
+ Check if a column is currently visible in the MultiColumnHeader.
+ Column index.
-
+
- Various settings for the bake.
+ Check the sorting order state for a column.
+ Column index.
+
+ True if sorted ascending.
+
-
+
- Beyond this distance a ray is considered to be unoccluded.
+ Render and handle input for the MultiColumnHeader at the given rect.
+ Horizontal scroll offset.
+ Rect where the MultiColumnHeader is drawn in.
-
+
- The maximum height of an individual lightmap texture.
-
-
-
-
- The maximum width of an individual lightmap texture.
-
-
-
-
- Texel separation between shapes.
-
-
-
-
- Determines how Unity will compress baked reflection cubemap.
+ Called when sorting changes and dispatches the sortingChanged event.
-
+
- Lightmap resolution in texels per world unit. Higher resolution may take a long time to bake.
+ Called when the number of visible column changes and dispatches the visibleColumnsChanged event.
-
+
- Whether to use DXT1 compression on the generated lightmaps.
+ Requests the window which contains the MultiColumnHeader to repaint.
-
+
- A collection of parameters that impact lightmap and realtime GI computations.
+ Resizes the column widths of the columns that have auto-resize enabled to make all the columns fit to the width of the MultiColumnHeader render rect.
-
+
- The maximum number of times to supersample a texel to reduce aliasing.
+ Change sort direction for a given column.
+ Column index.
+ Direction of the sorting.
-
+
- The percentage of rays shot from a ray origin that must hit front faces to be considered usable.
+ Sets the primary sorting column and its sorting order.
+ Column to sort.
+ Sorting order for the column specified.
-
+
- BakedLightmapTag is an integer that affects the assignment to baked lightmaps. Objects with different values for bakedLightmapTag are guaranteed to not be assigned to the same lightmap even if the other baking parameters are the same.
+ Sets multiple sorting columns and the associated sorting orders.
+ Column indices of the sorted columns.
+ Sorting order for the column indices specified.
-
+
- The radius (in texels) of the post-processing filter that blurs baked direct lighting.
+ Provides the button logic for a column header and the rendering of the sorting arrow (if visible).
+ Column data.
+ Column header rect.
+ Column index.
-
+
- Controls the resolution at which Enlighten stores and can transfer input light.
+ Method for toggling the visibility of a column.
+ Toggle visibility for this column.
-
+
- The number of rays used for lights with an area. Allows for accurate soft shadowing.
+ State used by the MultiColumnHeader.
-
+
- Whether pairs of edges should be stitched together.
+ The array of column states used by the MultiColumnHeader class.
-
+
- The amount of data used for realtime GI texels. Specifies how detailed view of the scene a texel has. Small values mean more averaged out lighting.
+ This property controls the maximum number of columns returned by the sortedColumns property.
-
+
- The number of rays to cast for computing irradiance form factors.
+ This property holds the index to the primary sorted column.
-
+
- If enabled, the object appears transparent during GlobalIllumination lighting calculations.
+ The array of column indices for multiple column sorting.
-
+
- Maximum size of gaps that can be ignored for GI (multiplier on pixel size).
+ This is the array of currently visible column indices.
-
+
- The texel resolution per meter used for realtime lightmaps. This value is multiplied by LightmapEditorSettings.resolution.
+ Returns the sum of all the widths of the visible columns in the visibleColumns array.
-
+
- System tag is an integer identifier. It lets you force an object into a different Enlighten system even though all the other parameters are the same.
+ Checks if the source state can transfer its serialized data to the destination state.
+ State that have serialized data to be transfered to the destination state.
+ Destination state.
+
+ Returns true if the source state have the same number of columns as the destination state.
+
-
+
- The maximum number of times to supersample a texel to reduce aliasing in AO.
+ Column state.
-
+
- The number of rays to cast for computing ambient occlusion.
+ Option to allow/disallow hiding the column from the context menu.
-
+
- Allows to control the lightmapping job.
+ Option to allow the column to resize automatically when resizing the entire MultiColumnHeader.
-
+
- Boost the albedo.
+ Is sorting enabled for this column. If false, left-clicking this column header has no effect.
-
+
- Returns the current lightmapping build progress or 0 if Lightmapping.isRunning is false.
+ If this is set then it is used for the context menu for toggling visibility, if not set then the ::headerContent is used.
-
+
- Delegate which is called when bake job is completed.
+ This is the GUIContent that will be rendered in the column header.
-
+
- The lightmap baking workflow mode used. Iterative mode is default, but you can switch to on demand mode which bakes only when the user presses the bake button.
+ Alignment of the header content.
-
+
- Scale for indirect lighting.
+ Maximum width of the column.
-
+
- Returns true when the bake job is running, false otherwise (Read Only).
+ Minimum width of the column.
-
+
- The lighting data asset used by the active scene.
+ Value that controls if this column is sorted ascending or descending.
-
+
- Stars a synchronous bake job.
+ Alignment of the sorting arrow.
-
+
- Starts an asynchronous bake job.
+ The width of the column.
-
+
- Starts a synchronous bake job, but only bakes light probes.
+ Constructor.
+ Column data.
-
+
- Starts an asynchronous bake job, but only bakes light probes.
+ Overwrites the seralized fields from the source state to the destination state.
+ State that have serialized data to be transfered to the destination state.
+ Destination state.
-
+
- Bakes an array of scenes.
+ Base class for a compound handle to edit a bounding volume in the Scene view.
- The path of the scenes that should be baked.
-
+
- Starts a synchronous bake job for the probe.
+ Flags specifying which axes should display control handles.
- Target probe.
- The location where cubemap will be saved.
-
- Returns true if baking was succesful.
-
-
+
- Starts a synchronous bake job for the selected objects.
+ Gets or sets the center of the bounding volume for the handle.
-
+
- Starts an asynchronous bake job for the selected objects.
+ Specifies the color of the control handles.
-
+
- Cancels the currently running asynchronous bake job.
+ An optional Handles.CapFunction to use when displaying the control handles. Defaults to Handles.DotHandleCap if no value is specified.
-
+
- Deletes all lightmap assets and makes all lights behave as if they weren't baked yet.
+ An optional Handles.HandleSizeFunction to specify how large the control handles should be in the space of Handles.matrix. Defaults to a fixed screen-space size.
-
+
- Clears the cache used by lightmaps, reflection probes and default reflection.
+ Specifies the color of the wireframe shape.
-
+
- Remove the lighting data asset used by the current scene.
+ A flag enumeration for specifying which axes on a PrimitiveBoundsHandle object should be enabled.
-
+
- Get how many chunks the terrain is divided into for GI baking.
+ All axes.
- The terrain.
- Number of chunks in terrain width.
- Number of chunks in terrain length.
-
+
- Workflow mode for lightmap baking. Default is Iterative.
+ No axes.
-
+
- Always run lightmapping, changes to the scene are detected automatically.
+ X-axis (bit 0).
-
+
- Deprecated 4.x lightmapping support.
+ Y-axis (bit 1).
-
+
- Run lightmapping only when the user presses the bake button.
+ Z-axis (bit 2).
-
+
- Delegate used by Lightmapping.completed callback.
+ Create a new instance of the PrimitiveBoundsHandle class.
+ An integer value used to generate consistent control IDs for each control handle on this instance. You may use any value you like, but should avoid using the same value for all of your PrimitiveBoundsHandle instances.
-
+
- Calculates a Delaunay Tetrahedralization of the 'positions' point set - the same way the lightmapper.
+ A function to display this instance in the current handle camera using its current configuration.
-
-
-
-
+
- LOD Utility Helpers.
+ Draw a wireframe shape for this instance. Subclasses must implement this method.
-
+
- Recalculate the bounding region for the given LODGroup.
+ Gets the current size of the bounding volume for this instance.
-
+
+ The current size of the bounding volume for this instance.
+
-
+
- Mac fullscreen mode.
+ An enumeration of directions the handle moves in.
-
+
- Capture the display.
+ This value corresponds to the handle moving in a negative direction away from PrimitiveBoundsHandle.center along the x-axis.
-
+
- Fullscreen window.
+ This value corresponds to the handle moving in a negative direction away from PrimitiveBoundsHandle.center along the y-axis.
-
+
- Fullscreen window with Dock and Menu bar.
+ This value corresponds to the handle moving in a negative direction away from PrimitiveBoundsHandle.center along the z-axis.
-
+
- The Unity Material Editor.
+ This value corresponds to the handle moving in a positive direction away from PrimitiveBoundsHandle.center along the x-axis.
-
+
- Is the current material expanded.
+ This value corresponds to the handle moving in a positive direction away from PrimitiveBoundsHandle.center along the y-axis.
-
+
- Useful for indenting shader properties that need the same indent as mini texture field.
+ This value corresponds to the handle moving in a positive direction away from PrimitiveBoundsHandle.center along the z-axis.
-
+
- Apply initial MaterialPropertyDrawer values.
+ Gets a value indicating whether the specified axis is enabled for the current instance.
-
-
+ An Axes.
+ An integer corresponding to an axis on a Vector3. For example, 0 is x, 1 is y, and 2 is z.
+
+ true if the specified axis is enabled; otherwise, false.
+
-
+
- Apply initial MaterialPropertyDrawer values.
+ Gets a value indicating whether the specified axis is enabled for the current instance.
-
-
+ An Axes.
+ An integer corresponding to an axis on a Vector3. For example, 0 is x, 1 is y, and 2 is z.
+
+ true if the specified axis is enabled; otherwise, false.
+
-
+
- Called when the Editor is woken up.
+ A callback for when a control handle was dragged in the scene.
+ The handle that was dragged.
+ The raw Bounds for this instance's volume at the time the control handle was clicked.
+ The raw Bounds for this instance's volume based on the updated handle position.
+
+ The bounds that should be applied to this instance, with any necessary modifications applied.
+
-
+
- Draw a property field for a color shader property.
+ Set handleColor and wireframeColor to the same value.
- Label for the property.
-
-
+ The color to use for the control handles and the wireframe shape.
-
+
- Draw a property field for a color shader property.
+ Sets the current size of the bounding volume for this instance.
- Label for the property.
-
-
+ A Vector3 specifying how large the bounding volume is along all of its axes.
-
+
- Default handling of preview area for materials.
+ The SearchField control creates a text field for a user to input text that can be used for searching.
-
-
-
+
- Default toolbar for material preview area.
+ Changes the keyboard focus to the search field when the user presses ‘Ctrl/Cmd + F’ when set to true. It is true by default.
-
+
- Handles UI for one shader property ignoring any custom drawers.
+ This event is dispatched when the focused search field detects that the down or up key is pressed and can be used to change keyboard focus to another control, such as the TreeView.
-
-
-
+
-
+
- Handles UI for one shader property ignoring any custom drawers.
+ This is the controlID used for the text field to obtain keyboard focus.
-
-
-
-
+
- Draw a property field for a float shader property.
+ This function returns true if the search field has keyboard focus.
- Label for the property.
-
-
-
+
- Draw a property field for a float shader property.
+ This function displays the search field with the default UI style and uses the GUILayout class to automatically calculate the position and size of the Rect it is rendered to. Pass an optional list to specify extra layout properties.
- Label for the property.
-
-
+ Text string to display in the search field.
+ An optional list of layout options that specify extra layout properties. <br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
+
+ The text entered in the search field. The original input string is returned instead if the search field text was not changed.
+
-
+
- Calculate height needed for the property, ignoring custom drawers.
+ This function displays the search field with the default UI style in the given Rect.
-
+ Rectangle to use for the search field.
+ Text string to display in the search field.
+
+ The text entered in the search field. The original input string is returned instead if the search field text was not changed.
+
-
+
- Utility method for GUI layouting ShaderGUI. Used e.g for the rect after a left aligned Color field.
+ This function displays a search text field with the given Rect and UI style parameters.
- Field Rect.
+ Rectangle to use for the search field.
+ Text string to display in the search field.
+ The text field style.
+ The cancel button style used when there is text in the search field.
+ The cancel button style used when there is no text in the search field.
- A sub rect of the input Rect.
+ The text entered in the SearchField. The original input string is returned instead if the search field text was not changed.
-
+
- Utility method for GUI layouting ShaderGUI.
+ This function displays the search field with the toolbar UI style and uses the GUILayout class to automatically calculate the position and size of the Rect it is rendered to. Pass an optional list to specify extra layout properties.
- Field Rect.
+ Text string to display in the search field.
+ An optional list of layout options that specify extra layout properties. <br>
+See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight,
+GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight.
- A sub rect of the input Rect.
+ The text entered in the search field. The original input string is returned instead if the search field text was not changed.
-
+
- Utility method for GUI layouting ShaderGUI.
+ This function displays the search field with a toolbar style in the given Rect.
- Field Rect.
+ Rectangle to use for the search field.
+ Text string to display in the search field.
- A sub rect of the input Rect.
+ The text entered in the search field. The original input string is returned instead if the search field text was not changed.
-
+
- Get shader property information of the passed materials.
+ This is a generic callback delegate for SearchField events and does not take any parameters.
-
-
+
- Get information about a single shader property.
+ This function changes keyboard focus to the search field so a user can start typing.
- Selected materials.
- Property name.
- Property index.
-
+
- Get information about a single shader property.
+ A compound handle to edit a sphere-shaped bounding volume in the Scene view.
- Selected materials.
- Property name.
- Property index.
-
+
- Calculate height needed for the property.
+ Gets or sets the radius of the capsule bounding volume.
-
-
-
+
- Calculate height needed for the property.
+ Create a new instance of the SphereBoundsHandle class.
-
-
+ An integer value used to generate consistent control IDs for each control handle on this instance. You may use any value you like, but should avoid using the same value for all of your PrimitiveBoundsHandle instances.
-
+
- Utility method for GUI layouting ShaderGUI. This is the rect after the label which can be used for multiple properties. The input rect can be fetched by calling: EditorGUILayout.GetControlRect.
+ Draw a wireframe sphere for this instance.
- Line Rect.
-
- A sub rect of the input Rect.
-
-
+
- Utility method for GUI layouting ShaderGUI.
+ A callback for when a control handle was dragged in the scene.
- Field Rect.
+ The handle that was dragged.
+ The raw Bounds for this instance's volume at the time the control handle was clicked.
+ The raw Bounds for this instance's volume based on the updated handle position.
- A sub rect of the input Rect.
+ The bounds that should be applied to this instance, with any necessary modifications applied.
-
+
- Get the value of a given texture offset for a given texture property.
+ The TreeView is an IMGUI control that lets you create tree views, list views and multi-column tables for Editor tools.
- Name of the texture property that you wish to examine the offset of.
- Does the x offset have multiple values?
- Does the y offset have multiple values?
-
+
- Returns the free rect below the label and before the large thumb object field. Is used for e.g. tiling and offset properties.
+ Indent used for all rows before the tree foldout arrows and content.
- The total rect of the texture property.
-
+
- Get the value of a given texture scale for a given texture property.
+ When using a MultiColumnHeader this value adjusts the cell rects provided for all columns except the tree foldout column.
- Name of the texture property that you wish to examine the scale of.
- Does the x scale have multiple values?
- Does the y scale have multiple values?
-
+
- Can this component be Previewed in its current state?
+ When using a MultiColumnHeader this value should be set to the column index in which the foldout arrows should appear.
-
- True if this component can be Previewed in its current state.
-
-
+
- Make a help box with a message and button. Returns true, if button was pressed.
+ Custom vertical offset of the foldout arrow.
- The message text.
- The button text.
-
- Returns true, if button was pressed.
-
-
+
- This function will draw the UI for the lightmap emission property. (None, Realtime, baked)
-
-See Also: MaterialLightmapFlags.
+ Value that returns how far the foldouts are indented for each increasing depth value.
-
+
- This function will draw the UI for the lightmap emission property. (None, Realtime, baked)
-
-See Also: MaterialLightmapFlags.
+ Value to control the spacing before the default icon and label. Can be used e.g for placing a toggle button to the left of the content.
-
+
- This function will draw the UI for the lightmap emission property. (None, Realtime, baked)
-
-See Also: MaterialLightmapFlags.
+ Width of the built-in foldout arrow.
-
+
- Called when the editor is disabled, if overridden please call the base OnDisable() to ensure that the material inspector is set up properly.
+ The current search state of the TreeView.
-
+
- Called when the editor is enabled, if overridden please call the base OnEnable() to ensure that the material inspector is set up properly.
+ True if the user is currently dragging one or more items in the TreeView, and false otherwise.
-
+
- Implement specific MaterialEditor GUI code here. If you want to simply extend the existing editor call the base OnInspectorGUI () before doing any custom GUI code.
+ The TreeView is initialized by calling Reload(). Therefore returns false until Reload() is called the first time.
-
+
- Custom preview for Image component.
+ Get the MultiColumnHeader of the TreeView. Can be null if the TreeView was created without a MultiColumnHeader.
- Rectangle in which to draw the preview.
- Background image.
-
+
- Whenever a material property is changed call this function. This will rebuild the inspector and validate the properties.
+ The hidden root item of the TreeView (it is never rendered).
-
+
- Default rendering of shader properties.
+ The fixed height used for each row in the TreeView if GetCustomRowHeight have not been overridden.
- Array of material properties.
-
+
- Render the standard material properties. This method will either render properties using a IShaderGUI instance if found otherwise it uses PropertiesDefaultGUI.
+ Current search string of the TreeView.
-
- Returns true if any value was changed.
-
-
+
- Draw a range slider for a range shader property.
+ Enable this to show alternating row background colors.
- Label for the property.
-
-
-
+
- Draw a range slider for a range shader property.
+ Enable this to show a border around the TreeView.
- Label for the property.
-
-
-
+
- Call this when you change a material property. It will add an undo for the action.
+ Returns true if the horizontal scroll bar is showing, otherwise false.
- Undo Label.
-
+
- Does this edit require to be repainted constantly in its current state?
+ Returns true if the vertical scroll bar is showing, otherwise false.
-
+
- Set EditorGUIUtility.fieldWidth and labelWidth to the default values that PropertiesGUI uses.
+ The state of the TreeView (expanded state, selection, scroll etc.)
-
+
- Set the shader of the material.
+ Returns the sum of the TreeView row heights, the MultiColumnHeader height (if used) and the border (if used).
- Shader to set.
- Should undo be registered.
-
-
+
- Set the shader of the material.
+ The controlID used by the TreeView to obtain keyboard control focus.
- Shader to set.
- Should undo be registered.
-
-
+
- Set the offset of a given texture property.
+ The Rect the TreeView is being rendered to.
- Name of the texture property that you wish to modify the offset of.
- Scale to set.
- Set the x or y component of the offset (0 for x, 1 for y).
-
+
- Set the scale of a given texture property.
+ Adds the expanded rows of the full tree to the input list. Only use this method if a full tree was built in BuildRoot.
- Name of the texture property that you wish to modify the scale of.
- Scale to set.
- Set the x or y component of the scale (0 for x, 1 for y).
+ Root of the TreeView.
+ Rows that will be refilled using the expanded state of TreeView.
-
+
- Handes UI for one shader property.
+ This is called after all rows have their RowGUI called.
-
-
-
-
+
- Handes UI for one shader property.
+ This is called before any rows have their RowGUI called.
-
-
-
-
+
- Checks if particular property has incorrect type of texture specified by the material, displays appropriate warning and suggests the user to automatically fix the problem.
+ Shows the rename overlay for a TreeViewItem.
- The texture property to check and display warning for, if necessary.
+ Item to rename.
+ Delay in seconds until the rename overlay shows.
+
+ Returns true if renaming was started. Returns false if renaming was already active.
+
-
+
- Draw a property field for a texture shader property.
+ Shows the rename overlay for a TreeViewItem.
- Label for the field.
- Draw scale / offset.
-
-
-
+ Item to rename.
+ Delay in seconds until the rename overlay shows.
+
+ Returns true if renaming was started. Returns false if renaming was already active.
+
-
+
- Draw a property field for a texture shader property.
+ Abstract method that is required to be implemented. By default this method should create the full tree of TreeViewItems and return the root.
- Label for the field.
- Draw scale / offset.
-
-
-
+
+ The root of the tree. This item can later be accessed by 'rootItem'.
+
-
+
- Draw a property field for a texture shader property.
+ Override this method to take control of how the rows are generated.
- Label for the field.
- Draw scale / offset.
-
-
-
+ Root item that was created in the BuildRoot method.
+
+ The rows list shown in the TreeView. Can later be accessed using GetRows().
+
-
+
- Draw a property field for a texture shader property.
+ Override this method to control which items are allowed to be parents.
- Label for the field.
- Draw scale / offset.
-
-
-
+ Can this item be a parent?
-
+
- Draw a property field for a texture shader property.
+ Override this method to control whether an item can be expanded or collapsed by key or mouse.
- Label for the field.
- Draw scale / offset.
-
-
-
+ Can this item be expanded/collapsed.
-
+
- Draw a property field for a texture shader property that only takes up a single line height.
+ Override this method to control whether the item can be part of a multiselection.
- Rect that this control should be rendered in.
- Label for the field.
-
-
-
- Returns total height used by this control.
-
+ Can this item be part of a multiselection.
-
+
- Method for showing a texture property control with additional inlined properites.
+ Override this method to control whether the item can be renamed using a keyboard shortcut or when clicking an already selected item.
- The label used for the texture property.
- The texture property.
- First optional property inlined after the texture property.
- Second optional property inlined after the extraProperty1.
-
- Returns the Rect used.
-
+ Can this item be renamed?
-
+
- Method for showing a texture property control with additional inlined properites.
+ This function is called whenever a TreeViewItem is clicked and dragged. It returns false by default.
- The label used for the texture property.
- The texture property.
- First optional property inlined after the texture property.
- Second optional property inlined after the extraProperty1.
-
- Returns the Rect used.
-
+
-
+
- Method for showing a texture property control with additional inlined properites.
+ Method arguments for the CanStartDrag virtual method.
- The label used for the texture property.
- The texture property.
- First optional property inlined after the texture property.
- Second optional property inlined after the extraProperty1.
-
- Returns the Rect used.
-
-
+
- Method for showing a compact layout of properties.
+ Item about to be dragged.
- The label used for the texture property.
- The texture property.
- First extra property inlined after the texture property.
- Label for the second extra property (on a new line and indented).
- Second property on a new line below the texture.
-
- Returns the Rect used.
-
-
+
- Method for showing a texture property control with a HDR color field and its color brightness float field.
+ The multi-selection about to be dragged.
- The label used for the texture property.
- The texture property.
- The color property (will be treated as a HDR color).
- The HDR color configuration used by the HDR Color Picker.
- If false then the alpha channel information will be hidden in the GUI.
-
- Return the Rect used.
-
-
+
- Draws tiling and offset properties for a texture.
+ Modifies the input rect so it is centered and have a height equal to EditorGUIUtility.singleLineHeight.
- Rect to draw this control in.
- Property to draw.
- If this control should be rendered under large texture property control use 'true'. If this control should be shown seperately use 'false'.
+ Rect to be modified and centered.
-
+
- Draws tiling and offset properties for a texture.
+ Collapse all expanded items in the TreeView.
- Rect to draw this control in.
- Property to draw.
- If this control should be rendered under large texture property control use 'true'. If this control should be shown seperately use 'false'.
-
+
- TODO.
+ This function is called automatically and handles the ExecuteCommand events for “SelectAll” and “FrameSelection”. Override this function to extend or avoid Command events.
-
-
-
-
+
- TODO.
+ Override this method to handle context clicks outside any items (but still in the TreeView rect).
-
-
-
-
+
- Draw a property field for a vector shader property.
+ Override this method to handle a context click on an item with ID TreeViewItem.id.
- Label for the field.
-
-
+ TreeViewItem id.
-
+
- Draw a property field for a vector shader property.
+ Creates a dummy TreeViewItem list. Useful when overriding BuildRows to prevent building a full tree of items.
- Label for the field.
-
-
-
+
- Describes information and value of a single shader property.
+ The TreeView is always constructed with a state object and optionally a multi-column header object if a header is needed.
+ TreeView state (expanded items, selection etc.)
+ Multi-column header for the TreeView.
-
+
- Color value of the property.
+ The TreeView is always constructed with a state object and optionally a multi-column header object if a header is needed.
+ TreeView state (expanded items, selection etc.)
+ Multi-column header for the TreeView.
-
+
- Display name of the property (Read Only).
+ Default GUI methods and properties for the TreeView class.
-
+
- Flags that control how property is displayed (Read Only).
+ Draws a bold label that have correct text color when selected and/or focused.
+ Rect to render the text in.
+ Label to render.
+ Selected state used for determining text color.
+ Focused state used for determining text color.
-
+
- Float vaue of the property.
+ Draws a bold right aligned label that have correct text color when selected and/or focused.
+ Rect to render the text in.
+ Label to render.
+ Selected state used for determining text color.
+ Focused state used for determining text color.
-
+
- Does this property have multiple different values? (Read Only)
+ Draws a foldout label that have correct text color when selected and/or focused.
+ Rect to render the text in.
+ Label to render.
+ Selected state used for determining text color.
+ Focused state used for determining text color.
-
+
- Name of the property (Read Only).
+ Draws a label that have correct text color when selected and/or focused.
+ Rect to render the text in.
+ Label to render.
+ Selected state used for determining text color.
+ Focused state used for determining text color.
-
+
- Min/max limits of a ranged float property (Read Only).
+ Draws a right aligned label that have correct text color when selected and/or focused.
+ Rect to render the text in.
+ Label to render.
+ Selected state used for determining text color.
+ Focused state used for determining text color.
-
+
- Material objects being edited by this property (Read Only).
+ Default styles used by the TreeView class.
-
+
- Texture dimension (2D, Cubemap etc.) of the property (Read Only).
+ Background style used for alternating row background colors when enabling TreeView.showAlternatingRowBackgrounds.
-
+
- Texture value of the property.
+ Background style used for alternating row background colors when enabling TreeView.showAlternatingRowBackgrounds.
-
+
- Type of the property (Read Only).
+ Bold label with alternative text color when selected and/or focused.
-
+
- Vector value of the property.
+ Right aligned bold label with alternative text color when selected and/or focused.
-
+
- Flags that control how a MaterialProperty is displayed.
+ The label that is used for foldout label with alternative text color when selected and/or focused.
-
+
- Signifies that values of this property contain High Dynamic Range (HDR) data.
+ Left aligned label with alternative text color when selected and/or focused.
-
+
- Do not show the property in the inspector.
+ Right aligend label with alternative text color when selected and/or focused.
-
+
- No flags are set.
+ Override this function to extend or change the search behavior.
-
+ Item used for matching against the search string.
+ The search string of the TreeView.
+
+ True if item matches search string, otherwise false.
+
+
+
+
+ Override this method to handle double click events on an item.
+
+ ID of TreeViewItem that was double clicked.
+
+
+
+ Method arguments for the HandleDragAndDrop virtual method.
+
+
+
+
+ When dragging items the current drag can have the following 3 positions relative to the items: Upon an item, Between two items or Outside items.
+
+
+
+
+ This index refers to the index in the children list of the parentItem where the current drag is positioned.
+
+
+
+
+ The parent item is set if the drag is either upon this item or between two of its children.
+
+
+
+
+ This value is false as long as the mouse button is down, when the mouse button is released it is true.
+
+
+
+
+ Enum describing the possible positions a drag can have relative to the items: upon a item, between two items or outside items.
+
+
+
+
+ This value is used when dragging between two items.
+
+
+
+
+ This value is used when dragging outside all items.
+
+
+
+
+ This value is used when the drag is upon a item.
+
+
+
+
+ Ends renaming if the rename overlay is shown. If called while the rename overlay is not being shown, this method does nothing.
+
+
+
+
+ Expand all collapsed items in the TreeView.
+
+
+
+
+ Override to get notified when items are expanded or collapsed. This is a general notification that the expanded state has changed.
+
+
+
+
+ Finds a TreeViewItem by an ID.
+
+ Find the TreeViewItem with this ID.
+ Sets the search to start from an item. Use 'rootItem' to search the entire tree.
+
+ This search method returns the TreeViewItem found and returns null if not found.
+
+
+
+
+ Useful for converting from TreeViewItem IDs to TreeViewItems using the current rows.
+
+ TreeViewItem IDs.
+
+ TreeViewItems.
+
+
+
+
+ This will reveal the item with ID id (by expanding the ancestors of that item) and will make sure it is visible in the ScrollView.
+
+ TreeViewItem ID.
+
+
+
+ This method is e.g. used for revealing items that are currently under a collapsed item.
+
+ TreeViewItem ID.
+
+ List of all the ancestors of a given item with ID id.
+
+
+
+
+ Utility for multi column setups. This method will clip the input rowRect against the column rect defined by columnIndexForTreeFoldouts to get the cell rect where the the foldout arrows appear.
+
+ Rect for a row.
+
+ Cell rect in a multi column setup.
+
+
+
+
+ Returns the horizontal content offset for an item. This is where the content should begin (after the foldout arrow).
+
+ Item used to determine the indent.
+
+ Indent.
+
+
+
+
+ Override to control individual row heights.
+
+ Row index.
+ Item for given row.
+
+ Height of row.
+
+
+
+
+ Returns all descendants for the item with ID id that have children.
+
+ TreeViewItem ID.
+
+ Descendants that have children.
+
+
+
+
+ Returns a list of TreeViewItem IDs that are currently expanded in the TreeView.
+
+
+ TreeViewItem IDs.
+
+
+
+
+ Returns the first and the last indices of the rows that are visible in the scroll view of the TreeView.
+
+ First row visible.
+ Last row visible.
+
+
+
+ Returns the horizontal foldout offset for an item. This is where the foldout arrow is rendered.
+
+ Item used to determine the indent.
+
+ Indent for the foldout arrow.
+
+
+
+
+ Override this method if custom GUI handling are used in RowGUI. This method for controls where the rename overlay appears.
+
+ Row rect for the item currently being renamed.
+ Row index for the item currently being renamed.
+ TreeViewItem that are currently being renamed.
+
+ The rect where the rename overlay should appear.
+
+
+
+
+ Get the rect for a row.
+
+ Row index.
+
+ Row rect.
+
+
+
+
+ This is the list of TreeViewItems that have been built in BuildRows.
+
+
+ Rows.
+
+
+
+
+ Returns the list of TreeViewItem IDs that are currently selected.
+
+
+
+
+ Override this function to control the drag and drop behavior of the TreeView.
+
+ Drag and drop arguments.
+
+
+
+ Returns true if the TreeView and its EditorWindow have keyboard focus.
+
+
+
+
+ Returns true if the TreeView has a selection.
+
+
+
+
+ Utility method for checking if the childList is identical to the one returned by the CreateChildListForCollapsedParent method.
+
+ Children list of a TreeViewItem.
+
+
+
+ Returns true if the TreeViewItem with ID id is currently expanded.
+
+ TreeViewItem ID.
+
+
+
+ Returns true if the TreeViewItem with ID id is currently selected.
+
+ TreeViewItem ID.
+
+
+
+ Override this method to handle events when the TreeView has keyboard focus.
+
+
+
+
+ This is the main GUI method of the TreeView, where the TreeViewItems are processed and drawn.
+
+ Rect where the TreeView is rendered.
+
+
+
+ Refreshes the cache of custom row rects based on the heights returned by GetCustomRowHeight.
+
+
+
+
+ Call this to force the TreeView to reload its data. This in turn causes BuildRoot and BuildRows to be called.
+
+
+
+
+ Called when rename ends either by the user completing the renaming process, when the rename overlay loses focus or is closed using EndRename.
+
+
+
+
+
+ Method arguments for the virtual method RenameEnded.
+
+
+
+
+ Is true if the rename is accepted.
+
+
+
+
+ Item with ID that are being renamed.
+
+
+
+
+ Name entered in the rename overlay.
+
+
+
+
+ The original name when starting the rename.
+
+
+
+
+ Request a repaint of the window that the TreeView is rendered in.
+
+
+
+
+ Override this method to add custom GUI content for the rows in the TreeView.
+
+ Row data.
+
+
+
+ Method arguments for the virtual method RowGUI.
+
+
+
+
+ This value is true only when the TreeView has keyboard focus and the TreeView's window has focus.
+
+
+
+
+ This value is true when the ::item is currently being renamed.
+
+
+
+
+ Item for the current row being handled in TreeView.RowGUI.
+
+
+
+
+ Label used for text rendering of the item displayName. Note this is an empty string when isRenaming == true.
+
+
+
+
+ Row index into the list of current rows.
+
+
+
+
+ Row rect for the current row being handled.
+
+
+
+
+ This value is true when the current row's item is part of the current selection.
+
+
+
+
+ If using a MultiColumnHeader for the TreeView this method can be used to get the cell rects of a row using the visible columns of the MultiColumnHeader.
+
+ Index into the list of visible columns of the multi column header.
+
+ Cell rect defined by the intersection between the row rect and the rect of the visible column.
+
+
+
+
+ If using a MultiColumnHeader for the TreeView this method can be used to convert an index from the visible columns list to a index into the actual columns in the MultiColumnHeaderState.
+
+ This index is the index into the current visible columns.
+
+ Column index into the columns array in MultiColumnHeaderState.
+
+
+
+
+ If using a MultiColumnHeader for the TreeView use this method to get the number of visible columns currently being shown in the MultiColumnHeader.
+
+
+
+
+ Override the method to get notified of search string changes.
+
+
+
+
+
+ Selects all rows in the TreeView.
+
+
+
+
+ Override the method to get notified of selection changes.
+
+ TreeViewItem IDs.
+
+
+
+ Use this method in RowGUI to peform the logic of a mouse click.
+
+ TreeViewItem clicked.
+ If true then keeps the multiselection when clicking on a item already part of the selection. If false then clears the selection before selecting the item clicked. For left button clicks this is usually false. For context clicks it is usually true so a context opereration can operate on the multiselection.
+
+
+
+ Set a single TreeViewItem to be expanded or collapsed.
+
+ TreeViewItem ID.
+ True expands item. False collapses item.
+
+ True if item changed expanded state, false if item already had the expanded state.
+
+
+
+
+ Set the current expanded TreeViewItems of the TreeView. This will overwrite the previous expanded state.
+
+ List of item IDs that should be expanded.
+
+
+
+ Expand or collapse all items under item with id.
+
+ TreeViewItem ID.
+ Expanded state: true expands, false collapses.
+
+
+
+ Calling this function changes the keyboard focus to the TreeView.
+
+
+
+
+ Calling this function changes the keyboard focus to the TreeView and ensures an item is selected. Use this function to enable key navigation of the TreeView.
+
+
+
+
+ Set the selected items of the TreeView.
+
+ TreeViewItem IDs.
+ Options for extra logic performed after the selection. See TreeViewSelectionOptions.
+
+
+
+ Set the selected items of the TreeView.
+
+ TreeViewItem IDs.
+ Options for extra logic performed after the selection. See TreeViewSelectionOptions.
+
+
+
+ Utility method using the depth of the input TreeViewItem to set the correct depths for all its descendant TreeViewItems.
+
+ TreeViewItem from which the descendentans should have their depth updated.
+
+
+
+ This function is called when CanStartDrag returns true.
+
+
+
+
+
+ Method arguments to the virtual method SetupDragAndDrop.
+
+
+
+
+ TreeViewItem IDs being dragged.
+
+
+
+
+ Utility method for initializing all the parent and children properties of the rows using the order and the depths values that have been set.
+
+ The hidden root item.
+ TreeViewItems where only the depth property have been set.
+
+
+
+ Returns a list sorted in the order in which they are shown in the TreeView.
+
+ TreeViewItem IDs.
+
+
+
+ The TreeViewItem is used to build the tree representation of a tree data structure.
+
+
+
+
+ The list of child items of this TreeViewItem.
+
+
+
+
+ The depth refers to how many ancestors this item has, and corresponds to the number of horizontal ‘indents’ this item has.
+
+
+
+
+ Name shown for this item when rendered.
+
+
+
+
+ Returns true if children has any items.
+
+
+
+
+ If set, this icon will be rendered to the left of the displayName. The icon is rendered at 16x16 points by default.
+
+
+
+
+ Unique ID for an item.
+
+
+
+
+ The parent of this TreeViewItem. If it is null then it is considered the root of the TreeViewItem tree.
+
+
+
+
+ Helper method that adds the child TreeViewItem to the children list and sets the parent property on the child.
+
+ TreeViewItem to be added to the children list.
+
+
+
+ TreeViewItem constructor.
+
+ Unique ID to identify this TreeViewItem with among all TreeViewItems of the TreeView. See Also id.
+ Depth of this TreeViewItem. See Also depth.
+ Rendered name of this TreeViewItem. See Also displayName.
+
+
+
+ TreeViewItem constructor.
+
+ Unique ID to identify this TreeViewItem with among all TreeViewItems of the TreeView. See Also id.
+ Depth of this TreeViewItem. See Also depth.
+ Rendered name of this TreeViewItem. See Also displayName.
+
+
+
+ TreeViewItem constructor.
+
+ Unique ID to identify this TreeViewItem with among all TreeViewItems of the TreeView. See Also id.
+ Depth of this TreeViewItem. See Also depth.
+ Rendered name of this TreeViewItem. See Also displayName.
+
+
+
+ Enum used by the TreeView.SetSelection method.
+
+
+
+
+ If this flag is passed to TreeView.SetSelection then the TreeView will call the its TreeView.SelectionChanged method.
+
+
+
+
+ If this flag is passed to TreeView.SetSelection no extra logic is be performed after setting selection.
+
+
+
+
+ If this flag is passed to TreeView.SetSelection then the TreeView will make sure the last item in the input selection list is visible on screen.
+
+
+
+
+ The TreeViewState contains serializable state information for the TreeView.
+
+
+
+
+ This is the list of currently expanded TreeViewItem IDs.
+
+
+
+
+ The ID for the TreeViewItem that currently is being used for multi selection and key navigation.
+
+
+
+
+ The current scroll values of the TreeView's scroll view.
+
+
+
+
+ Search string state that can be used in the TreeView to filter the tree data when creating the TreeViewItems.
+
+
+
+
+ Selected TreeViewItem IDs. Use of the SetSelection and IsSelected API will access this state.
+
+
+
+
+ Asset importing options.
+
+
+
+
+ Default import options.
+
+
+
+
+ Force a full reimport but don't download the assets from the cache server.
+
+
+
+
+ Import all assets synchronously.
+
+
+
+
+ Forces asset import as uncompressed for edition facilities.
+
+
+
+
+ User initiated asset import.
+
+
+
+
+ When a folder is imported, import all its contents as well.
+
+
+
+
+ Allow an editor class to be initialized when Unity loads without action from the user.
+
+
+
+
+ Allow an editor class method to be initialized when Unity loads without action from the user.
+
+
+
+
+ Application behavior when entering background.
+
+
+
+
+ Custom background behavior, see iOSBackgroundMode for specific background modes.
+
+
+
+
+ Application should exit when entering background.
+
+
+
+
+ Application should suspend execution when entering background.
+
+
+
+
+ Background modes supported by the application corresponding to project settings in Xcode.
+
+
+
+
+ Audio, AirPlay and Picture in Picture.
+
+
+
+
+ Uses Bluetooth LE accessories.
+
+
+
+
+ Acts as a Bluetooth LE accessory.
+
+
+
+
+ External accessory communication.
+
+
+
+
+ Background fetch.
+
+
+
+
+ Location updates.
+
+
+
+
+ Newsstand downloads.
+
+
+
+
+ No background modes supported.
+
+
+
+
+ Remote notifications.
+
+
+
+
+ Voice over IP.
+
+
+
+
+ Build configurations for the generated Xcode project.
+
+
+
+
+ Build configuration set to Debug for the generated Xcode project.
+
+
+
+
+ Build configuration set to Release for the generated Xcode project with optimization enabled.
+
+
+
+
+ A device requirement description used for configuration of App Slicing.
+
+
+
+
+ The values of the device requirement description.
+
+
+
+
+ Constructs new device requirement description.
+
+
+
+
+ Supported iOS SDK versions.
+
+
+
+
+ Device SDK.
+
+
+
+
+ Simulator SDK.
+
+
+
+
+ Activity Indicator on loading.
+
+
+
+
+ Don't Show.
+
+
+
+
+ Gray.
+
+
+
+
+ White.
+
+
+
+
+ White Large.
+
+
+
+
+ iOS status bar style.
+
+
+
+
+ Black opaque.
+
+
+
+
+ Black translucent.
+
+
+
+
+ Default.
+
+
+
+
+ Target iOS device.
+
+
+
+
+ iPad Only.
+
+
+
+
+ Universal : iPhone/iPod + iPad.
+
+
+
+
+ iPhone/iPod Only.
+
+
+
+
+ Supported iOS deployment versions.
+
+
+
+
+ iOS 4.0.
+
+
+
+
+ iOS 4.1.
+
+
+
+
+ iOS 4.2.
+
+
+
+
+ iOS 4.3.
+
+
+
+
+ iOS 5.0.
+
+
+
+
+ iOS 5.1.
+
+
+
+
+ iOS 6.0.
+
+
+
+
+ iOS 7.0.
+
+
+
+
+ iOS 7.1.
+
+
+
+
+ iOS 8.0.
+
+
+
+
+ iOS 8.1.
+
+
+
+
+ Unknown iOS version, managed by user.
+
+
+
+
+ The lighting data asset used by the active scene.
+
+
+
+
+ Bake quality setting for LightmapEditorSettings.
+
+
+
+
+ High quality bake for final renderings.
+
+
+
+
+ Low quality bake for preview renderings.
+
+
+
+
+ Various settings for the bake.
+
+
+
+
+ Ambient occlusion (AO) for direct lighting.
+
+
+
+
+ Ambient occlusion (AO) for indirect lighting.
+
+
+
+
+ Beyond this distance a ray is considered to be unoccluded.
+
+
+
+
+ Enable baked ambient occlusion (AO).
+
+
+
+
+ Determines which backend to use for baking lightmaps.
+
+
+
+
+ Determines the filtering kernel for the Progressive Path Tracer backend.
+
+
+
+
+ Determines which sampling strategy to use for baking lightmaps with the path tracing backend.
+
+
+
+
+ The maximum height of an individual lightmap texture.
+
+
+
+
+ The maximum width of an individual lightmap texture.
+
+
+
+
+ Texel separation between shapes.
+
+
+
+
+ Lightmap resolution in texels per world unit. Defines the resolution of Realtime GI if enabled. If Baked GI is enabled, this defines the resolution used for indirect lighting. Higher resolution may take a long time to bake.
+
+
+
+
+ Determines how Unity will compress baked reflection cubemap.
+
+
+
+
+ Whether to use texture compression on the generated lightmaps.
+
+
+
+
+ Backends available for baking lightmaps.
+
+
+
+
+ Backend for baking lightmaps with path tracing.
+
+
+
+
+ Backend for baking lightmaps with the Enlighten radiosity middleware.
+
+
+
+
+ The available filter kernels for the Progressive Path Tracer GI backend.
+
+
+
+
+ Filter baked results of the Progressive Path Tracer with an A-Trous kernel.
+
+
+
+
+ Filter baked results of the Progressive Path Tracer with an Gauss kernel.
+
+
+
+
+ The available filtering modes for the Progressive Path Tracer GI backend.
+
+
+
+
+ Enables the advanced filtering mode for the Progressive Path Tracer GI backend.
+
+
+
+
+ The filtering is configured automatically.
+
+
+
+
+ Turn filtering off.
+
+
+
+
+ Available sampling strategies for baking lightmaps with the path tracing backend.
+
+
+
+
+ Auto will automatically select the sampling settings.
+
+
+
+
+ Fixed sampling uses a fixed number of samples per texel. This can be used when the other strategies fail to use enough samples in some areas. It will typically be slow.
+
+
+
+
+ A collection of parameters that impact lightmap and realtime GI computations.
+
+
+
+
+ The maximum number of times to supersample a texel to reduce aliasing.
+
+
+
+
+ The percentage of rays shot from a ray origin that must hit front faces to be considered usable.
+
+
+
+
+ BakedLightmapTag is an integer that affects the assignment to baked lightmaps. Objects with different values for bakedLightmapTag are guaranteed to not be assigned to the same lightmap even if the other baking parameters are the same.
+
+
+
+
+ The radius (in texels) of the post-processing filter that blurs baked direct lighting.
+
+
+
+
+ Controls the resolution at which Enlighten stores and can transfer input light.
+
+
+
+
+ The number of rays used for lights with an area. Allows for accurate soft shadowing.
+
+
+
+
+ The amount of data used for realtime GI texels. Specifies how detailed view of the scene a texel has. Small values mean more averaged out lighting.
+
+
+
+
+ The number of rays to cast for computing irradiance form factors.
+
+
+
+
+ If enabled, the object appears transparent during GlobalIllumination lighting calculations.
+
+
+
+
+ Maximum size of gaps that can be ignored for GI (multiplier on pixel size).
+
+
+
+
+ The texel resolution per meter used for realtime lightmaps. This value is multiplied by LightmapEditorSettings.resolution.
+
+
+
+
+ Whether pairs of edges should be stitched together.
+
+
+
+
+ System tag is an integer identifier. It lets you force an object into a different Enlighten system even though all the other parameters are the same.
+
+
+
+
+ The maximum number of times to supersample a texel to reduce aliasing in AO.
+
+
+
+
+ The number of rays to cast for computing ambient occlusion.
+
+
+
+
+ Allows to control the lightmapping job.
+
+
+
+
+ Is baked GI enabled?
+
+
+
+
+ Boost the albedo.
+
+
+
+
+ Returns the current lightmapping build progress or 0 if Lightmapping.isRunning is false.
+
+
+
+
+ Delegate which is called when bake job is completed.
+
+
+
+
+ The lightmap baking workflow mode used. Iterative mode is default, but you can switch to on demand mode which bakes only when the user presses the bake button.
+
+
+
+
+ Scale for indirect lighting.
+
+
+
+
+ Returns true when the bake job is running, false otherwise (Read Only).
+
+
+
+
+ The lighting data asset used by the active scene.
+
+
+
+
+ Is realtime GI enabled?
+
+
+
+
+ Stars a synchronous bake job.
+
+
+
+
+ Starts an asynchronous bake job.
+
+
+
+
+ Starts a synchronous bake job, but only bakes light probes.
+
+
+
+
+ Starts an asynchronous bake job, but only bakes light probes.
+
+
+
+
+ Bakes an array of scenes.
+
+ The path of the scenes that should be baked.
+
+
+
+ Starts a synchronous bake job for the probe.
+
+ Target probe.
+ The location where cubemap will be saved.
+
+ Returns true if baking was succesful.
+
+
+
+
+ Starts a synchronous bake job for the selected objects.
+
+
+
+
+ Starts an asynchronous bake job for the selected objects.
+
+
+
+
+ Cancels the currently running asynchronous bake job.
+
+
+
+
+ Deletes all lightmap assets and makes all lights behave as if they weren't baked yet.
+
+
+
+
+ Clears the cache used by lightmaps, reflection probes and default reflection.
+
+
+
+
+ Remove the lighting data asset used by the current scene.
+
+
+
+
+ Force the Progressive Path Tracer to stop baking and use the computed results as they are.
+
+
+
+
+ Get how many chunks the terrain is divided into for GI baking.
+
+ The terrain.
+ Number of chunks in terrain width.
+ Number of chunks in terrain length.
+
+
+
+ Workflow mode for lightmap baking. Default is Iterative.
+
+
+
+
+ Always run lightmapping, changes to the scene are detected automatically.
+
+
+
+
+ Deprecated 4.x lightmapping support.
+
+
+
+
+ Run lightmapping only when the user presses the bake button.
+
+
+
+
+ Delegate used by Lightmapping.completed callback.
+
+
+
+
+ Calculates a Delaunay Tetrahedralization of the 'positions' point set - the same way the lightmapper.
+
+
+
+
+
+
+
+ LOD Utility Helpers.
+
+
+
+
+ Recalculate the bounding region for the given LODGroup.
+
+
+
+
+
+ Mac fullscreen mode.
+
+
+
+
+ Fullscreen window.
+
+
+
+
+ Fullscreen window with Dock and Menu bar.
+
+
+
+
+ The Unity Material Editor.
+
+
+
+
+ Is the current material expanded.
+
+
+
+
+ Useful for indenting shader properties that need the same indent as mini texture field.
+
+
+
+
+ Apply initial MaterialPropertyDrawer values.
+
+
+
+
+
+
+ Apply initial MaterialPropertyDrawer values.
+
+
+
+
+
+
+ Called when the Editor is woken up.
+
+
+
+
+ Draw a property field for a color shader property.
+
+ Label for the property.
+
+
+
+
+
+ Draw a property field for a color shader property.
+
+ Label for the property.
+
+
+
+
+
+ Default handling of preview area for materials.
+
+
+
+
+
+
+ Default toolbar for material preview area.
+
+
+
+
+ Handles UI for one shader property ignoring any custom drawers.
+
+
+
+
+
+
+
+ Handles UI for one shader property ignoring any custom drawers.
+
+
+
+
+
+
+
+ This function will draw the UI for controlling whether emission is enabled or not on a material.
+
+
+ Returns true if enabled, or false if disabled or mixed due to multi-editing.
+
+
+
+
+ Display UI for editing material's render queue setting.
+
+
+
+
+ Display UI for editing material's render queue setting within the specified rect.
+
+
+
+
+
+ Returns a properly set global illlumination flag based on the passed in flag and the given color.
+
+ Emission color.
+ Current global illumination flag.
+
+ The fixed up flag.
+
+
+
+
+ Properly sets up the globalIllumination flag on the given Material depending on the current flag's state and the material's emission property.
+
+ The material to be fixed up.
+
+
+
+ Draw a property field for a float shader property.
+
+ Label for the property.
+
+
+
+
+
+ Draw a property field for a float shader property.
+
+ Label for the property.
+
+
+
+
+
+ Calculate height needed for the property, ignoring custom drawers.
+
+
+
+
+
+ Utility method for GUI layouting ShaderGUI. Used e.g for the rect after a left aligned Color field.
+
+ Field Rect.
+
+ A sub rect of the input Rect.
+
+
+
+
+ Utility method for GUI layouting ShaderGUI.
+
+ Field Rect.
+
+ A sub rect of the input Rect.
+
+
+
+
+ Utility method for GUI layouting ShaderGUI.
+
+ Field Rect.
+
+ A sub rect of the input Rect.
+
+
+
+
+ Get shader property information of the passed materials.
+
+
+
+
+
+ Get information about a single shader property.
+
+ Selected materials.
+ Property name.
+ Property index.
+
+
+
+ Get information about a single shader property.
+
+ Selected materials.
+ Property name.
+ Property index.
+
+
+
+ Calculate height needed for the property.
+
+
+
+
+
+
+ Calculate height needed for the property.
+
+
+
+
+
+
+ Utility method for GUI layouting ShaderGUI. This is the rect after the label which can be used for multiple properties. The input rect can be fetched by calling: EditorGUILayout.GetControlRect.
+
+ Line Rect.
+
+ A sub rect of the input Rect.
+
+
+
+
+ Utility method for GUI layouting ShaderGUI.
+
+ Field Rect.
+
+ A sub rect of the input Rect.
+
+
+
+
+ Get the value of a given texture offset for a given texture property.
+
+ Name of the texture property that you wish to examine the offset of.
+ Does the x offset have multiple values?
+ Does the y offset have multiple values?
+
+
+
+ Returns the free rect below the label and before the large thumb object field. Is used for e.g. tiling and offset properties.
+
+ The total rect of the texture property.
+
+
+
+ Get the value of a given texture scale for a given texture property.
+
+ Name of the texture property that you wish to examine the scale of.
+ Does the x scale have multiple values?
+ Does the y scale have multiple values?
+
+
+
+ Can this component be Previewed in its current state?
+
+
+ True if this component can be Previewed in its current state.
+
+
+
+
+ Make a help box with a message and button. Returns true, if button was pressed.
+
+ The message text.
+ The button text.
+
+ Returns true, if button was pressed.
+
+
+
+
+ Draws the UI for setting the global illumination flag of a material.
+
+ Level of indentation for the property.
+ True if emission is enabled for the material, false otherwise.
+
+
+
+ This function will draw the UI for the lightmap emission property. (None, Realtime, baked)
+
+See Also: MaterialLightmapFlags.
+
+
+
+
+ This function will draw the UI for the lightmap emission property. (None, Realtime, baked)
+
+See Also: MaterialLightmapFlags.
+
+
+
+
+ This function will draw the UI for the lightmap emission property. (None, Realtime, baked)
+
+See Also: MaterialLightmapFlags.
+
+
+
+
+ Called when the editor is disabled, if overridden please call the base OnDisable() to ensure that the material inspector is set up properly.
+
+
+
+
+ Called when the editor is enabled, if overridden please call the base OnEnable() to ensure that the material inspector is set up properly.
+
+
+
+
+ Implement specific MaterialEditor GUI code here. If you want to simply extend the existing editor call the base OnInspectorGUI () before doing any custom GUI code.
+
+
+
+
+ Custom preview for Image component.
+
+ Rectangle in which to draw the preview.
+ Background image.
+
+
+
+ A callback that is invoked when a Material's Shader is changed in the Inspector.
+
+
+
+
+ Whenever a material property is changed call this function. This will rebuild the inspector and validate the properties.
+
+
+
+
+ Default rendering of shader properties.
+
+ Array of material properties.
+
+
+
+ Render the standard material properties. This method will either render properties using a IShaderGUI instance if found otherwise it uses PropertiesDefaultGUI.
+
+
+ Returns true if any value was changed.
+
+
+
+
+ Draw a range slider for a range shader property.
+
+ Label for the property.
+ The property to edit.
+ Position and size of the range slider control.
+
+
+
+ Draw a range slider for a range shader property.
+
+ Label for the property.
+ The property to edit.
+ Position and size of the range slider control.
+
+
+
+ Call this when you change a material property. It will add an undo for the action.
+
+ Undo Label.
+
+
+
+ Display UI for editing material's render queue setting.
+
+
+
+
+
+ Display UI for editing material's render queue setting.
+
+
+
+
+
+ Does this edit require to be repainted constantly in its current state?
+
+
+
+
+ Set EditorGUIUtility.fieldWidth and labelWidth to the default values that PropertiesGUI uses.
+
+
+
+
+ Set the shader of the material.
+
+ Shader to set.
+ Should undo be registered.
+
+
+
+
+ Set the shader of the material.
+
+ Shader to set.
+ Should undo be registered.
+
+
+
+
+ Set the offset of a given texture property.
+
+ Name of the texture property that you wish to modify the offset of.
+ Scale to set.
+ Set the x or y component of the offset (0 for x, 1 for y).
+
+
+
+ Set the scale of a given texture property.
+
+ Name of the texture property that you wish to modify the scale of.
+ Scale to set.
+ Set the x or y component of the scale (0 for x, 1 for y).
+
+
+
+ Handes UI for one shader property.
+
+
+
+
+
+
+
+ Handes UI for one shader property.
+
+
+
+
+
+
+
+ Checks if particular property has incorrect type of texture specified by the material, displays appropriate warning and suggests the user to automatically fix the problem.
+
+ The texture property to check and display warning for, if necessary.
+
+
+
+ Draw a property field for a texture shader property.
+
+ Label for the field.
+ Draw scale / offset.
+
+
+
+
+
+
+ Draw a property field for a texture shader property.
+
+ Label for the field.
+ Draw scale / offset.
+
+
+
+
+
+
+ Draw a property field for a texture shader property.
+
+ Label for the field.
+ Draw scale / offset.
+
+
+
+
+
+
+ Draw a property field for a texture shader property.
+
+ Label for the field.
+ Draw scale / offset.
+
+
+
+
+
+
+ Draw a property field for a texture shader property.
+
+ Label for the field.
+ Draw scale / offset.
+
+
+
+
+
+
+ Draw a property field for a texture shader property that only takes up a single line height.
+
+ Rect that this control should be rendered in.
+ Label for the field.
+
+
+
+ Returns total height used by this control.
+
+
+
+
+ Method for showing a texture property control with additional inlined properites.
+
+ The label used for the texture property.
+ The texture property.
+ First optional property inlined after the texture property.
+ Second optional property inlined after the extraProperty1.
+
+ Returns the Rect used.
+
+
+
+
+ Method for showing a texture property control with additional inlined properites.
+
+ The label used for the texture property.
+ The texture property.
+ First optional property inlined after the texture property.
+ Second optional property inlined after the extraProperty1.
+
+ Returns the Rect used.
+
+
+
+
+ Method for showing a texture property control with additional inlined properites.
+
+ The label used for the texture property.
+ The texture property.
+ First optional property inlined after the texture property.
+ Second optional property inlined after the extraProperty1.
+
+ Returns the Rect used.
+
+
+
+
+ Method for showing a compact layout of properties.
+
+ The label used for the texture property.
+ The texture property.
+ First extra property inlined after the texture property.
+ Label for the second extra property (on a new line and indented).
+ Second property on a new line below the texture.
+
+ Returns the Rect used.
+
+
+
+
+ Method for showing a texture property control with a HDR color field and its color brightness float field.
+
+ The label used for the texture property.
+ The texture property.
+ The color property (will be treated as a HDR color).
+ The HDR color configuration used by the HDR Color Picker.
+ If false then the alpha channel information will be hidden in the GUI.
+
+ Return the Rect used.
+
+
+
+
+ Draws tiling and offset properties for a texture.
+
+ Rect to draw this control in.
+ Property to draw.
+ If this control should be rendered under large texture property control use 'true'. If this control should be shown seperately use 'false'.
+
+
+
+ Draws tiling and offset properties for a texture.
+
+ Rect to draw this control in.
+ Property to draw.
+ If this control should be rendered under large texture property control use 'true'. If this control should be shown seperately use 'false'.
+
+
+
+ TODO.
+
+
+
+
+
+
+
+ TODO.
+
+
+
+
+
+
+
+ Draw a property field for a vector shader property.
+
+ Label for the field.
+
+
+
+
+
+ Draw a property field for a vector shader property.
+
+ Label for the field.
+
+
+
+
+
+ Describes information and value of a single shader property.
+
+
+
+
+ Color value of the property.
+
+
+
+
+ Display name of the property (Read Only).
+
+
+
+
+ Flags that control how property is displayed (Read Only).
+
+
+
+
+ Float vaue of the property.
+
+
+
+
+ Does this property have multiple different values? (Read Only)
+
+
+
+
+ Name of the property (Read Only).
+
+
+
+
+ Min/max limits of a ranged float property (Read Only).
+
+
+
+
+ Material objects being edited by this property (Read Only).
+
+
+
+
+ Texture dimension (2D, Cubemap etc.) of the property (Read Only).
+
+
+
+
+ Texture value of the property.
+
+
+
+
+ Type of the property (Read Only).
+
+
+
+
+ Vector value of the property.
+
+
+
+
+ Flags that control how a MaterialProperty is displayed.
+
+
+
+
+ Signifies that values of this property contain High Dynamic Range (HDR) data.
+
+
+
+
+ Do not show the property in the inspector.
+
+
+
+
+ No flags are set.
+
+
- Signifies that values of this property contain Normal (normalized vector) data.
+ Signifies that values of this property contain Normal (normalized vector) data.
+
+
+
+
+ Do not show UV scale/offset fields next to a texture.
+
+
+
+
+ Texture value for this property will be queried from renderer's MaterialPropertyBlock, instead of from the material. This corresponds to the "[PerRendererData]" attribute in front of a property in the shader code.
+
+
+
+
+ Material property type.
+
+
+
+
+ Color property.
+
+
+
+
+ Float property.
+
+
+
+
+ Ranged float (with min/max values) property.
+
+
+
+
+ Texture property.
+
+
+
+
+ Vector property.
+
+
+
+
+ Base class to derive custom material property drawers from.
+
+
+
+
+ Apply extra initial values to the material.
+
+ The MaterialProperty to apply values for.
+
+
+
+ Override this method to specify how tall the GUI for this property is in pixels.
+
+ The MaterialProperty to make the custom GUI for.
+ The label of this property.
+ Current material editor.
+
+
+
+ Override this method to make your own GUI for the property.
+
+ Rectangle on the screen to use for the property GUI.
+ The MaterialProperty to make the custom GUI for.
+ The label of this property.
+ Current material editor.
+
+
+
+ A pair of from and to indices describing what thing keeps what other thing alive.
+
+
+
+
+ Index into a virtual list of all GC handles, followed by all native objects.
+
+
+
+
+ Index into a virtual list of all GC handles, followed by all native objects.
+
+
+
+
+ Description of a field of a managed type.
+
+
+
+
+ Is this field static?
+
+
+
+
+ Name of this field.
+
+
+
+
+ Offset of this field.
+
+
+
+
+ The typeindex into PackedMemorySnapshot.typeDescriptions of the type this field belongs to.
+
+
+
+
+ A dump of a piece of memory from the player that's being profiled.
+
+
+
+
+ The actual bytes of the memory dump.
+
+
+
+
+ The start address of this piece of memory.
+
+
+
+
+ MemorySnapshot is a profiling tool to help diagnose memory usage.
+
+
+
+
+ Event that will be fired when a new memory snapshot comes in through the profiler connection. Its argument will be a PackedMemorySnapshot.
+
+
+
+
+
+ Requests a new snapshot from the currently connected target of the profiler. Currently only il2cpp-based players are able to provide memory snapshots.
+
+
+
+
+ A description of a GC handle used by the virtual machine.
+
+
+
+
+ The address of the managed object that the GC handle is referencing.
+
+
+
+
+ PackedMemorySnapshot is a compact representation of a memory snapshot that a player has sent through the profiler connection.
+
+
+
+
+ Connections is an array of from,to pairs that describe which things are keeping which other things alive.
+
+
+
+
+ All GC handles in use in the memorysnapshot.
+
+
+
+
+ Array of actual managed heap memory sections.
+
+
+
+
+ All native C++ objects that were loaded at time of the snapshot.
-
+
- Do not show UV scale/offset fields next to a texture.
+ Descriptions of all the C++ unity types the profiled player knows about.
-
+
- Texture value for this property will be queried from renderer's MaterialPropertyBlock, instead of from the material. This corresponds to the "[PerRendererData]" attribute in front of a property in the shader code.
+ Descriptions of all the managed types that were known to the virtual machine when the snapshot was taken.
-
+
- Material property type.
+ Information about the virtual machine running executing the managade code inside the player.
-
+
- Color property.
+ A description of a C++ unity type.
-
+
- Float property.
+ Name of this C++ unity type.
-
+
- Ranged float (with min/max values) property.
+ The index used to obtain the native C++ base class description from the PackedMemorySnapshot.nativeTypes array.
-
+
- Texture property.
+ Description of a C++ unity object in memory.
-
+
- Vector property.
+ The hideFlags this native object has.
-
+
- Texture dimension of a property.
+ InstanceId of this object.
-
+
- Texture property accepts any texture type.
+ Has this object has been marked as DontDestroyOnLoad?
-
+
- Cubemap property.
+ Is this native object an internal Unity manager object?
-
+
- No texture type is set.
+ Is this object persistent? (Assets are persistent, objects stored in scenes are persistent, dynamically created objects are not)
-
+
- Texture2D property.
+ Name of this object.
-
+
- Texture3D property.
+ The memory address of the native C++ object. This matches the "m_CachedPtr" field of UnityEngine.Object.
-
+
- Base class to derive custom material property drawers from.
+ The index used to obtain the native C++ type description from the PackedMemorySnapshot.nativeTypes array.
-
+
- Apply extra initial values to the material.
+ Size in bytes of this object.
- The MaterialProperty to apply values for.
-
+
- Override this method to specify how tall the GUI for this property is in pixels.
+ Description of a managed type.
- The MaterialProperty to make the custom GUI for.
- The label of this property.
- Current material editor.
-
+
- Override this method to make your own GUI for the property.
+ If this is an arrayType, this will return the rank of the array. (1 for a 1-dimensional array, 2 for a 2-dimensional array, etc)
- Rectangle on the screen to use for the property GUI.
- The MaterialProperty to make the custom GUI for.
- The label of this property.
- Current material editor.
-
+
- A pair of from and to indices describing what thing keeps what other thing alive.
+ Name of the assembly this type was loaded from.
-
+
- Index into a virtual list of all GC handles, followed by all native objects.
+ The base type for this type, pointed to by an index into PackedMemorySnapshot.typeDescriptions.
-
+
- Index into a virtual list of all GC handles, followed by all native objects.
+ An array containing descriptions of all fields of this type.
-
+
- Description of a field of a managed type.
+ Is this type an array?
-
+
- Is this field static?
+ Is this type a value type? (if it's not a value type, it's a reference type)
-
+
- Name of this field.
+ Name of this type.
-
+
- Offset of this field.
+ Size in bytes of an instance of this type. If this type is an arraytype, this describes the amount of bytes a single element in the array will take up.
-
+
- The typeindex into PackedMemorySnapshot.typeDescriptions of the type this field belongs to.
+ The actual contents of the bytes that store this types static fields, at the point of time when the snapshot was taken.
-
+
- A dump of a piece of memory from the player that's being profiled.
+ The typeIndex of this type. This index is an index into the PackedMemorySnapshot.typeDescriptions array.
-
+
- The actual bytes of the memory dump.
+ The address in memory that contains the description of this type inside the virtual machine. This can be used to match managed objects in the heap to their corresponding TypeDescription, as the first pointer of a managed object points to its type description.
-
+
- The start address of this piece of memory.
+ Information about a virtual machine that provided a memory snapshot.
+
+
+
+
+ Allocation granularity in bytes used by the virtual machine allocator.
+
+
+
+
+ Offset in bytes inside the object header of an array object where the bounds of the array is stored.
+
+
+
+
+ Size in bytes of the header of an array object.
+
+
+
+
+ Offset in bytes inside the object header of an array object where the size of the array is stored.
+
+
+
+
+ A version number that will change when the object layout inside the managed heap will change.
+
+
+
+
+ Size in bytes of the header of each managed object.
+
+
+
+
+ Size in bytes of a pointer.
+
+
+
+
+ Menu class to manipulate the menu item.
+
+
+
+
+ Default constructor.
+
+
+
+
+ Get the check status of the given menu.
+
+
+
+
+
+ Set the check status of the given menu.
+
+
+
+
+
+
+ Used to extract the context for a MenuItem. MenuCommand objects are passed to custom menu item functions defined using the MenuItem attribute.
+
+
+
+
+ Context is the object that is the target of a menu command.
+
+
+
+
+ An integer for passing custom information to a menu item.
+
+
+
+
+ Creates a new MenuCommand object.
+
+
+
+
+
+
+ Creates a new MenuCommand object.
+
+
+
+
+
+ The MenuItem attribute allows you to add menu items to the main menu and inspector context menus.
+
+
+
+
+ Creates a menu item and invokes the static function following it, when the menu item is selected.
+
+ The itemName is the menu item represented like a pathname.
+ For example the menu item could be "GameObject/Do Something".
+ If isValidateFunction is true, this is a validation
+ function and will be called before invoking the menu function with the same itemName.
+ The order by which the menu items are displayed.
+
+
+
+ Creates a menu item and invokes the static function following it, when the menu item is selected.
+
+ The itemName is the menu item represented like a pathname.
+ For example the menu item could be "GameObject/Do Something".
+ If isValidateFunction is true, this is a validation
+ function and will be called before invoking the menu function with the same itemName.
+ The order by which the menu items are displayed.
+
+
+
+ Creates a menu item and invokes the static function following it, when the menu item is selected.
+
+ The itemName is the menu item represented like a pathname.
+ For example the menu item could be "GameObject/Do Something".
+ If isValidateFunction is true, this is a validation
+ function and will be called before invoking the menu function with the same itemName.
+ The order by which the menu items are displayed.
+
+
+
+ Various utilities for mesh manipulation.
+
+
+
+
+ Returns the mesh compression setting for a Mesh.
+
+ The mesh to get information on.
+
+
+
+ Optimizes the mesh for GPU access.
+
+
+
+
+
+ Change the mesh compression setting for a mesh.
+
+ The mesh to set the compression mode for.
+ The compression mode to set.
+
+
+
+ Will insert per-triangle uv2 in mesh and handle vertex splitting etc.
+
+
+
+
+
+
+ User message types.
+
+
+
+
+ Error message.
-
+
- MemorySnapshot is a profiling tool to help diagnose memory usage.
+ Info message.
-
+
- Event that will be fired when a new memory snapshot comes in through the profiler connection. Its argument will be a PackedMemorySnapshot.
+ Neutral message.
-
-
+
- Requests a new snapshot from the currently connected target of the profiler. Currently only il2cpp-based players are able to provide memory snapshots.
+ Warning message.
-
+
- A description of a GC handle used by the virtual machine.
+ Compressed texture format for target build platform.
-
+
- The address of the managed object that the GC handle is referencing.
+ ASTC texture compression.
-
+
- PackedMemorySnapshot is a compact representation of a memory snapshot that a player has sent through the profiler connection.
+ ATI texture compression. Available on devices running Adreno GPU, including HTC Nexus One, Droid Incredible, EVO, and others.
-
+
- Connections is an array of from,to pairs that describe which things are keeping which other things alive.
+ S3 texture compression, nonspecific to DXT variant. Supported on devices running Nvidia Tegra2 platform, including Motorala Xoom, Motorola Atrix, Droid Bionic, and others.
-
+
- All GC handles in use in the memorysnapshot.
+ ETC1 texture compression (or RGBA16 for textures with alpha), supported by all devices.
-
+
-