158,976 Commits over 4,566 Days - 1.45cph!
Merge from terrain_watermap_test
Remove watermap texture2D creation on procedural map, saves ~89.5MB on 4k map
Merge from livestock_digestion_boost
Merge fixes
Apply the dung boost the whole time an animal is eating an item from the trough, not just when the item is consumed (caused gaps in boost coverage)
Animals eat a booster item from the trough over any other item
Merge from main (sketchy merge, need to revert any behaviour changes)
Fixed EffectParentToWeaponBone 128B alloc per effect spawn
When in first person, don't spawn effects with HideIfOwnerFirstPerson instead of spawning and hiding them right away
Also fixed the 128B alloc in HideIfOwnerFirstPerson.OnEnable
Saves 0.1ms when firing the AK
Merge from hardcore_changes_nov_26
Reduced the amount of pooled pilot codelock 200 -> 25
Keylock 1 -> 50
Reduced the amount of pooled blowpipe dart projectiles 100 -> 4
Reduced the amount of pooled ballista projectiles 100 -> 3
Modified hardcore upkeep values
Brackets are measured by block count, so these values are for upkeep up to 15/50/125/infinite
Vanilla: 0.1/0.15/0.2/0.33
Old Hardcore: 0.2/0.3/0.4/0.66
New hardcore: 0.1/0.15/0.25/0.4
New values should increase upkeep for bases with > 65 blocks but still at a lower level compared to old hardcore
Reviewed the amount of bullet impacts and decals we prewarm
- Rock, gravel, stones, metal ore and tundra impacts were only warmed with 1 copy, now 25 like the others.
- Glass impact 25 -> 32, it stays alive for 4s+
- Bullet decals 25 -> 30, forest was set to 1, cactus lowered to 5
Merge from warm_prefabs_measure
Merge from tree_hit_forgiveness
Prewarm 10 copies of each sound templates, they were all set to 1
small-sound gets 50
Trying to get to a point where I can empty an AK magazine without instantiating any prefab
Added a level of hit forgiveness if the player is attacking a thin tree and misses
Only affects trees with a trunk radius of < 0.15m (hit_forgiveness_max_trunk)
If the player misses, we do an additional sweep of 0.12m to try and hit the tree
Update manifest, last merge broke play mode
Fixed all the references to the default unity Quad in particles not actually using it
Any of these particle being set active in builds could spike up to 7ms, caused by ParticleSystemRenderer::UpdateCachedMesh walking the Quad whole user list to check whether its already registered
It was referenced by thousands of renderers in monument prefabs, this is why the AK muzzle was slow to spawn in
167737
▋ █▋█▊█▅▉ ▄▍▌▅ ▍▉ ▉▋▄▅▄▆ ▇▊▄▄▉█▋ ▍▉▋ ▄▅▊ ▆▄▍ ▌▍▇▌ ▄▋ █▊▆ ▇▍▍▍ ▆▆▉▍▍▊▄
Merge from car_spawning_prefill
Modular cars spawned in the wild now have half of their engine slots filled with low quality parts
These parts are locked and cannot be removed until the car is loaded onto a modular car lift - making it easier to get a car up and running
Merge from halloween_2026_update
Exiting the halloween/xmas portals now shows exit as an interaction prompt
Cherry pick
167632 - prevent seasonal dungeons spawning in building priv
Also applied a 1s cache to prevent it hammering physics too much
merge from hotreload_playmode_brick_fix
Possible fix for hot reload sometimes causing issues when entering playmode and causing server startup to fail, because it held on to the port from a previous playmode session
Fixed halloween NPCs spawning inside safezones
Skip ItemIcon refreshing while not visible, now deferred to when the inventory opens
Before, any hidden icons would refresh on inventory changes, for example updating their amount and hover text every time you shot a gun
Also avoid some unnecessary OnItemAmountChanged broadcasts and hover text rebuild if data didn't change
Stop HideIfAiming deactivating the muzzle flash once its particles finish. Every reused attack effect had to reactivate it
Was spiking up to ~5-7ms in a build and only 0.2ms in editor somehow, now 0
It points at ParticleSystemRenderer::UpdateCachedMesh, checking that next
Fixed dead halloween and easter candies persisting after server restart
merge from halloween_2026_dlc
Fix food spoliling in workbench recycle bin upgrade container
Add VDF files for 6 missing gamepad types.
Update gamepad manifest.
Keep sound template AudioSources enabled while pooled, disabling them on every recycle flushed unity's audio DSP, stalling up to ~1ms when a sound got cut mid play
RecycleSound in editor:
~0.45ms -> ~0.25ms
The occasional 1ms "flush dsp connections" is gone
Fix SelectedBlueprint.CanCraft running every frame while the crafting menu is closed, small but unnecessary
scrap king building skin steam item setup
Add support for major/minor revision bumping.
Update all gamepad configs with this data.
Update validation to always check/catch chamges.
Fix all skinned items allocating on every inventory update when getting their icon sprite
Attack/AttackAlt are now Button actions on the triggers' soft pull so players can rebind fire/aim to any button (per Valve guidance).
Update all action sets/configs to match,
Improve DImage shader replacement system
* Uses case insensitive check for VertexLitGeneric, includes LightmappedGeneric now
* Handles SubRect shader materials by drawing the correct part of the texture
Try to have Paint tool UI with previews
* https://files.facepunch.com/rubat/2026/October13-3318-SecondhandWoodborer.png
Stop any rumble in Deactivate
Fixed "is3DSkybox" variable not resetting when returning from hooks
Fixed some missing textures on Half-Life 2: Episode 2 props
Try to workaround Portal using same texture names as Ep2
Remove some unused libs from menu state
Use a different delimiter for "last map" saves
* One that can't naturally occur in filenames
Change network transfer folder blacklist into a whitelist
* Seems more logical to be this way
* Also removed .ain from extension whitelist, since it's a useless for the client format that is no longer automatically sent anyway
Try resolving a crash with recent change to Entity:SetPos
Merged Pull Requests
* Remove usage of a unnecessary Think hook in DOF post processing effect
* Updated a comment in SurfaceProperties.txt
Includes higher quality Eli Vance face texture from S1 repo
Fixed typo in cam.End2D underflow error message