userDaniel Pcancel
reporust_rebootcancel

2,840 Commits over 700 Days - 0.17cph!

Today
Merge: from renderbatch_meshlod_improv - Optim: allow culling to work on MeshLods if they have invalid RenderBatch setups - Optim: Avoid creating batches-of-1-mesh, as that inhibits Unity batching Tests: ran around apartment complex, didn't see rendering artifacts. compared standalone builds, shows 20% fps improvement on my setup
Today
Clean: add a comment Tests: none, trivial change
Today
Optim: permit MeshLods to use occlusion culling if it has an invalid RendererBatch Taken from 156029. Saves 30% of drawcalls in all 5 test cases, 20% of avg fps improvement in editor(will test standalone later) Tests: profiled 5 test cases, flew around keeping an eye out on weird rendering
Today
Optim: don't create procedural batch meshes if they only contain one input mesh This inhibits unity's batching via instancing. In 2 out of 5 scenarios saves 16% of draw calls/~1ms avg in editor Tests: monument island with appts and disabled world prefabs, tleeported to 5 locations and inspected profiler stats
5 Days Ago
Clean(editor): get rid of if bypass for drawing LightOccludee gizmos
5 Days Ago
Optim: LightOccludee - use a smaller occlusion sphere for spotlights with angle < 120deg - updated editor gizmo vizualization to run without starting (still needs sticky gizmos) Tests: booted on appt, went to roof and looked up, penthouse appt lights were culled. Ran around - everything looked okay, no popin
5 Days Ago
Update(editor): change window title label for MotionVectorsChecker Tests: none, trivial change
5 Days Ago
New(editor): MotionVectorsChecker - categorizes all renderers by motion vector mode Can be found at "Tools/Find/List Motion Vector generators" Tests: looked at appt monument - almost everything has per-object mode
5 Days Ago
New(editor): CulledMeshesChecker - finds all meshes without some sort of culling setup Can be found in "Tools/Find/Meshes without Occlusion setups". Tests: ran the tool on appt monument, found ~360 issues
5 Days Ago
New(editor): CulledLightsChecker, reports lights that don't have a culling setup Inspired by ShadowProxyChecker. Can be found in Tools/Find/Lights without Occlusion setups. Tests: Used it to inspect the appt scene
6 Days Ago
Merge: from unity_frame_dump - New(editor): frame debugger dump utility(https://github.com/sputnicyoji/unity-frame-dump) to help analyze what is rendered Tests: used it to dump out a couple passes
6 Days Ago
Update(editor): move the exporter to Window/Analysis We've got too much in Tools Tests: editor compiles
6 Days Ago
New(editor): import and change https://github.com/sputnicyoji/unity-frame-dump - Changed full export to run on the provided user range - added stop full export that still emits the resulting json instead of aborting - Added license Tests: exported a frame from standalone client
7 Days Ago
Buildfix: expose NetworkPosTickCallback setter Tests: none, trivial change
7 Days Ago
Merge: from cargoship_bot_replication_fix - Buildfix: expose setter for NetworkPosTickCallback Tests: editor compiles
7 Days Ago
Merge: from cargoship_bot_replication_fix - Bugfix: fix bots/sleepers disappearing from cargoship Tests: spawned cargoship event, spawned bot, followed them for a couple mins - no houdini
7 Days Ago
Bugfix: ensure netgroup of sleepers/bots is updated when parented to a moving global entity Tests: spawned cargo ship, spawned a bot and moved through net grid for a minute - bot didn't disappear
7 Days Ago
Merge: from dropspectators_nre_fix - Bugfix: fix for NRE that happens when multiple spectators watch a player being banned Tests: 2 players spectated 3rd, banned them - no NRE
7 Days Ago
Bugfix: use reverse traversal avoid NRE caused by iterator invalidation when dropping spectators Tests: 2p spectated 3rd, banned them - no more NRE
10 Days Ago
Merge: from alloc_clean_july2026 - Optim: avoid ~15 separate allocations related to scheduling/cancelling invokes Tests: none, trivial changes
10 Days Ago
Merge: from main
10 Days Ago
Optim: cache FogMachine invokes - StartFogging, EnableFogFieldCB, DisableNozzleCB, FinishFoggingCB There were invoked in StartFogging, which can oscilate with power. Tests: none, trivial changes
10 Days Ago
Optim: skip BeeSwarmMaster.StartDie call if already dying Saves on ActuallyDie invoke and allocation Tests: none, trivial change
10 Days Ago
Optim: avoid repeated invoke scheduling in BeeSwarmAI - SetOnFire gets skipped if bees are already on fire (saves StartDie scheduling) - StartDie gets skipped if bees are already dying (saves Egress scheduling) Tests: none, trivial changes
10 Days Ago
Bugfix: fix caching of DiveSiteBuoy.updateAction Tests: checked IL
10 Days Ago
Optim: cache Sprinkler.DoSplash invoke Tests: none, trivial change
10 Days Ago
Optim: cache HBHFSensor.UpdatePassthroughAmount invoke Tests: none, trivial change
10 Days Ago
Optim: cache ElectricBattery.TickUsage invoke Tests: none, trivial change
10 Days Ago
Optim: cache ElectricBattery.AddCharge invoke Tests: none, trivial change
10 Days Ago
Optim: cache CoalingTower.CheckWagonLinedUp invoke Tests: none, trivial change
10 Days Ago
Optim: Cache StrobeLight.SelfDamage invoke Tests: none, trivial change
10 Days Ago
Optim: cache SamSite.WeaponTick invoke Tests: none, trivial change
11 Days Ago
Merge: from fullserverdemo_removal - Clean: Remove FullServerDemo implementation (RustRelay will take us to the promised land) Tests: compiles, recorded client and server demos and was able to play them back
11 Days Ago
Merge: from main
11 Days Ago
Clean: get rid of Network.ServerInfo Was added for FullServerDemo support, no longer needed Tests: compiles
11 Days Ago
Clean(editor): rip out DemoSever framework It could technically emulate server state from client demos, but required too much compromising, so not worth it. Tests: compiles
11 Days Ago
Clean: delete Demos folder from Facepunch.Network Tests: compiles
11 Days Ago
Clean: delete full-server-demo convars Tests: compiles
11 Days Ago
Clean: remove IServerCallback save request support Keeping the core functionality on SaveRestore Tests: compiles
11 Days Ago
Clean: remove FullServerDemos.cs Tests: compiles
11 Days Ago
Clean: remove BaseNetwork.SupportsServerDemos Tests: compiles
11 Days Ago
Clean: remove demo.full_server_demo - rip out a bunch of stuff related to it, including transient entity serialization - remove MessageType.DemoDisconnect and DemoTransientEntities (no need for protocol change) Tests: compiles
11 Days Ago
Clean(editor): remove ServerDemoPlayer Tests: compiles
11 Days Ago
Clean: remove AntiHackDemoProcessor - drive by deprecated API fixup Starting process of removing full server demos Tests: compiles
11 Days Ago
Resave TimeManager Tests: nothing specific, but have been running with this changed for a couple days
11 Days Ago
Merge: from waterlevel_deepsea_sample_fix - Bugfix for water level queries incorrectly mixing deep sea and overworld states - Bugfix for deep sea ocean sim using overworld heightmap - Simplified TerrainHeightMap API Tests: ran unit tests, booted into craggy, explored deep sea and swam around
11 Days Ago
Bugfix: avoid NRE when ocean sim is not initialized and we don't need it Tests: booted into craggy
11 Days Ago
Merge: from main
11 Days Ago
Clean: simplifyy WaterSystemBurst.GetHeightArray_Burst Tests: none, trivial changes
11 Days Ago
Clean: minor adjustments to WaterLevel.GetWaterLevels impl - use FillJobIndirect instead of FillJob when waves are not needed - get rid of namespace qualifier Tests: ran unit tests