You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This release consolidates changes from v1.7.0 through v1.10.0.
OpenXR Hand Models
Improved OpenXR hand model alignment and added a transparent ghost-hand material path.
Added configuration for hand model material override and RGBA color.
Passthrough and OpenXR Reliability
Added native passthrough controls and documentation for supported runtimes and Virtual Desktop chroma-key setup.
Reworked the OpenXR stereo copy path to synchronize work on the Unity render thread, with per-eye swapchain state tracking and safer lifecycle handling.
Added D3D11 swapchain validation and shader-resource-view integration for Unity external textures.
Native Helper and Builds
Introduced UnityGraphicsHelper ABI v2, including render-event copy tickets, device-generation tracking, SRV creation, and native diagnostics.
Updated native builds and validation for the Visual Studio 2026 v145 toolset, including packaging checks for required helper binaries and OpenXR dependencies.
MagicaCloth2 Grip Grab
Added an experimental OpenXR-only Grip interaction for nearby movable MagicaCloth2 particles, enabling hands to control physics-enabled clothing such as skirts.
Added independent hand grip poses, safe automatic release behavior, and input consumption while a clothing capture is active.
Replaced the initial fixed-step transition with damped motion and reduced the default maximum capture count to two particles per hand.
Added configuration for enabling grip grab, search radius, and maximum captured particles.
Notes
OpenXR requires Direct3D 11.
Keep the native helper and managed plugin from the same build.
This release summarizes committed changes in v1.7.0..1.10.0.
Added packaged OpenXR hand model assets under OpenXRHandModels.
Reworked OpenXR controller visualization to load hand models from an AssetBundle instead of relying only on generated primitives.
Added configurable left and right hand model asset names, hand model bundle path, hand scale, and finger curl offset.
Added lightweight JSON parsing and hand pose model helpers for hand asset metadata.
Refined OpenXR hand rendering and collider alignment so visual hands and runtime interaction proxies share the same controller pose basis.
OpenXR Passthrough
Added XR_FB_passthrough support for Meta/OpenXR runtimes that expose the extension.
Added runtime passthrough toggling through OpenXR Toggle Passthrough Keybind.
Added passthrough background color switching: when passthrough is supported, the same toggle enables passthrough and applies the configured game background color; when unsupported, the toggle only switches the configured background color.
Added a Unity Blit alpha-fix shader bundle so the OpenXR projection layer can use source alpha while preserving opaque character pixels.
Added packaged OpenXR shader assets under OpenXRShaders.
Build And Packaging
Updated build.ps1 to package OpenXR hand model assets and OpenXR shader assets into release and deployment output.
Added copy.ps1 for copying packaged plugin output.
Added BepInEx 6 Harmony dependency packaging through lib/bie6/0Harmony.dll.
Updated solution and project build metadata for the new packaging layout.
Physics Diagnostics
Removed the hardcoded PHYSICS_LOG symbol from the BepInEx 5 OpenXR release configuration.
PHYSICS_LOG diagnostics are now enabled through the explicit build option instead of always being compiled into that release target.
Documentation
Updated README documentation for the new OpenXR hand model packaging and runtime setup.
Configuration
Config
Type
Default
Description
OpenXR Hand Model AssetBundle Path
String
OpenXRHandModels\openxr_hands
AssetBundle path for OpenXR hand model prefabs. Relative paths are resolved from the plugin DLL folder.
OpenXR Left Hand Model Name
String
LeftHand
AssetBundle prefab name for the left hand model.
OpenXR Right Hand Model Name
String
RightHand
AssetBundle prefab name for the right hand model.
OpenXR Hand Model Scale
Float
1.0
Scale multiplier applied to loaded OpenXR hand prefabs.
OpenXR Hand Finger Curl Degrees
Float
90.0
Additional local finger curl rotation applied to loaded hand model bones.
OpenXR Toggle Passthrough Keybind
KeyCode
F9
Toggles XR_FB_passthrough and passthrough background color. If passthrough is unavailable, only toggles the background color.
OpenXR Passthrough Background Color
String
0 0 0 255
Solid game background color used by passthrough alpha fixing. Format: R G B A or R,G,B,A.
OpenXR Passthrough Alpha Fix Shader Bundle Path
String
OpenXRShaders\passthrough_alpha_fix
AssetBundle path for shader Hidden/UnityVRMod/PassthroughAlphaFix.
Notes
XR_FB_passthrough depends on OpenXR runtime support. If the extension is unavailable, passthrough cannot be enabled, but the configured background color can still be toggled.
Existing generated config files keep their current values. New config entries may need to be added by regenerating or manually updating the config file.
PHYSICS_LOG diagnostics should be enabled with /p:PhysicsLog=true or build.ps1 -PhysicsLog when diagnostic builds are needed.
Existing generated config files keep their current values. If the new hand collider options already exist in a config file, set them to true there to enable them.
The DynamicBone and MagicaCloth hand collision features are experimental and depend on the target character or clothing physics setup.
Set Log Level to Info when verifying patch counts such as DynamicBone or MagicaCloth collider injection logs.