<< All versions
Skill v1.0.0
currentLLM-judged scan90/100wingedguardian/skyrimvr-claude-toolkit/port-to-vr
──Details
PublishedOctober 24, 2026 at 11:37 AM
Content Hashsha256:f44c8af0a9c1b445...
Git SHA5357f9e42310
──Files
Files (1 file, 3.8 KB)
SKILL.md3.8 KBactive
SKILL.md · 80 lines · 3.8 KB
version: "1.0.0" name: port-to-vr description: Guided checklist for porting an SSE-only mod to Skyrim VR argument-hint: "[mod name or path]"
Port SSE Mod to VR
Systematically check the mod the user named ($ARGUMENTS in Claude Code) against every known VR incompatibility. Consult KNOWLEDGEBASE.md for full details on each item.
Step 1: SKSE Dependency Check
- Does the mod require SKSE64? → Needs SKSEVR equivalent
- Check for address library dependencies → VR address library is entirely different
- Look for DLL plugins in
Data/SKSE/Plugins/→ must be compiled against SKSEVR - Check if CommonLibSSE-NG versions exist (supports SE + AE + VR in one build)
Step 2: Papyrus Script Audit
Decompile all .pex files and check for:
- [ ]
PlayIdle()on player → fails in VR (VRIK overrides skeleton IK). Replace with timed Papyrus scripts. - [ ]
DisablePlayerControls()alone → doesn't stop VR thumbstick movement. AddSetDontMove(true). - [ ]
SetVehicle()→ causes HMD desync in VR. Must be removed entirely. - [ ]
ForceThirdPerson()/ForceFirstPerson()→ can't control VR camera. - [ ]
Input.GetMappedKey()→ returns -1 for VR controllers. Use VRIK API. - [ ]
Game.ShakeCamera()→ mostly inert in VR, leave in but document. - [ ]
SetAngle()on player → doesn't control HMD orientation.
Step 3: Skeleton Compatibility
- [ ] Check for custom skeleton nodes → PreWEAPON and PreSHIELD nodes cause CTD in VR
- [ ] Verify XP32 compatibility → need "XP32 First Person Skeleton CTD Bugfix" for VR
- [ ] Any
.hkxbehavior files → Havok behaviors work but test with VRIK IK overlay
Step 4: Physics and Combat
- [ ] Havok physics tuned for 60Hz? → VR runs at 90Hz, needs
fMaxTimeINI adjustment - [ ] Player collision assumptions → VR uses capsule vs ragdoll (not capsule vs capsule)
- [ ] Melee hit detection → in VR it is layered (HIGGS, optional collision mods, then vanilla). An SSE collision mod such as Precision lists SE/AE support on its Nexus page; check for a VR build before assuming it applies. Find out which layer the mod assumes and test against the user's actual stack.
- [ ] Weapon reach values → verify against the VR hit-detection stack, not SSE numbers
Step 5: UI and Menus
- [ ] SkyUI dependency → needs SkyUI VR fork specifically
- [ ] Custom menus/widgets → VR UI is completely reworked for controllers
- [ ] MCM menus → must use SkyUI VR MCM
- [ ] Book content → treated as 2D HUD layer in VR
Step 6: Animation System
- [ ] OAR/DAR animations → OAR has native VR support; DAR needs VR fix or OAR conversion
- [ ] Animation Motion Revolution → check its Nexus page for current VR support and the minimum version the mod needs
- [ ] SCAR → check its VR status and version; BFCO is a separate mod, not a VR port of SCAR
- [ ] Animation priorities → must be higher than MCO/ADXP for proper playback
Step 7: ESP Record Check
Serialize with Spriggit and check:
- [ ] Casting type consistency on all spells (all effects must match)
- [ ] ONAM subrecords if ESM-flagged
- [ ] ESL FormID range (xx000800-xx000FFF)
- [ ] VMAD script properties → use
GetFormFromFile()on your OWN plugin's forms to minimize properties (never another mod's — see Own Your Records), and check the result forNone
Step 8: Create VR Patch
Based on findings:
- Create a VR compatibility patch ESP if record changes are needed
- Rewrite incompatible Papyrus scripts
- Document what was changed and why
- Test in VR with VRIK, HIGGS, and OpenComposite active
Output
Provide a clear report:
- Compatible as-is: items that work without changes
- Needs patching: items that need script rewrites or ESP patches
- Incompatible: items that fundamentally can't work in VR (and workarounds if any)
- Recommended testing: specific in-game scenarios to verify