145,241 Commits over 4,413 Days - 1.37cph!
ensure position updates are networked to fake player
Merge from PlayerRigUpdate2
Added mannequin skinset subset, fixes NRE/kick
Merge from industrial_dlc
merge from fix_editor_reflection_probe_delay -> main
Subtract the button to disable the reflection probes since we shouldn't need it if it's updating the same rate as standalone
Fix the editor reflection probe rendering every frame
- increase delay from 0.1s -> 1s (matching runtime) + fix it not even using the 0.1s cooldown originally
merge from optimize_generate_textures_alloc -> main
Revert back to TerrainMeta.GetHeights() that returns a 64MB managed array
- keep the NativeArray for the textures themselves
- fixes mismatch from GetHeight01() not returning the same value as the terrain's heightmap
- tried calling GetHeight() on each pixel instead but is off by 1 step for certain heights so playing it safe
Update the apartment door prefabs inside the apartments
- set small, medium & large to different door prefabs to confirm they work (unsure how final art is intended to look)
Add text mesh to the apartment door prefabs (functional prototype, not pretty)
Regenerate font with all characters
Show room numbers on doors as text instead of the placeholder LCD screens above the doors
Add dripping font for the apartment door numbers
Add autoturret reskinning
Preserves loaded ammo, authlist, rc identifier and peacekeeper setting
auto_turret missing cover fix, fixed in scene prefabs, fixed workshop issues
merge from main -> optimize_generate_textures_alloc
Implement IO entity reskinning with the new system, will now always nicely adjust any connected wires / pipes to the new positions:
https://files.facepunch.com/cipeaX/2026/May/21_01-08-RightBighorn.mp4
Add culling sphere component to the apartments
Add culling support for apartment furniture
- start with large spheres around each apartment
- add extra check if the player is inside the apartment to handle corners of the apartment the culling sphere doesn't reach
Update: Codegen
Tests: builds
Merge: from main
Needs codegen
Optim: reimplement all Arg.Get* via GetStringView
Avoids allocations in the GetString fallback
Tests: unit tests
Update: add StringView-to-numeric extensions
Tests: ran unit tests
Fixed mid-length hair being skinned to eyes
Clean(tests): get rid of redundant profiling code
Tests: builds
Fix a bug causing io lines to not update correctly when multiple storage adaptors on the same barrel have connections between themselves
Optim: BuildCommand - remove another Substring alloc via StringView
Down to 3 allocs/0.34KB per call
Tests: ran a couple commands with and without args
Reconnect apartment doors to apartment prefabs
Optim: ConsoleSystem.Index uses StringView internally to avoid allocations
Tests: booted into craggy, ran a couple commands (short and fully qualified)
Put apartment elevator at the end of the wing
- add extra floor for basement
- split apartment floors into their own prefabs
Integrate item container and child item container preserving into the new system
Re-implement entity children preserving, with attachments repositioning if their sockets shifted, child io entity also have their connected lines update correctly
Fixes various current bugs with storage adaptors / door controllers when their parent is reskinned
Make ceilinglight reskinnable again, will fix reskinning io entities themselves next
Fix not being able to skin snowmobile back to default
▇ ▉▋▊▌▍▋▇ ▉▍█▋▄▌▅▇▇▇▄▉ █▊█▉▉▌▌▅ ▍▍▍█▍▍▅▋ ▍▉▄▍█ ▄▊▉▇▉▆▇█ ▋▆▍▄ ▇█▊▄▆▄▍▄▉█ ▉▄▄▋▄▋▇█ ▋▇▅▄█▍▍
Duplicated second elevator in reception area
Apartment elevator now functional
restored missing hair textures for movember moustache and santa beard
Industrial Torch - Small texture update (still WIP), changed base materials from smoothness to metalness, fixed material assignment on worldmodel (from half on to full off)
Added a viewmodel button to the skin viewer, pops the view model (wip)
increase censorship pixelation size with decreasing camera FOV (binoculars, etc) to account for further away stuff taking up more screen area
add optional override for pixelation censorship pixel size, override it for player preview so it looks correct
functional darts 1p viewmodel
Analytics event for changing entity colours with the spraycan should now be raised for all appropriate entities