5,953 Commits over 4,171 Days - 0.06cph!
Disabled dynamic batching (experiement)
Fixed Server.DestroyNetworkable not calling Networkable.Destroy when returning networkable to pool
OnInventoryChanged profiling
Adjusted some memory pool sizes
Eliminated GC allocs from ItemContainer.Load
Eliminated GC allocs from MaterialReplacement
Just use prefab name on the client in Entity.ToString() to avoid GC allocs
Eliminated GC allocs from BaseNetworkable.NetworkDestroy
Eliminated needless group creation when trying to destroy an empty network group on the client
Re-enabled dynamic batching (too many changes on staging this week, let's compare again next week)
Eliminated GC allocs from MaterialColorLerp.RefreshRenderers
Eliminated GC allocs from PlantEntity.UpdateSkinParameters (called from PostNetworkUpdate)
Fixed material / memory leak from mining quarries
Removed TransformEx.FindChildren since it's super inefficient and now unused
Disabled PlanterBox, EmissionToggle, LaserBea, FlashlightBeam and VendingMachineScreen material adjustments since they were all leaking materials / memory
RenderInfo debug tool no longer duplicates materials when called
Optimized MaterialColorLerp
Tweaked EntityLink default capacity
Eliminated GC allocs from BaseEntity.UpdateParenting
Removed AttachToBone (unused, inefficient)
Viewmodel attachments use Model.FindBone instead of Transform.FindChildRecursive (more efficient since cached)
Reduced or eliminated GC allocations from Transform.FindChildRecursive (only used by UI)
Fixed material / memory leak in Bradley TreadAnimator component
Reduced sky brightness slightly
Log warning when trying to create attachment on viewmodel without model component
Reduced GC allocs in SelectedBlueprint.RefreshBlueprint
Adjusted default buffer sizes of collider groups, renderer groups, foliage groups and LOD cells
Remove foliage groups when they are empty (similar to renderer / collider groups)
Profiling, cleanup, small GC optimizations
Reverted some buffer pre-allocations (memory usage)
Disabled dynamic batching (experiment)
Merge from weekend_branch
Fixed WaitForSecondsRealtime being broken
Added additional profiling to UpdateInventoryFromSchema
Eliminated GC allocs from FileStorage / Signage / UIPaintableImage / MapEntity by smarter caching (TODO: make async)
Added schematime convar (inventory schema refresh interval)
Retired TextureUtils (GC alloc galore)
Added GC-free Texture2D.Clear extension method
Added Union64 to Rust.Global
Fixed CRC.Compute32 discarding the passed CRC value
Added CRC.Compute32 and CRC.Compute64 overloads that take numerical types
Eliminated GC allocs from UpdateClothingItems
Changed item container hash from massive string to CRC32 hash (eliminates GC allocs)
Deleted Plugins/ProtoBuffers (empty csproj)
Moved Rust.Data.Test to use the same folder structure as the other plugin tests