142,715 Commits over 4,413 Days - 1.35cph!
skip sending batched packets to groups with no subscribers
SimpleLight sends on/off flags through batched system
added BatchedEntityFlags packet type
- allows IOCircuitSystem to buffer entity flag changes from IOEntities and send batched packets instead of per-entity packets
- test setup with 2000 lights goes from 26ms to <2ms on the server
Split the circuit dirty flag into two: Dirty and NeedsRebuild
so setting a circuit dirty doesnt trigger a rebuild every time
Added rebuild timings
Add spawn.reset_groups - just clears then fills all spawn groups, useful for spawn point testing
FakePlayer improvements + Test fixes
Moved the tick to every frame
Added timings command to debug circuit perf
▊█▋▅█▅▌▅▋▄▇▆▌ █▄▆▄ ▍▅▉▆ ▆▍▊▆█▊▄▉▄▉▇▉▄█▄▆ ▉▅██▄▊▊▊▌▌▅▉▆ ▆▇▆▍▊█▉ ▅▌ ▍█▌▉▋█▄▊▌▄ ▄▍▉▌▋▅ ▆▉▆▍█▊▉▉▇▋▆ ▄▊█ ▍▉▅▋▅▍▊▉▍▅ ▉▅▍▅█▆▋▉▉▌█ ▌▆▅▇▇ ▍▆▅▍ ▆▄ ▄▇▄▉ ▌▋▊▋█▋ ▊▄▇▇▊▇▄▅▄▊█▋▍▅▆▄▇▌ ▍▇ ▇ ▄▍ ▉▅ ▉▅▍ █▍▌ ▋▇ ▋▆▆▋▄▊▊▆▄▌ ▊▉ ▆█▍▇▋▇▌▌▅▇ ▊▄▋▅▄▅▅ ▊▄▋ ▋█▆▌▍▆ ▇▆▆▅ ▆▅▇▄▌▅
Set lr300 entity to use sprint pose and updated rightArm_NoRProp to use hand
▉▊ ▉▌▋▍▅▅ ▄ ▌▍▉▋ ▇▌ █▉▆▍▆█▋▍▉▋▊
▄▇▌▊▇▄▋▊▍█ ▆▌▄▌▅▌ ▅▉▍▌▇▉▋▅▊▍▊▋▊█▄█▋ ▌▍ ▋█▌▍█▄▄▊▌ ▍▊ █▄▌▆█ ▆▅▉▆ ▉▊▊▄ ▇▇▄▍▉█▋▄ ▅ ▌█▇▇▊█ ▋▆▌▌ ▆▍ ▉▉▌▇ ▍▋▆▆ ▊█▄▌▋▉▄▄▅ ▅█▆▊▆▆▇ ▌▅▉ ▊▋▄▊▌
Added coconut.tree prefab + lootspawner.
Added 3 coconuts to tropical_short_c for testing.
Manifest update.
Added binary sign step as a distinct fpbuild call in pipelines instead of bundling it as a build step
Added basic UI to supply signal, allowing selection between Default, Resources, Weapons and Med/Food drop types.
merge from automated_testing
Possibly fix some tests failing
Show icons on the marketplace terminals
Experimenting with a HeldEntitySprintModifier new animation sub system
Plays a selected animation on the right arm once the player goes above a set speed, allowing more left arm movement to show
Fades out the hands layer on the root player model as this clip fades in so we get the upper body movement
Setup on the LR right now, using the torch idle pose so it looks busted but it gets the idea across
Should only need a simple loop or single frame pose with the r_prop at the right
Added a new Drone Availability Manager entity
Exposes a variety of options for limiting the use of vending machine drones
MarketDrone.drone_disable_in_bad_weather - disables drone purchases in rain or storms
MarketDrone.drone_disable_at_night - disables drone purchases at night
MarketDrone.drone_disable_on_new_wipe - disables drones entirely for the first X hours of a wipe in reatime, defaults to 24h
Adjust both arms curve on torch attack animations
▅ ▌▉▉▋█▆▄ ▉█▆▍▍▍▌▄▅▌██▋▌ ▉▉▋ ▋▇▍█▅▍█▅█▇ ▍▋▌▊ ▊█▌▋▋▍ ▍▍▋▄▋▆ ▊▇▊█▆▆▄ ▌▍▅ ▆▊██▋▌▉▉▍ ▆▆▅▋▍
Created a new Wearable Variant Creator Window, simple tool that lets us make new premade skeleton variants
Presents a list of every wearable in the project, can pick and choose which items you want and it then produces a new prefab with the skinned meshes setup and LODs stripped
Keeps prefab links to original clothing so this shoud be more future proof as we modify/update clothing
Update: pool.usemutexpool convar (default 0) to optionally revert to original pool
- ran codegen(skipping protobuf due to mac weirdness)
Tests: booted into craggy and toggled the var. Checked pool capacities via pool.print_memory
merge from automated_testing
Moved server block in TestScenario_RocketSplashDamage
Don't catch exceptions in WrapTestAsCoroutine
Optimise mission objectives which dynamically update mission location to nearby target entities
- Use a defined layer mask which matches that which the target entity/s will be found on, was previously doing a physics cast on every layer
- Rework how entities are defined as valid for each objective to remove allocations
- Now run the location updates entirely clientside where possible, it is only used for UI things and doesn't need to be run serverside if a valid entity is in range
On our mission testing map brings serverside cost per 1s tick from ~0.4ms to ~0.07ms clientside and now garbage free
Bug fixes and optims, only snapshots dirty slots
Added cube variants of the br_sphere family, CubeEntity with size lerping support
https://files.facepunch.com/raul/1b1311b1/cube_vis.jpg
https://files.facepunch.com/raul/1b1311b1/cubes_showcase.mp4
Increased LOD2 on the apple tree again...
Added a very small chance for apples to fall just by hitting the tree (this will not happen to trees with beehives on).
https://files.facepunch.com/LukeD/2026/05/Unity_ZUViSdEn7h.mp4
Now I can finally work on my magnum opus, adding coconuts to trees in the deep sea.
Trace debug commands, logs when something happens on a circuit
illuminated pressure pad;
- game model added.
- pressure pad lights up in two conditions; when power is sent or when power is recieved. Which now allows burst of power to illuminate the pad for a small time.
- updated material, prefab and icon.
https://files.facepunch.com/curtis/1b1411b1/14_03-08-CadetblueOlingo.mp4
illuminated pressure pad;
- add baked textures for preview, not yet textured
illuminated pressure pad;
- remove redundant texture
remove debug print in WaterRendererFeature
organize deploy guide renderer feature code, fix LocalKeyword error when first bringing out a deploy guide
merge from interaction_toast_banned_fix
Better checks for when to display "Banned/Kicked from the server" in the interaction toast on disconnect
- Add a spline around the table
- Interacting sends request to mount at closest part of the spline (to the player)
merge from automated_testing
merge from automated_testing
Editor only codegen, codegen