PAPER runtime and integration
Download PAPER on Nexus Mods · Source code
PAPER is released. It restores weapon reload and cycling animations, with hands following the weapon's authored animation while ROCK handles its VR pose. Install ROCK and its requirements, including FRIK 0.79 / API 2.3 for current source, then PAPER through your mod manager. Custom weapon animations are recommended; results depend on the animations supplied by each weapon.
The current Nexus release lists Virtual Reloads as incompatible. Check the release page for updates before combining them; planned support is not a current compatibility claim.
PAPER coordinates native first-person reload/manual-cycle animation with ROCK's VR pose. It owns capture, reload observations/stages, native-pose diagnostics, weapon-motion observations and development-capture policy. It consumes ROCK V1 animation phases and exposes its own PAPER V1 table: 50 function pointers, 400 bytes on x64.
Current behavior
Reload hand baselines use current generation-matched ROCK firing seats and presented hand data. They do not assume a physics hand pose is the final visual pose. One-hand and visual-only pistol support can obtain the canonical firing baseline when a full two-hand grip snapshot is absent. Invalid reads do not supply usable targets.
The vanilla SMG support reload trajectory receives a weapon-specific primary baseline translation into the corrected model frame, preserving animation rotation and scale. Consumers should read PAPER's resolved output and never apply that correction a second time.
Fixed-surface climbing suppresses PAPER's competing animation authority. An AttachOnly manipulation flag means attachment to a part, not carry ownership. Weapon classification preserves authored evidence and validity; missing source evidence is not replaced with guessed weight/type classification.
bManualReloadOnly requests suppression of automatic reload. If required native
validation fails, PAPER logs the failure and leaves vanilla automatic reload
active. A configuration flag is not proof that the native behavior took effect.
Configuration and development capture
The normal active path is the user's Documents known folder plus
My Games/Fallout4VR/Mods_Config/PAPER/PAPER.ini. PAPER creates a missing file
from compiled C++ defaults and preserves an existing file. Example INIs are
documentation only. PAPER uses one runtime INI without ROCK's separate
developer-override file. Settings can also be edited through PALM.
Development capture is off by default at the User ceiling, API activation is disallowed by default, cache access is Off, and auto-start is opt-in. Passive telemetry must not activate harvesting. Apply capture requests only within the user's ceiling, grants and renewable lease. Configuration hot reload is always enabled independently of development capture. Cache size limits take effect in the next game session.
The loaded DLL is PAPER.dll. Old Reanimate names and folders are historical
copies, not current installation instructions. The standalone SDK header is
SDK/PAPER/include/PAPERApi.h; third-party consumers need not include ROCK's
header merely to interpret PAPER-owned enums and snapshots.
Validation boundary
PAPER links CommonLibF4VR directly. Approved runtime changes use its
custom-fast Release build; SDK examples are built separately without
deployment. Source and compiler checks do not establish in-game reload alignment
or animation completeness for every weapon.
Developer integration
PAPER consumes ROCK's modular interfaces. Its own public V1 API remains a 50-call table with PAPER-specific capabilities. Use FrameComplete for control/lease timing and PresentationComplete for final native-pose readback after ROCK's Presented phase. The latter requires FrameCallbacks plus NativePosePipeline and does not advance leases. See the PAPER API.