An SKSE plugin for Skyrim SE / AE that gives you a Splinter Cell / Gears of War-style corner peek when RaySense - Cover Animation sticks you to a wall. Once you settle into cover, the third-person camera slides sideways so you can see past the wall's edge — you keep the concealment, you get the view. Layers additively on top of SmoothCam / True Directional Movement / Improved Camera SE without fighting them for camera ownership.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ On AI use
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Most of this plugin's code was generated by Claude Code (Anthropic). The author (KEI997) handled:
- Spec decisions, prioritization, trade-off calls
- In-game testing and bug reports (10+ rounds of log-submit → fix → retest iteration)
- Pointing the AI at specific reference mod sources ("read SmoothCam's SetPosition, use as reference")
- Reviewing and accepting/rejecting generated code
- SSEEdit ESL construction, Papyrus compilation, mod packaging
The non-trivial technical work — vtable hooks, call-site trampolines, direct camera-node writes, MCM Helper's internal file layout — was all borrowed from existing mods after reading their source. PEEK's own design choices are limited to the higher-level logic layer (how to fold 4 cover states into a left/right sign, how to damp offset by camera/character alignment, how to time the engagement delay). Per-feature attribution to the actual mod authors is listed in the GitHub README:
https://github.com/Kei-BWV997/PEEK
If any listed author objects to their source being used this way, please contact and I will rework the affected feature or adjust the credit.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ Features
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Automatic corner peek: once you enter cover via RaySense and hold it briefly (default 300 ms), the camera slides in the peek direction
- Works with all 4 RaySense cover states (front-wall-right-edge, front-wall-left-edge, side-wall-left, side-wall-right), for both unarmed and armed/shield/bow cover animations
- Independent left / right offset sliders — so you can compensate for asymmetric shoulder-swap camera presets (SmoothCam Modern Camera / EasyEase etc.)
- Optional alignment damping: when the camera is aimed away from the character's facing (relevant under TDM directional mode), the peek offset smoothly reduces to zero
- Coexists with SmoothCam, True Directional Movement, and Improved Camera SE without ownership handoff — PEEK adds an additive offset on top of whatever the other camera mods produce
- Zero physics work of its own: PEEK reads RaySense's already-published wall-distance TESGlobals instead of doing its own raycasts
- Safe no-op if RaySense is not installed — the plugin detects the missing globals and stays inert
- MCM configuration with immediate reflection (no save-load required)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ How it works (quick technical note)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Detection: reads RaySense's five wall-distance TESGlobals every frame, derives one of {NoCover, FrontR, FrontL, SideLeft, SideRight}
- Engagement: state machine with a delay timer; instant re-target on side switches
- Camera write: trampoline hook on the same PlayerCamera::Update call site TDM uses, applied AFTER SmoothCam's write in the vtable chain, so PEEK's offset stacks additively without breaking SmoothCam's positioning / smoothing
- Menu protection: writes are skipped whenever any full-screen menu is open (Journal, Inventory, MCM, Map, Tween, etc.) — prevents the imagespace pipeline from producing grayscale-world artifacts during menu backdrop capture
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ Known issues
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- First-person is auto-skipped (no first-person peek)
- SmoothCam presets with strong asymmetric shoulder swap may need manual tuning: use the separate left / right offset sliders in MCM
- During armed cover (bow / shield drawn), peek offset shifts the crosshair aim point. In practice this has no impact because your body is behind the wall and shots hit the wall anyway — but if you want to disable peek in armed states, toggle the relevant cover-state option off in MCM
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ MCM options
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
If your in-game language is set to English, the MCM should be displayed in English as well. The main options include:
- Master enable
- Peek delay (0 – 1000 ms)
- Right peek offset (0 – 200 game units)
- Left peek offset (0 – 200 game units)
- Fade by camera alignment (toggle)
- Per-cover-state enable toggles (Front R / Front L / Side Left / Side Right)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ Source code / technical details
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Open source under MIT license:
https://github.com/Kei-BWV997/PEEK
The GitHub README covers:
- Per-feature reference-source table (which mods were used for which techniques)
- Technical details of each feature (hook sites, TESGlobal names read, state machine)
TROUBLESHOOTING.md documents the eleven concrete problems encountered during development and how each was solved (SmoothCam's per-instance vtable trap, PlayerCamera::Update devirtualization, MCM Helper's undocumented two-file storage structure, the imagespace-pipeline grayscale artifact, etc.):
https://github.com/Kei-BWV997/PEEK/blob/main/docs/design/TROUBLESHOOTING.md
Bug reports and pull requests are welcome via GitHub Issues.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ About the author
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
I'm normally an OStim animator, active on the OStim Community Discord. If you want to chat about this mod, request features, or just say hi — come by:
(PEEK is not an adult mod, but I develop from that community and that's where I hang out.)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■ Requirements / Dependencies
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Required]
- Skyrim SE / AE (1.6.11xx recommended)
- SKSE64 / SKSE-AE
- Address Library for SKSE Plugins (AE version)
- Open Animation Replacer (3.0 or later)
- RaySense - Cover Animation (PEEK reads its published TESGlobals; without RaySense, PEEK safely does nothing)
- SkyUI 5.2 SE
- MCM Helper
[Strongly recommended]
- True Directional Movement — the four RaySense cover states are only fully utilised under TDM's directional mode. Without TDM, only the front-wall states realistically trigger.
- SmoothCam — PEEK is designed to layer additively on top of SmoothCam. Works without it, but SmoothCam users get the intended baseline.
[Confirmed compatible]
- True Directional Movement
- SmoothCam (tested with EasyEase Preset and Modern Camera Preset)
- Improved Camera SE
1. Install all Requirements first
2. Install the PEEK zip via your mod manager (MO2 / Vortex) and enable it
3. Make sure PEEK.esp is enabled in your load order
4. Launch the game, load a save
5. Confirm "PEEK" appears in the MCM list (Mod Configuration > PEEK)
- CommonLibSSE-NG — Ryan-rsm-McKenzie / powerof3 (SKSE runtime API)
- Precision — Ersh (build system template)
- True Directional Movement — Ersh (PlayerCamera::Update call-site trampoline hook)
- SmoothCam — mwilsnd (camera-node write pattern; menu detection approach)
- MCM Helper — Exit-9B (MCM integration + two-file storage layout)
- TrueHUD — Ersh (MCM Helper client layout, translation file format)
- RaySense - Cover Animation — Smooth (cover animation and TESGlobal publication PEEK reads)
- OpenAnimationReplacer - RaySense — skypia0147-dev (OAR custom condition source)
- Bow Charge Plus / Quick Light SE (MCM Papyrus stub structure reference)
- TETHER — my own earlier SKSE plugin (CMake / vcpkg / PCH template)
- asdt123123 — NiPointer memory-safety review comment on TETHER; shaped PEEK's pre-release audit
Origin references:
- Splinter Cell series (Ubisoft Montreal, 2002–)
- Gears of War series (Epic Games, 2006–)
Anthropic — Claude Code (the code-generation AI)
