Skip to main content

ROCK runtime and integration

Download ROCK on Nexus Mods · Source code

ROCK is released. It adds physical hands, object grabbing, distant pulls, weapon hand switching, shoulder stashing, and grenade interaction. Weapon handling is included in ROCK itself.

Install Fallout 4 VR, F4SEVR, the VR Address Library, and FRIK 0.79 / API 2.3 for current source before ROCK. Add PAPER for reload animations, Wall Climbing for climbing, and RobCo PALM with RPS UI Framework for the wheel and settings panels. The Nexus page tracks release-specific bugs and compatibility.

ROCK owns physics-based hands, object grabs/releases, equipped-weapon handling, collision, provider input and final interaction presentation in Fallout 4 VR. Its public API consists of 13 independently negotiated interfaces, including Configuration. RPS UI and the wheel remain separate runtime components.

Current ownership and behavior​

  • Core owns discovery/registration and lifecycle; feature tables own their own permissions, copied state and commands. Native input context, raw thumbstick, logical Jump, guarded controller access and inventory-to-hand commands remain covered by the SDK.
  • Power Armor queries and point grabs expose frame/actor classification, copied animated armor-hand poses, and commands with live grip readback and cleanup.
  • Firing grips are bilateral. Weapon 1.0 preserves its physical handling policies; the compatible Weapon 1.1 extension adds explicit right- and left-hand inventory equip.
  • Attach-only weapon parts follow their part without carrying, steering or inheriting the firing grip. They always release with the grab button; the support toggle setting applies to ordinary support grips instead.
  • Dynamic hand and weapon contact reporting separates contact evidence from exact owned-hand/weapon pair suppression. Provider body IDs remain transient.
  • ROCK's skeleton adapter integrates FRIK API 2.3. Its own feature interfaces have independent major/minor versions. Physical hand frames and final presented poses serve different purposes.
  • Native scopes preserve their current eligibility/presentation path. Do not infer visual success or a scope toggle from the existence of collision data; consume scope/sight state and its validity flags.

Handoff and attach-only indicators​

Current handoff and reattachment share lateral-cylinder geometry. Promotion radius controls reach and the existing reattachment cylinder radius controls width. Attach-only indicators use the normal target resolver and current source-local part centers, with bounded storage and generation checks. These changes extend behavior behind the existing public contract; no public slot or API version was added by the handoff/indicator implementation.

Inventory equip and retained switching​

Weapon API 1.1 lets an integrating holster mod equip a selected inventory stack into the physical right or left hand. If the FAL is carried only by the left hand and the right hand draws a holstered 10mm, ROCK retains the FAL as a loose grab in the left hand with the existing double-drop / Toggle Drop controls, then equips the pistol into the right hand. The mirrored left-hand draw retains the old weapon in the right hand. An occupied drawing hand rejects the request.

Consumers capture the exact stack, submit one request, and poll its owner-scoped result. RequestQueued is not completion. A partial failure may still leave the incoming weapon equipped, so inspect the result flags and current hand/inventory state before retrying. Virtual Holsters must integrate the new calls; this is not an automatic change to existing holster builds. The new operation preserves the Weapon 1.0 contract and requires no rebuild of old consumers.

Current-source builds and compatibility/example checks passed; in-game holster switching remains unqualified until tested with an integrating consumer.

Held placement and decoration add-ons​

Current main adds Grab 1.1 held placement and Input 1.1 click reservation. ROCK Pimp my House owns the optional decoration gesture: hold one loose world object against a fixed surface and click the physical right stick. Both hands may hold that same object. Ordinary grab and pull-to-grab remain the unlock path. ROCK itself has no decoration toggle or decoration INI key.

ROCK provides contact evidence and the native anchoring/save operation. Completed placement is not undone when an add-on stops or unregisters. Source support is separate from add-on download availability and save/reload qualification. The merged physics fix also prevents repeated hand resets during moving hand/hand or hand/weapon self-contact while retaining world-contact limits.

Configuration​

The runtime files are under the user's Documents known folder:

My Games/Fallout4VR/Mods_Config/ROCK/ROCK.ini
My Games/Fallout4VR/Mods_Config/ROCK/ROCK_Developer.ini

The consumer file is created from compiled defaults only when missing. Existing files load without regeneration or appending missing keys. Developer settings are optional overrides: a non-default edit creates an entry, reset removes that entry, and an empty developer file is removed. Supplied developer entries at defaults are preserved until that setting is explicitly edited.

The compiled catalog owns section/key/default/group metadata. Both files hot reload, including developer-file creation/removal. The wheel's ROCK/Developer pages enumerate and write through the modular Configuration interface; consumers must not implement another ROCK INI writer. Example INIs are documentation and never runtime resources or files to copy into a mod package.

Mandatory hand/body/weapon collision, core interaction haptics, fixed grab input, V.A.N.S. suppression and right-stick Favorites suppression are not INI enable switches. Configuration editors should show catalog entries, not resurrect old flags from earlier docs. Gunstock mode and the old exact-hand request remain retired. Inventory-to-hand selection is now available through the separately negotiated Weapon 1.1 API. Tunable values of supported behavior are distinct from enablement.

Runtime and build boundary​

ROCK targets Fallout4VR.exe 1.2.72.0 and upstream FRIK 0.79 / API 2.3 for current source, using FRIK's API 2.3 integration. Install upstream FRIK separately; the former hFRIK / FRIK Experimental dependency is retired. ROCK.dll belongs under Data/F4SE/Plugins. The plugin links CommonLibF4VR directly and owns its controller/support implementation.

Use custom-fast with Release for approved plugin changes; its documented local preset deploys the plugin. Documentation-only work does not require redeploying the game. SDK compilation proves headers/examples, not in-game contact, weapon alignment, scope behavior or later runtime changes.

Current developer contract​

Current ROCK exposes 13 independent interfaces through ROCKAPI_QueryInterfaceV1: Core, Hands, Collision, Grab, Touch, Weapon, WeaponParts, Animation, Input, References, PlayerController, Diagnostics and Configuration. All are major 1; Hands and WeaponParts are minor 1, and Weapon, Grab and Input offer compatible 1.1 extensions for inventory equip, held placement and placement-click reservation. Consumers register one owner and bind per-interface permissions. The previous provider/configuration exports are removed.

See the complete API index, migration guide, and runtime contract. Core Presented supplies final hand observation after FRIK world final; Complete remains an earlier control boundary. These current-source contracts can be newer than a downloaded release.