Skip to content

1b - TO TEST - feat: XRI player rig (VR - Player XRI.prefab with XriRig) boots into … - #420

Merged
JaXt0r merged 2 commits into
engine/hvr-replacementfrom
engine/hvr-replacement-1b
Oct 23, 2026
Merged

JaXt0r merged 2 commits into
engine/hvr-replacementfrom
engine/hvr-replacement-1b

Conversation

@JaXt0r

@JaXt0r JaXt0r commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Merge order: 1a → 1b → 1c → 1d → 2a → 2b → 3a → 3b → 3c, all into engine/hvr-replacement (no stacking). Each branch still contains the commits of the earlier steps, so after the earlier PR is merged the diff of this one shrinks to its own step. Plan: Docs/HVR-replacement/.

Description

Phase 1b of the HVR → XR Interaction Toolkit (XRI) replacement: a second player rig on XRI. Default backend stays Hvr, so nothing changes for players unless DeveloperConfig.VrInteractionBackend = Xri.

  • New VR - Player XRI.prefab (XR Origin, CharacterController, camera + controllers with TrackedPoseDriver, locomotion providers: move, snap/smooth turn, jump, teleport, gravity) and XriRig : IVrRig.
  • Sprint and crouch are our own on top of XRI. Comfort settings (sit/stand/player height, move direction, turn type, snap degrees, smooth speed) are mapped onto the rig. Code teleports (IVrRig.Teleport) keep the requested rotation.
  • Player.unity and Lab.unity hold both rigs; SetupPlayerController activates the rig of the active backend and destroys the other one. On Hvr the HVR player is now activated there too, not by being active in the scene.
  • IVrBackend.OwnsRig, backend registered in DI; Gothic.VR.asmdef references Unity.XR.CoreUtils.

Not in this PR: UI/laser, fades (1c), simulator (1d), grabbing (2).

To test

  • - Hvr (default): boot G1 and G2 into the world, walk/turn/menu as before. Only one player rig exists in the scene.
  • - Xri (set VrInteractionBackend = Xri in your local DeveloperConfig, remember to set it back): game boots into the world, spawn position equals the Hvr one.
  • - Xri: walk, sprint (left stick click), jump, crouch toggle, snap and smooth turn; accessibility menu changes (sit/stand, move direction, turn type) apply live.
  • - Xri: new game spawn and Marvin goto teleport keep the facing direction; falling from a ledge lands you grounded.
  • - Xri in a headset: Marvin menu on the left controller sits where you can reach it (placement is unverified).
  • Known: no menu laser yet on Xri (1c), no simulator (1d), no grabbing (2).

Test on (delete if irrelevant)

  • PCVR
  • Mobile VR (Quest/Pico)

🤖 Generated with Claude Code

JaXt0r and others added 2 commits October 22, 2026 14:01
…the world on the Xri backend: spawn and code teleports with rotation, gravity, walk/sprint/crouch/jump and snap/smooth turn settings; Player.unity and Lab.unity hold both rigs and SetupPlayerController keeps the one of the active backend (HVR phase 1b). No player-visible change on the default Hvr backend.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@JaXt0r

JaXt0r commented Oct 22, 2026

Copy link
Copy Markdown
Contributor Author

Still needs to be tested with real VR setup.

@JaXt0r JaXt0r changed the title feat: XRI player rig (VR - Player XRI.prefab with XriRig) boots into … 1b - feat: XRI player rig (VR - Player XRI.prefab with XriRig) boots into … Oct 22, 2026
@JaXt0r JaXt0r changed the title 1b - feat: XRI player rig (VR - Player XRI.prefab with XriRig) boots into … 1b - TO TEST - feat: XRI player rig (VR - Player XRI.prefab with XriRig) boots into … Oct 22, 2026
@JaXt0r
JaXt0r merged commit 2846450 into engine/hvr-replacement Oct 23, 2026
@JaXt0r
JaXt0r deleted the engine/hvr-replacement-1b branch October 23, 2026 03:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant