140,465 Commits over 4,505 Days - 1.30cph!

Yesterday
Bugfix: fix races in parameter caches when slamming SwitchToThreadPool - UniTask synced up to commit c995d2b Tests: ran SwitchToThreadPool test - now passes
Yesterday
New(tests): add TaskTests.SwitchToThreadPool that reproduces deadlock reported by community Tests: gets stuck as expected when PooledRunners are active
Yesterday
Boat sail optimization, LOD2 and LOD3 now switch to newly baked static meshes (with lowered/raised variants) instead of the skinned mesh renderers, so they can be batched Replaced animator string usage
Yesterday
Fixed material not being applied in 3rd person Fixed honey bandage position not being the same as the regular bandage in 3rd person
Yesterday
Cleanup wolf foundation jump test
Yesterday
Merge from main
2 Days Ago
Fixed save load path registeringcomponents twice
2 Days Ago
Add test for wolf leap on foundation, not cleaned up yet
2 Days Ago
Updated all IO tests to the new syntax
2 Days Ago
merge from main
2 Days Ago
Rename navpos to navVector3, as it can also be a direction / delta, delete old navVector3, fix compile errors
2 Days Ago
Fix world space leak in wolf and tiger leaps, fix eqs donut potentially using uninitialized garbage nav nextPosition
2 Days Ago
Initial work to create dedicated navmesh position
2 Days Ago
merge from trdesk_snapping_fix
3 Days Ago
Fix an old "Cannot set the parent of the GameObject" sound error when disconnecting while on a moving train
3 Days Ago
merge from main
3 Days Ago
Slight cleanup + reformat
3 Days Ago
Fix for procedural rail lines sometimes not linking up properly at junctions There was an old bug in train track collation that could miss junctions when splitting up the splines, depending on the iteration order. Likely only became visible recently when we switched to FindObjectsByType with FindObjectsSortMode.None Tested a known case / seed that had a broken junction after initial map generation but not when loading the map from a file - now works in both scenarios
3 Days Ago
Added language.FormatPhrase * Helper function, to replace language.GetString():format() Add localization string for "Skin 0", etc (properties sub menu) Fixed DPanelSelect running convars too much on creation * When creating a bunch of icons (player model selector), it would run the convars for selected item for each item added. Now only runs the convars when the selection actually changes. Added right click menu with reset option to DColorCube Fixed DColorMixer:GetVector being always 1 change behind * This changes GetColor in DColorMixer:ValueChanged to be the new value, not the old value. This fixes player model selector color selector always being one "change tick" behind, so color resets were not really applying correctly Added ability to localize player model names, and categorize them * Data only * Added player_manager.GetAllPlayerModels() that includes categories/nice names * Added 2 new arguments to AddValidModel - nice name and category Minor derma cleanups Make DColorMixer palette centered and attempt to size it correctly * Size to fit all palette items into exact number of rows * Added DColorMixer:SetPaletteName Make DHorizontalDivider work with percentages * This helps when resizing panels, and when screen resolution changes between game sessions Fixed DPanelList ownLine handling Overhauled the default Player Model Selector * Take more of the screen by default * Improve model rendering to not have overblown phong effect * Display player model categories * Can now resize model and model selectors via a divider * Can reset player/weapon colors to default, and added palettes so you can store custom color presets (separate from all other palettes) * Preview: https://files.facepunch.com/rubat/2026/August14-3121-LightslategrayIrishsetter.png Update player model spawnicons * To get rid of the plastic phong sheen
3 Days Ago
IOTestFixture, helpers for IO2 automated tests Updated AND switch tests
3 Days Ago
Converted more stuff: seismic sensor, some audio entities, fuse box
3 Days Ago
improvements to the muzzle attachment setup unified origin point for these attachements to be at their base - makes placement much easier used prototype 17 as an example and updated its muzzle attachment positions
3 Days Ago
merge from main
3 Days Ago
attempting to normalise render sizes weapons and clothing
3 Days Ago
setting up glass ar 3p anims and world model
3 Days Ago
fix bugs with syncing the server state of the arcade to the active player, update manifest
3 Days Ago
fixed large planter gibs spawning upside down
3 Days Ago
improved first person and specifcally 3rd person muzzle brake positioning for the following: sks, thompson, sar, pistol revolver, space lr300, pump shotgun, prototype 17, mp5, m4 shotgun, m249, m16, hmlmg, custom smg and handmade smg
3 Days Ago
prefab setup, gotta regen manifest
3 Days Ago
audio + hit sounds
3 Days Ago
oops forgot meta file
3 Days Ago
add feedback for hitting notes, bootleg fake particles, level up toasts
3 Days Ago
basic replication for spectators
3 Days Ago
Initial setup for character customisation. Simple convar based system to swap between various pre-existing player model features
3 Days Ago
Glass AR - shader fix for self sorting issues in viewmodel
3 Days Ago
Converted door controller: had to set the monument door controller prefab inputs as main power slots, will need some S2P
3 Days Ago
Converted most lights, fridge and car lift
3 Days Ago
difficulty ramping
3 Days Ago
New tool Tools > Find > Unreferenced Assets Scans the project for assets that are not referenced by anything, tracing chains so that eg. a texture referenced by a material that is not used anywhere will be counted as unused Can't catch everything - assets loaded by string path in scripts won't be caught by this tool, so use with care
3 Days Ago
Right click-dragging items in the crafting queue now lets you move them around within the queue. Fade all other queued items out when dragging an item. https://files.facepunch.com/ad/1b1411b1_2026-08-14_12-27-43/crafting_reorder.mp4
3 Days Ago
merge from woodarmour_skinnable (wood armour items skinnable setup)
3 Days Ago
wood armor hat, gloves, jacket, pants skin setup, fixed icons, icon renderer, workshop scene rotations, workshop source models for each
3 Days Ago
network_range_audit -> main
3 Days Ago
optimised LOD0 of the burlap sack, much cheaper than before.
3 Days Ago
merge from main
3 Days Ago
Reduce the networking range of the following objects from 256 -> 128m (7/7)
3 Days Ago
Reduce the networking range of the following objects from 256 -> 128m (6/7)
3 Days Ago
Reduce the networking range of the following objects from 256 -> 128m (5/7)
3 Days Ago
Reduce the networking range of the following objects from 256 -> 128m (4/7)
3 Days Ago
Add a "Random" option with a dice icon to the start of the skin list, selectable/saved per-item type. With this selected, a random unlocked skin is used per craft.