4,148 Commits over 1,219 Days - 0.14cph!
Undo projectsettings.asset being commited
Fix compilation error on server
Only require scene_warmup prefab as parts of async asset warmup was running
Add async and synchronous LevelManager.LoadScene() methods as the async one was having issues running on main thread
Add more logging and try catch if a scene fails to load
- don't throw error if warming up a prefab twice, but delete it and log a warning
Switch from asset warmup -> warming up scenes of prefabs
- loads scenes async in background rather than stalling main thread
- acts similar to async asset warmup
- loads autospawn prefabs first, then everything else
- spawns world and loads entities, effects and misc prefabs in background
- waits for entity scene to finish loading before running prefab warmup
- prefabs not in warmup scene will be warmed up on the fly
EntityToScene packs prefabs into warmup scenes
- for all types of prefabs, not just entities
- can configure with filters to choose what prefabs you want per warmup scene
Added `scene_warmup` convar to enable feature
- must restart for it to take effect
- also requires partial loading to be enabled (this will become full async loading setting in future)
Add `print_misses` convar to see what prefabs were missed by asset warmup or scene warmup
Add warmup scenes into asset bundles
Don't destroy '_Warmup' scenes when loading a new scene via LevelManager.LoadScene()
- destroy all other scenes and load new scene async
- run synchronous for normal loading
Merge preprocess refactor -> monument_scenes
Refactor PrefabPreProcess to pass an options struct instead of `bool resetLocalTransform`
- add options to turn each part of PreProcessing on and off
- default to everything enabled
- Scene2Scene will only run the stripping, not PreProcess() callbacks
merge from main -> protobuf_skip_default_fields
Cherrypick audio fixes back to audio_import_music_clips now that it's working properly
Reserialize 5.5k audio assets to see if it fixes "CompressedInMemory" being decompressed in memory (could also be asset bundles not rebuilding properly)
Add option to reserialize all audio importers since we moved from serializedVersion 6 -> 7
Some sound effects didn't save their settings
Add convar to toggle DetachMonumentChildren
- enabled by default
Merge from main -> native_memory_stream
Disable "client scene" and "server scene" in S2P because they aren't implemented yet
merge from main -> monument_scenes
Update import settings of audio
Fix preload setting not being preserved after unity 2022
Start over on a new branch since we need to keep the original preload settings
- cherrypick
99453 (music clips = compressed in memory + preload off)
Fix Serialization.AddPrefab() getting accidently deleted in previous commit
Merge from main -> monument_scenes
Update settings of all music clips
Change audio clip updater to handle music clips
- vorbis, 80% quality (like other vorbis clips)
- preload off
Fix compile error from "fix_shipping_container_batching"
merge from fix_shipping_container_batching -> main
Merge from shipping_container_vcol_fix -> fix_shipping_container_batching
merge from main -> fix_shipping_container_batching
Prewarm 200 codelocks
Go back to defining pool amount via code to prevent misconfigured prefabs
- player deployable doors stay at 100
- monument doors only warm 1
Change default door prewarm count from 100 -> 1
- monument doors were warming up 100 -> 1 now
Added ability to override an individual prefab's warmup count via the Poolable component
- garage door & sheet metal doors = 10
- wood & armored door = 5
Run `Sound/Update Audio Clip Importers` tool to update optimal audio import settings
- assuming the tool still applies good settings
Change WorldSerialization to deserialize into a NativeArray (NativeMemoryStream) instead of MemoryStream
- reduces heap reserved memory by 500MB when deserializing map due to many MemoryStream allocations
- add `loadmap` test command to load local map when profiling deserialization
Add NativeMemoryStream (MemoryStream backed by a NativeArray<byte> instead of byte[])
Generate manifest with new string pool
Get rid of checking for scene in standalone build
- asset bundles don't want to tell you if scene is there
- rare error: won't occur once build process is normal
Enable batching on low container walls
Fix render batching not refreshing after color is changing
Pass color to batching directly instead of pulling from MeshRenderer
Fix batching not resetting detail color MaterialPropertyBlock when returning to pool
Enable the RendererBatch component on all shipping container prefabs
- fix some components that were at the root level instead of at the same level as the RendererLOD / MeshLOD
Add color to RendererKey for render batching to support shipping container
- pull the color from the MaterialPropertyBlock of the MeshRenderer
Apply fix #2 in redid commit
Redid the commit so that it would stop applying to DeltaSerialize()
- tried to combine existing null checks with new default value checks, keeping them seperate is less complexity
Fix & update codegen
- don't check if field is null twice (bytes & strings already checked if null when optional)
- throw error if required class isn't present, skip serializing structs if required but default value
- fix regression where it checked if field was default when delta serializing
Skip fields with custom default values instead of always serializing them
- significant as it affects Vector3
Updated codegen
Protobuf now won't serialize default values as pooling resets everything before deserialization
- should have the exact same input & output but better performance
Made ProtoBuf.Half3 and ProtoBuf.VectorData IEquatable so it can be compared to default value
Fix train_tunnel_entrance_a having output prefab somehow unlinked?
Fix scene prefabs that don't support remapping having all their components stripped (train tunnels)
Fix the check "is scene in asset bundles" not working outside of editor
- added method to check if any asset is at path in filesystem
merge from main -> monument_scenes