155,359 Commits over 4,536 Days - 1.43cph!
NPCAnimController perf improvements
Throttle the animator param calculations if the animal has been culled, max once every 0.25
Check the livestock have changed flags before setting the animator params
Disable the F Look component when an animal is culled or if the animal is > 30m away
Don't do the snap to ground raycast if we are culled
In a scene with 40 cows, this reduces FLook and NPCAnimController total of 0.6ms to 0.1ms when occluded, 0.3ms when at a distance
merge from biofuel_generator
Merge from livestock_animals
Merge from livestock_animals
Merge from livestock_hotfixes
Added item ownership for items purchased from livestock vendor
Fixed wrong text displayed if player drops wool mid conversation
biofuel_generator_optims -> main
Add ability to turn off background errors by setting -1 in the manifest (incase it completely breaks)
Send the livestock to sell via an RPC rather than relying on client side triggers to match up with server side triggers
- Run client animations in invoke repeating
- Only run stirring animations when actually stirring
- Run server updates in invoke randomised rather than invoke repeating
Add additional rate limiting to background errors
- I expect these can be spammy, so limit to 2 errors per minute
- controlled by manifest so it can be increased if we want
much more accurate collision meshes for sandbag barricades
https://files.facepunch.com/pilgrim/2026/September/29_00-31-PassionatePrayingmantis.mp4
merge from render_pipeline_testing
Lighting & FX polish.
Hooked up logic to the non-emissive texture entities.
Fixed all the display sprites being uncompressed.
The display is an 80s'esque liquid crystal display like the texture implies.
Asset not relying on emissive textures only anymore (bad for the arm etc)
Ensure background thread errors get sent to sentry
- we fixed them being silently dropped last month, this month we collect them
Fixed netgraph being scaled and shifted offscreen
https://files.facepunch.com/raul/2026/September/29_01-00-FavorableSheldrake.jpg
█ ▉▉█▌▌ ▊ ▊▆▅█ ▉▍▌▄▇▋█▌▋▌ ▋▊▌▄█▌▍█▌▅▆▍▄ █▌▇▆ ▉▆▉▇▊▊█ ▍▅▊▇█▊▅▍ ▍▊ ▋▌▊██▍ ▋▅ ▇▄▆▉▍ ▇▅▍▉▌▊ ▆█▅▍▇▅▇ ▆▊▄▅▍ ▆▄▇▋▍▋▌ ▅▆▌▆▆▊ ▆█▆▆▅█ ▅▆▆▋▆▉▌▆▆ ▅▋▄▄ ▅▄▍▉▉▊▆ ▆▋▊ █▇▅▍ ▇▅▋▅ ▍▉▉▄▊▍▇▅▅ ▄▉▉▄█▋▅▄▉▆▌▊ ▊▌▆█▊ ▌ ▇▄▊▉▄▉ ▄▌▉▉ ▅█▍ ▅██▅▊▅ ▊▄▊▄▌▋▌ ▌█▆▊ ▆ ▊▄▅▍▄▉▉█▍▄▊▅▊▍ ▅▇▊▅▅ ▋▉▆ ▍▋▊▍▋▋▆▋▉ ▉▍▆█▇ ▋ ▅▇▌▊▆▆▉█ ██▍▊▉▅ ▆▅▍▊ █▄█ ▆▄▋▋▅▅▉ ▄▆▇▉▋▉█▌▆ ▄▇▄█▇▆▉▌▅▋▊▆ █▄▊▍▇▇
Prevent teammates from using the break-in option to break into their teammate's room
merge from render_pipeline_testing (water fixes)
Fix teammates not being able to let themselves out of doors when inside them
- caused by apartment rooms losing their reference to the front door after the restart
- while the owner could still go in and out, the "anyone can let themselves out" wouldn't work
- would only happen if the server restarted after you purchased a room
fix stutter in underwater color grading transition
update to pillbox collision
more detailed collsiion for sandbag barricade - but it still defaults to convex
keep rendering water in underwater labs since the moonpool is there
merge from critter_animals
add transition from startle->flee state for when critters get hurt while they are currently startled
█ ▋█▉█▋ ▇▄▇▊ ▉▉▄▌▍▍▅▆▆▌▋▅▋▌▌
merge from fix_elevator_snapshot_nre -> main
Fix destroyed elevator floor causing NRE in ElevatorStatic.Save()
Moved radtown loot crate even further away from the window to prevent cheating
Moved loot crate in trainyard powergrid loot room and blocked off windows and railings with plywood and collider blockers
▊ ▍▇▋ ▉█▉▉▋▌▍▇▅ ▅▌▌▊ ▅ ▍▌▄▍▉▇ ▉▆▍▊▉▌ ▌▋█▄ ▌▆▉▋█ ▋▍▇▄▉▉▆▌ ▅▌▊ █▍▋▉█▋ █▄▆▇█▌▄▍▄ ▅▍▄ ▆▉▆▍▋▅▍▊ ▍▍▋▆▇▌ ▌▌▇ ▌▍▌▊▅▌▉ █▅▆▄▇▄▉▇▇▌▌ ▆▇▉▆▊▊ ▋▌█▆▍▍▊▄▅ ▉▅▆▄ █▄ ▊▋█▊▌ ▌▆▌██▍▉▍ ▉█▌▊▇▆▌▇ █▆ █▆▊▍▆▉▇ ▄▆▇▋ ▉▊▄▊▋ ▋▉▍▍▋ ▄▇▋█ ▋▊█ ▍▌▉▋▆ ▉▄ ▇▆▍▄▆▄█ ▊▆▅▄ ▌ ▌▄▉█▇▇ █▉█▌▍▉█▌ ▍▅█▌▄ ▇▅▄▆▉▌ █▋▍ ▇▇▄▉█ ▌▌██▇ ▆▇▋ ▄▉▉▆▇ ▉▇▅▆▅█▅ ▊▋▋ ▋▍▉▍▊ ▉▅▅▋▇▄▊▄█▋▄▉▊▉▅ ▉▋▆ █▌▇▌▄▅ ▊█▋▅▄▊ █▌▆ ▋▆▌▇ ▋▍ ▇▍▇▊▉▄▌█▅▊▆ ▄▋▄▅▆▋ ▄▍▅▍▇ ▉▍▌▆▆ ▆▌▆▆ ▅▄▇▅▌▄▅ ▉ ▄▌▍▉ ▉▌▉ ▋▋ ▅▉▉▋▇▊
merge from fix_crash_uploader_release -> main
Fix crashes from previous updates being uploaded despite not having the sentry tags written
- don't upload old crashes (if we made it past bootstrap but didn't write a crash marker)
- still upload crashes that never made it to bootstrap (since this is before crash marker could be written)
- tag crashes that didn't make it to bootstrap as "bootstrap crashes" so we can see what crashes happened really early
- if we find a bunch of crashes happening before bootstrap we will find a way to include the actual changeset (since we don't read changeset until we get to bootstrap)
fix mortar desync when reconnecting/entering network range
Boarded up gaps that you could shoot through into the loot room in Harbor 1
Boarded up all windows that allowed for looking into and shooting into the loot room in Harbor 2
sheep sound volume tweaks
switch biofuel generator sound classes so its active loops are occluded
Merge: from poolanalyzer_validatepooledlist
- 4 bugfixes for invalid object recycling
Tests: booted unity editor, no errors. booted to craggy
updates to 3p setup following merge from main
Removed the SprintController from the entity - with the hold type gone its guard never passes,
sprint pose stayed at 1 on the right arm and hid everything the anim
subsystem was doing. Added an Aiming bool plus IdleAim/AttackAim on the 3p_nailgun_aim clips
that were sitting unused in the FBX, one handed to match the rest of the weapon, and pointed
the subsystem's AimingParameter at it.
Update: PoolAnalyzer now stop from assigning PooledList to List fields in ProtoBufs
- fixed errors found in our code
- release bin from 9bf2cc09
This causes recycling back to wrong pool(List) once protobuf is done with the object
Tests: unit tests + editor compiles