141,641 Commits over 4,505 Days - 1.31cph!
Use a live background in the character creator
Streamline everything into a single CharacterStage prefab
Cleanup old crappy static shot renderer
merge from paint_f1menu_fixes
optimised binbag pile - 41 renderers down to 1. There are 14 of these around the apartment complex alone.
it was a pile of 34 nested binbag prefabs plus 6 ground_junk, each carrying its own mesh lod and renderer batch, sat under a parent that had its own mesh lod on top. all 41 drew at once at close range
draw calls 41 > 1, mesh lod components 41 > 1 rendererlod, gameobjects 41 > 3
collision 34 mesh colliders -> 1 i dont t
Update: convert icons on DLC tab to be dynamic refs
- updated StoreBundleTool to auto-update stale properties after bundle assignment
- ran dyn ref bundle assign
- also made CoverImage only do non-unity-null check as it was misfiring
Tests: navigated through in editor both in db and bundle backends, tried standalone
Merge from hab_armour_damage
HAB armour returns parent hotairballoon health.
Fixed paintable dialog interactions executing (drawing, zooming, panning, orbiting) when the F1 menu is open
Fixed brush preview hiding the cursor while the F1 menu is open when hovering the cursor over the paintable area
Applied the fix to paintings / canvases, pumpkin, sculpture and neon dialogs
Before: https://files.facepunch.com/raul/2026/August/27_16-56-RingedLimpkin.mp4
After: https://files.facepunch.com/raul/2026/August/27_16-57-LawngreenSunbittern.mp4
Bit more decal work on boiler room decals
Attempting to fix pipe access point procgen spawning by generating an outter and inner terrain anchor ring to look for 'flat' terrain underneath the prefab, s2c
fix override in last change
Added 50x50cm pipe corner variant to Pipe Kit B. UV'd wires in boiler room + Decal polish.
Move gamepad options to their new section in the left bar now that there's a bunch.
reduce network range of critters
Implement gamepad cursor acceleration and options
merge from ocean_sim_waterlevel_trace_fix
Added the missing channel mixer post process effect to the nvg RRP volume asset
Boat building station deployment works with env.oceanlevel != 0
Allowed setting env.oceanlevel to negative values, whats the worst that could happen...
Crystal AR - renamed entities for consistency with other AR's, fixed missing starting ammo
Reduce gamepad cursor speed significantly when moving a UI slider.
Implement value snapping for UI sliders when using gamepad cursor.
Left trigger also stacks with this to further reduce move speed for precise UI slider control.
Holding left trigger reduces gamepad cursor speed.
Exposed cursor speed and left-trigger-held cursor speed values as convars. Add options to UI
Add left trigger to menu VDF config file.
Embed prediction code in GrenadeWeapon and ThrownWeapon - spawn an instance of PredictedThrowGhost instead
Cleanup previous single component setup
Missing files
Turn off prediction for firecrackers and survery charges
main -> character_customisation
Fixed unpowered water pump acting as a gravity source
optimised wooden storage box - LOD0 now under the batching vertex cap with no changes to skins
LOD0 999 verts, was 1,391 so it never batched inside 10m
the whole chain LOD0-3 now batches, around 30 to a draw call per band
Added the missing night light renderer feature to the DefaultRustRenderer asset
Crystal AR - updated item names & descriptions, tweaked sapphire material
Fixed the ambient lighting on view model objects being incorrect when looking at the sun
Bugfix: fix loading prefabs from asset bundles via nested components
Tests: booted in bundle editor, was able to click on shop UI
Undo: pulling in originals is unnecessary atm
Not doing it avoids accidentally pulling in unexpected prefabs that can be used outside the dynamic bundle
Tests: none
Industrial crafter doesnt need to be started again after a power loss
Cherry Picked
162328 (Updated the dummy buffer name in the CommandBufferManager for the new light bins buffer)
Updated the dummy buffer name in the CommandBufferManager for the new light bins buffer
optimised small stash and gave it a world model
removed the fraying geometry that carried a second material on LOD0/LOD1 tht was never displayed anyway.
submeshes LOD0/LOD1 2 > 1 now both draw in one call instead of two
converted to MeshLOD - also removed a duplicate Model component that had been sat on the root since 2019
new small_stash.worldmodel so you can see what you're dropping instead of burlap sack. LOD0 is cheaper than burlap sack.
Updated MissionStash, DynamicMissionStash and LogStash which embeded the same meshes and still had the old 2-slot material array against a now 1-submesh mesh.
converted those to MeshLOD as well
Gamepad cursor can be resized. Added UI slider to gamepad options
Create a nicer cursor in code for now.
Change colour on hover state.
Refactor my quick merge fix
Merge from main, including fixes
Merge from playerboat_decay_fix