Nivalis Unofficial Patch 0.3.7
By Hvizeu

STEAM UPDATE COMPATIBILITY, NAVIGATION AND MANAGER POLICIES
For Nivalis Nights Steam build 25726588 on Windows x64.
Requires an existing BepInEx 6 IL2CPP Windows x64 installation.

INSTALL / UPDATE
Close the game. Back up your saves, configuration and current patch DLL.
Extract the BepInEx folder into the game folder beside Nivalis Nights.exe.
Replace the previous NivalisUnofficialPatch.dll; keep only one copy installed.
Keep your existing configuration. Start the game through your usual launcher.

CONFIGURE A VENUE
Venue > Staff > Edit Manager Behavior, below Staff and Working Schedule.
Choose an operating priority and expand Purchasing details for stock targets,
supplier preferences, cash reserve, spending limit and emergency purchases.
Set dish priorities to control allocation when ingredients or funds are limited.
Apply changes the next restock. Cancel discards unapplied changes.
Save the game to keep applied policies. Last-restock reports are session-only.

Money fields accept typed LIM values with a decimal point or comma.
Minus/plus use Amount adjustment for smaller/larger steps.
The compact editor groups settings in bordered sections. Dish priorities show
Low/Normal/High between minus/plus buttons, without wrapping at either end. Scroll with the wheel or the right
scrollbar; Apply, Cancel and Restore defaults stay visible.
Zero restock limit uses the game's limit. Cash reserve is always a hard floor.
Emergency orders may choose cheaper suppliers, but never bypass spending rules.

STAFF WALKING
Working employees at your venues walk 14% faster. Walking animation playback
uses the same multiplier to retain the native stride. Customers and off-duty
employees are unaffected. Active staff interaction animations play 10% faster. Staff turn-in-place
animations play 20% faster with native root rotation.
Visual foot placement still requires in-game verification.

NAVIGATION AND ERROR HANDLING
Failed navigation attachments stay disabled and retry at a bounded rate. Recovery
requires nearby matching navigation, a same-floor limit and obstacle clearance.
Staff exiting chairs use standing clearance checks; genuinely blocked exits remain
blocked. No tasks, destinations or seat reservations are invented. Mod failures
remain logged, with repeated errors summarized. Native errors remain visible.

RUNTIME PERFORMANCE
New settings are in [Performance] in hvizeu.nivalis.unofficialpatch.cfg.
RuntimeOptimizations = true is the master switch.
The old ReuseWalkingPaths option is retired: this game build changed native walking.
BudgetAmbientSpawns = true limits later ambient population to two points / 0.75 ms
per frame. A single native population call can exceed that time budget. Initial
population, removals and curfew remain immediate. Pending work cancels on teardown.
StaggerDistantAnimation = true spreads distant walking animation updates; close
characters, staff and interactions retain their existing cadence.
ThrottleOffscreenIdleSchedules = false and ReduceSkyCameraCadence = false are
optional experiments. Idle polling preserves game-clock changes; sky cadence may
introduce visible judder. Snow footprints remain native.
LogRuntimeOptimizationCounters = true logs activity once a minute, not FPS gains.
Change configuration with the game closed and restart normally.
New runtime optimizations stand down if Nivalis Performance Fix is also loaded.
Worker settings, collector internals and engine light-probe code remain unchanged.

PERFORMANCE CAPTURE (OFF BY DEFAULT)
Settings > Mods > Unofficial Patch > Diagnostics > Performance Capture.
Enable and apply, then restart the game yourself. Disable and restart after testing.
Every release includes CPU timings, frame intervals, process/Unity/mod memory,
system RAM, game GPU engine activity and dedicated/shared graphics memory capture.
Files stay under BepInEx/diagnostics/NivalisUnofficialPatch; nothing is uploaded.
Sampling adds overhead. GPU counters depend on Windows/driver support and report
unavailable explicitly. GPU engine utilization is not GPU frame or render-pass time.
GPU process memory is Windows accounting, not exclusive physical residency.
Maximum 64 MiB per session; manage old captures manually. Existing opt-in settings
are preserved on update; clean installations default to off.

BACKUPS
Policy companion files live under:
BepInEx/config/NivalisUnofficialPatch/ManagerPolicies
Back up this directory with your saves. Policies are associated with save-slot
names; use in-game saving to carry settings to a different slot. An externally
renamed save does not automatically rename its policy companion.

VALIDATION STATUS
Automated regression suites and metadata checks passed; live gameplay,
visual layout, controller interaction and native save/reload acceptance are pending.
Test on a separate save. No controlled FPS improvement has been measured.
Purchasing conflicts with other mods replacing manager purchasing remain unsupported.

FIRST CHECK
Open Edit Manager Behavior, edit a value, Cancel and reopen: the original must remain.
Apply, save and reload: the applied value must return for this venue and save.
Allow a normal restock with a cash reserve: the wallet must not fall below the
reserve due to ingredient purchasing. Check Last restock and the delivery basket.
Keep BepInEx/LogOutput.log if an error occurs and avoid overwriting the test save.
