4,131 Commits over 1,219 Days - 0.14cph!
Disable global rendering on barricade prefabs
Add "global_rendering" convar to disable renderers using the lowest LOD
Fix instanced rendering outside of network range defaulting to the highest LOD instead of lowest LOD
Add InstancedRenderScheduler & InstancedEntityScheduler prefabs to bundles/prefabs/world so they always spawn
Trying to profile an error that turned out to be corrupted asset bundles
merge from main -> global_networked_bases
Fix "Native Collection not disposed" error (forgot to dispose a NativeArray)
Fix compilation error on client
Refactor `InstancedEntityRenderScheduler` into `InstancedEntityScheduler` and `InstancedRenderScheduler`
First cleanup of code
All instanced rendering commands restricted to admins
Fix windmill scale being wrong as we weren't taking the full scale of individual MeshRenderers into account
Controlling colors from C# sorta works.... but not really
Fixed so instanced rendering will show for entities not in network range
Small refactor
Disable instanced rendering on concrete barricade & sandbag (they have skins)
Remove old "windmill_main" model from windmill
Enable GPU instancing on windmill material
Use total scale of mesh instead of only localScale of renderer gameobject
merge from main -> global_networked_bases
Fixed rotation of certain entities being incorrect
Removed useless Dictionary<NetworkableId,GlobalEntityData>
Fixes for client only & server only errors
Additional build options to allow walking away from PC
- Windows Client + Client Bundles
- Windows Server + Server Bundles
- Windows Client + Server + Bundles
Enable instanced rendering on sam sites & windmills (using static mesh instead of skinned)
Fix instanced render data not being added in `InstancedOutsideNetworkRange` mode
Disabled instanced mesh tracking for animated enitites to keep it simple
Enable GPU instancing on more materials
Converting prefabs & materials to try and get them to spawn instanced when the entity is killed
Implement switching to instanced rendering only when an entity leaves network range
Also support using instanced rendering the whole time but switching from highest -> lowest LOD when entity leaves network range
Ghetto fix for doors reseting to default position when they send a network update when opened
Instanced rendering now works with animated entities (doors)
Grabs new position & rotation via transform.hasChanged (needs better solution long term)
Add `InstancedmeshTracker` component that tracks each moving mesh of an entity
Support multiple of the same mesh per entity (when deleting & updating)
Fix foundations not having all meshes deleted
Send raw position of global building entities instead of network position
Better warnings when mesh renderers aren't matched up
Use `GameManager.client.FindPrefab()` instead of `GameObjectRef.Get()` when disabling render components to avoid editing the real prefab
Forgot to assign skin when sending global entity to client
Fixed normal renderers not actually being disabled (broke after moving disabling to PreProcess)
Add ability to disable instanced rendering for a prefab via InstancedMeshFilter
Renamed InstancedRenderComponent to InstancedMeshFilter
Material & prefab changes after enabling GPU instancing / using InstancedMeshFilter
Throw error instead of auto enabling GPU instancing (incase they don't spawn prefab while in editor and miss it)
Multiple materials will work with indirect rendering too
Don't global network doors by default
Send global network when entity is first spawned
Automatically enable GPU instancing on materials when used with instanced rendering
Fix instanced rendering to work with multiple materials
merge from main -> global_networked_bases
Fix compile error by changing #IF UNITY_EDITOR to a convar `UploadAnalytics`
Add `InstancedRenderComponent` to manually configure renderers used for instanced rendering
Keep automatic conversion for building blocks
Send simple network updates when flags, building grade or conditional models (modelstate) changes
Add `global building block` field to baseEntity to manually mark entities for cut down global networking
Set high walls & barricades as global
▅█▋▅ ▋▇▊▇▌█▊▅ ▉▌▌▇█▅, █▉▉▆ ▆▌█▄▅▌ ▄█▄ █▉▌▊, ▇▅▉ ▄▋▌▇▉▍▋█▇▇ █▉▍▆▍▌▆▌ ▆▍▊▊▅▋
▋▋▊▊▉▇█ ▇▌▉▌▋ ▉█▊▇▊▆▄ ▇█▇▉▆ ▌▋█▍ ▊▉▅▆▅ █▄▊ ▌▊▆
Disable renderer batch too
Disable grey placeholder mesh in building blocks
Fix entities not being deleted
Send building block snapshot when they first join
Ghetto fixes to work in standalone build (render manager prefab wasn't spawning)
Should convert all renderers of prefabs, such as reflections
merge from main -> global_networked_bases
Fix entity updates
Add `rendercube` command for testing
Fix guide for building having disabled MeshRenderers
merge from main -> analytics_held_items