10,834 Commits over 3,867 Days - 0.12cph!
Util scripts folder cleanup
Added AssetPool (optimized specifically for Unity assets)
Converted mesh pooling to AssetPool
Added pool.assets console command
Reduced GC in the grass and dynamic decor systems
Enabled LOD components on cliff meshes
Set the correct player entity bounds
WaterLevel.Test also works for zero bounds
Added pool.prefabs console command (prints pooled prefab counts)
Clear prefab pool as well when pool.clear is called
Memory pool tracks items in use to idenfity missing frees and foreign items entering the pool
Fixed LODBatch corruption on pooled objects
LOD grid components are now supported on pooled objects
Building skin instantiates are now pooled
Fixed NRE on server start (maybe)
Fixed stability neighbour refreshes
Don't try to pool objects when quitting
Don't try to pool objects that have alrady been destroyed by someone else
Group effects without parent in the editor
Pool prefab instantiates of effects, decals and dynamic decor
Added PrefabPool and set some things up in GameManager
Extension method / utility class cleanup
status console command should never crash
First OOM exception also has the OOM tag set
Dump contains number of batched colliders
Added batching.status console command
Run GC before the loading screen disappears (join, respawn)
Effect changes compile fix
Spawning effects with DecalRecycle is also okay (not just EffectRecycle)
fireballs use proper sound balancing (no dynamic memory allocations, no physics calls, better performance)
Fixed warning in Gib class
Merge from collider-batching (beware dev servers, hide yo savegame backups)
Pool allocator clear resets allocation counters
Pool allocator improvements
Batch all colliders after loading a save
Reenable child collider when it leaves a collider batch
Cleaned up gib spawning mess (made gibs bypass prefab preprocessing and caused huge effect spam)
Switch to non-batched colliders when a collider is destroyed (until the next batching update has been processed)
Added proper AI obstacles to building pieces
GameTrace uses pool allocator lists instead of lambdas
RaycastHit batched collider extension methods never return null
GameTrace samples terrain splat materials
HitInfo has GetEntity extension method that resolves batched colliders
GameTrace resolves batched colliders