userDaniel Pcancel

2,859 Commits over 730 Days - 0.16cph!

Today
Merge: from furniture_occlusion_fix - Reimplement previous bugfix to retain furniture culling Tests: rendeted and tried to run in and out, abused noclip, triggered bug once
Today
Bugfix: restore furniture occlusion culling, check both occlusion state and appt flag Tests: rented 601, ran in and out, noclipped a bunch - was able to trigger it only once(abusing noclip) instead of constantly, should be better
Today
Merge: from main
Today
Merge: from main
Today
Merge: from renderbatch_meshlod_improv - Bugfix for basement doors not rendering Tests: booted into apartments island, checked all floors for doors not rendering. Checked room 101 - stuff was rendering
Today
Bugfix: mark appartment doors a/b/c as dynamic - apartments S2P Since they move, they should've been dynamic, but it also causes them to be refreshed and have up to date occlusion state (but no idea why we need this - will chase up later) Tests: booted into apartments island, checked all floors for doors not rendering. Checekd room 101 - stuff was rendering
Today
Update: add visible count to occlusion debug output Tests: used it on craggy while tweaking extra lod steps
Today
Merge: from main
Today
Merge: from renderbatch_meshlod_improv - Bugfix: opening doors should no longer cause them/others to disappear Tests: pasted many doors paste and opened door, flew back and to - all was in place
Today
Bugfix: fix MeshLOD never unregistering from occlusion after animating - when batching gets toggled, notify batching handlers - MeshLOD will toggle culling on notif Tests: paste of many doors, opened couple doors and flew far/close - no more missing meshes
Today
Bugfix(editor): add ResetStaticFields to OcclusionCulling - codegen Tests: spawned copypaste, restarted game in editor - print out doesn't mention lingering renderers
Today
Merge: from main
Yesterday
Yesterday
Update: add ability to step through higher levels of mip chain to reconfirm visibility - controlled via culling.extralodsteps, default to 0 (same as before) Out HiZ downsampling filter erodes depth at edges of objects, so if objects picks a low mip, there's a good chance it won't see any occluding depth Tests: ran around apartments monument in editor with 0, 2 and 7. at 2 saved only 0.25% percent of drawcalls, but 7 can save up to 10% (will profile standalone later)
Yesterday
Update: draw picked hiz lod for occludees in occlusion debug Tests: used debug visualization in editor
Yesterday
Bugfix: add using on actionResult to avoid leaking Tests: none, trivial change
Yesterday
Merge: from jobs3_as_default - Update: UsePlayerJobs is set to 3 by default Tests: booted craggy and verified server var
Yesterday
Update: default UsePlayerUpdateJobs to 3 - codegen Tests: booted craggy, console returned 3
3 Days Ago
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
3 Days Ago
Merge: from main
3 Days Ago
Clean: add a comment Tests: none, trivial change
3 Days Ago
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
3 Days Ago
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
7 Days Ago
Clean(editor): get rid of if bypass for drawing LightOccludee gizmos
7 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
8 Days Ago
Update(editor): change window title label for MotionVectorsChecker Tests: none, trivial change
8 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
8 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
8 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
8 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
8 Days Ago
Update(editor): move the exporter to Window/Analysis We've got too much in Tools Tests: editor compiles
8 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
9 Days Ago
Buildfix: expose NetworkPosTickCallback setter Tests: none, trivial change
9 Days Ago
Merge: from cargoship_bot_replication_fix - Buildfix: expose setter for NetworkPosTickCallback Tests: editor compiles
9 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
9 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
10 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
10 Days Ago
Bugfix: use reverse traversal avoid NRE caused by iterator invalidation when dropping spectators Tests: 2p spectated 3rd, banned them - no more NRE
12 Days Ago
Merge: from alloc_clean_july2026 - Optim: avoid ~15 separate allocations related to scheduling/cancelling invokes Tests: none, trivial changes
12 Days Ago
Merge: from main
13 Days Ago
Optim: cache FogMachine invokes - StartFogging, EnableFogFieldCB, DisableNozzleCB, FinishFoggingCB There were invoked in StartFogging, which can oscilate with power. Tests: none, trivial changes
13 Days Ago
Optim: skip BeeSwarmMaster.StartDie call if already dying Saves on ActuallyDie invoke and allocation Tests: none, trivial change
13 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
13 Days Ago
Bugfix: fix caching of DiveSiteBuoy.updateAction Tests: checked IL
13 Days Ago
Optim: cache Sprinkler.DoSplash invoke Tests: none, trivial change
13 Days Ago
Optim: cache HBHFSensor.UpdatePassthroughAmount invoke Tests: none, trivial change
13 Days Ago
Optim: cache ElectricBattery.TickUsage invoke Tests: none, trivial change
13 Days Ago
Optim: cache ElectricBattery.AddCharge invoke Tests: none, trivial change
13 Days Ago
Optim: cache CoalingTower.CheckWagonLinedUp invoke Tests: none, trivial change
13 Days Ago
Optim: Cache StrobeLight.SelfDamage invoke Tests: none, trivial change