Builtin Library
README.md
presets
Shake profile presets for the FPS controller. Each entry is a complete
ShakeProfile parameter table covering head bob, landing impact, idle
breathing, and trauma shake. Values are based on biomechanical research
and shipped game references (Half-Life 2, DOOM 2016, Quake).
Exports
M.realistic— default profile. ~2Hz walk, ~3Hz run, 10Hz landing decay.M.cinematic— subdued, gentler bob, faster trauma decay.M.intense— exaggerated bob and amplitudes for action/combat.M.minimal— barely-there shake for tightly composed shots.M.drunk— low-frequency wobble with large amplitudes for inebriated/dazed states.
Usage
local Presets = require("@builtin::modules.fps_controller.presets")
-- Pull a preset and use it directly, or hand it to FPSController:
local profile = Presets.cinematic
FPSController.addProfile("my_variant", profile)
Notes
- The FPS controller looks up profiles by name; this module is the
source of truth for the built-in presets.
FPSController.setProfilereads from here unless a custom profile of the same name has been registered viaFPSController.addProfile. - Custom profiles registered at runtime use the same parameter shape.
See the
realisticpreset above for the canonical field set. - Each preset is a plain data table — mutating it changes the preset globally for the current session. Clone before mutating if you only want a local variant.