161,634 Commits over 4,597 Days - 1.47cph!

1 Hour Ago
Replace delegate BeginInvoke/EndInvoke with Tasks AsyncTextureLoad and AsyncTerrainNavMeshBake ran their work with Action.BeginInvoke, which .NET doesn't support: asynchronous delegate invocation throws PlatformNotSupportedException under CoreCLR. They now start it with Task.Run, which works the same on Mono. isDone is true once the task finishes, as it was once the callback ran; an exception from the work now surfaces from isDone on the main thread instead of being thrown by EndInvoke on a pool thread, which left the yield instruction waiting forever. Cherry-picked unchanged from unity_6.7.0's changeset 170212 (85e7d8425d1, "Replace BeginInvoke/EndInvoke with Tasks for CoreCLR compatibility"). (cherry picked from commit 85e7d8425d14fe53468250fa25a0d75a81635c31) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 Hour Ago
Don't set the GC mode when running on CoreCLR Unity documents GarbageCollector's mode control as Mono and IL2CPP only, "Not supported for CoreCLR", so Rust.GC.SetMode skips setting it there. ENABLE_CORECLR isn't defined in Unity's Mono builds, so main's builds still set the mode as before. Cherry-picked unchanged from unity_6.7.0's changeset 170208 (eb09ee70f16, "Don't try to set GC mode when using CoreCLR"). (cherry picked from commit eb09ee70f161c948d69e4d988f59f96f73788520) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 Hour Ago
Disable Discord in CoreCLR builds Discord SDK callbacks fail fast in CoreCLR players ("Failed to setup new thread during reverse P/Invoke"), taking the client down, so CoreCLR builds turn Discord off until its integration is fixed for that runtime. Unity's Mono builds don't define ENABLE_CORECLR, so main's builds keep Discord. Cherry-picked unchanged from unity_6.7.0's changeset 170207 (0b3f6e154b3, "Disable Discord in CoreCLR builds (needs fixing)"). (cherry picked from commit 0b3f6e154b377e481acfedcdecbfa31063f4347b) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 Hour Ago
Keep fields Unity can't serialise out of Unity's serialisation Unity serialises public fields of [Serializable] classes and behaviours, and the 6.7 and CoreCLR branch found these ones, whose types Unity can't serialise (nullables, HashSets, tuples, object), coming up as serialisation issues under CoreCLR. Unity 6.3 already skips them, so marking them [NonSerialized] changes nothing on Mono. Hand-ported from unity_6.7.0's changeset 169906" class="changeset">169906 (ab1e999ad3c, "Fix some more serialisation issues that came up when switching to CoreCLR"), with one difference. 169906" class="changeset">169906 marks the test runner's JSON fields (TestRunner.TestDefinition and TestMethodGroup's TimeoutSeconds, TestListExporter.TestEntry.TimeoutSeconds, TestResultEntry.Parameter) [NonSerialized, JsonProperty], but Json.NET ignores a [NonSerialized] field even with [JsonProperty] (checked with Newtonsoft.Json 13.0.3): test lists would lose their timeouts and results their parameters. Here they become auto-properties instead, which Unity's serialiser skips and Json.NET reads and writes by name, as before; only their position in the written JSON moves after the fields. unity_6.7.0 has the same problem and could take the same fix. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 Hour Ago
Remove unused usings of namespaces .NET doesn't have System.Media, System.Runtime.Remoting.Messaging, System.Security.Policy and System.Net.Configuration are .NET Framework namespaces that Mono's profile carries and .NET doesn't, so these eight files stop compiling under CoreCLR. Nothing in them uses the namespaces, so the lines just go; a using can only bind names, so if one had been needed the file would fail to compile rather than change meaning. Hand-ported from unity_6.7.0's changeset 169906 (ab1e999ad3c, "Fix some more serialisation issues that came up when switching to CoreCLR"), whose using removals apply to main as they are; its serialisation attributes are the next commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 Hour Ago
Replace BinaryFormatter with BinaryReader/Writer in WhatUsesThis caches BinaryFormatter is gone from .NET: since .NET 9 it throws PlatformNotSupportedException, so the editor's WhatUsesThis and WeaponRackBatchAutoSet caches can't be saved or loaded under CoreCLR. Both caches are a Dictionary<string, List<string>>, now written as a version byte, counts and strings. An old BinaryFormatter cache in Temp starts with a zero byte, fails the version check and is rebuilt, as a missing one is. Cherry-picked unchanged from unity_6.7.0's changeset 169812 (94fbd1ba2bd, "Replace deprecated BinaryFormatter with BinaryReader/Writer in WhatUsesThis"). Works the same on Mono. (cherry picked from commit 94fbd1ba2bdc2bc26507e1d08e0516fe8a11e4b1) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 Hour Ago
Remove MaterialConfig's conflicting FormerlySerializedAs attributes ShaderParameters<T> gives both Jungle and DeepSea [FormerlySerializedAs("Temperate")], next to a live Temperate field, which the 6.7 branch found conflicting under Unity 6.7's serialisation. They only mattered for assets saved before Jungle and DeepSea existed, which then load Temperate's value into them; the four MaterialConfig assets that still lacked the two fields now store exactly that value, so they load the same on Unity 6.3. They were the only MaterialConfig assets on main without them. Cherry-picked unchanged from unity_6.7.0's changeset 169808 (c51f686e2ca, "Remove conflicting (and no longer needed) FormerlySerializedAs attribute"). The asset files are plain YAML, not LFS. (cherry picked from commit c51f686e2cade26d8e0f100fdd59f67b5b5700ea) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 Hour Ago
Hash the server assembly from GetLoadedAssemblyPath on Unity 6.7 and later ServerMgr hashes Assembly-CSharp's file for the server's assembly hash and reports "il2cpp" when Assembly.Location is empty, which it is for any assembly loaded from an image rather than a file. Unity 6.7 adds GetLoadedAssemblyPath(), the path Unity loaded the assembly from, and the 6.7 and CoreCLR branch uses it here instead of Location. Hand-ported from the runtime part of unity_6.7.0's changeset 169806" class="changeset">169806 (10ce1f6a9e0, "Use new Unity APIs for GetAssemblies()"). The API doesn't exist in Unity 6.3, so the change sits behind UNITY_6000_7_OR_NEWER and main's 6.3 build is unchanged. The rest of 169806" class="changeset">169806 swaps AppDomain.GetAssemblies() for CurrentAssemblies.GetLoadedAssemblies() in editor tools and test helpers, which matters to the CoreCLR editor's assembly reloading; that arrives with 6.7 itself, and a guarded copy here would only conflict with it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 Hour Ago
Mark runtime-only fields of serialisable types [NonSerialized] The Unity 6.7 and CoreCLR branch had to mark these public fields [NonSerialized] for Unity 6.7's serialisation: entity references, runtime collections, Item and ItemContainer instances, TimeSince and the like. None of their types is [Serializable] or a type Unity serialises natively on main, so Unity 6.3 already skips them and nothing changes on Mono; the attribute only says so explicitly, and main won't need it added again when it moves to 6.7. Cherry-picked unchanged from unity_6.7.0's changeset 169804 (7044676f3ae, "Add more serialisation attributes for Unity 6.7"). (cherry picked from commit 7044676f3ae5ec8f854e83a2e0fb42d1b28cbf64) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 Hour Ago
Load Harmony mods with CurrentAssemblies on Unity 6.7 and later On CoreCLR, Assembly.Load(byte[]) puts every image it loads into its own anonymous AssemblyLoadContext rather than the one domain Mono has, so 0Harmony and the renamed mod assemblies don't land where the game's own assemblies are. Unity 6.7 adds CurrentAssemblies.LoadFromBytes for this, and GetLoadedAssemblyPath() for the path Unity loaded an assembly from (Assembly.Location is empty for anything loaded from an image). ExceptionReporter's scan for mod frameworks uses GetLoadedAssemblies(). Hand-ported from unity_6.7.0's changeset 169789 (ad48fc1df89, "Use newer LoadFromBytes API for Harmony"). Those APIs don't exist in Unity 6.3, so every change sits behind UNITY_6000_7_OR_NEWER and main's Unity 6.3 build compiles exactly the code it did before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 Hours Ago
Pinning macos build pipelines to runners
3 Hours Ago
last one
3 Hours Ago
test again
3 Hours Ago
test
5 Hours Ago
testing
Today
▆ ▊▇▄▇█▍ ▉▄▊▆▇▅▅ ▅▅▅▅▌▍ ▋▊█▆▅ ▌▇▇▉▅▌▊▍▉ ▌▉▌▇▊ ▄ ▊▋█▆▇█▅
Today
Set the encryption level on the network thread instead of setting it on the main thread - ensures we don't set the encryption level before the client recieved approved (existing issue) and ensure batches are flushed before the packet is sent (new issue)
Today
▊▇ ▇▅▇▆▆▌ ▉▇▋▋▅ ▋▄▅▄█ ▇▍▇ ▌▊▋▄▄█▋▌ ▆ █▅▉▅█▉▌▍▋ ▆▆▌ ▆▊▇▉█▋▍█▍ ▅▊▅▆ ▌▊▉▅▇▌ ▉▍▆ ▍▊▆▍▇▉ ▇▅▋▄▊▉▉▄█
Yesterday
Better npczones experiment
Yesterday
Fixed Nuclear Missile Silo terrain sometimes clipping over the doorway and underground tunnels, very fiddly to fix whilst preserving terrain auto-lowering. Tested on multiple 6000-sized maps to stress test terrain texel resolution
Yesterday
merge from ddraw_parent_fix
Yesterday
No longer draw ddraw objects when they attempt to parent on entities that aren't networked to the client yet
Yesterday
First rough pass on dogs, hacky throwable meat based on pies
Yesterday
merge from main
Yesterday
Fixed an NRE every FSM tick in Trans_IsNavmeshReady when an animal entered a state that was never given an owner
Yesterday
Merge from main
Yesterday
Watercraft changes for the modified ocean shading.
Yesterday
xmas wallpapers - wip textures, materials, skin files setup. localization, updated skins list
Yesterday
merge from distanceflaregammafix
Yesterday
merge from vendingmarkers_fix
Yesterday
merge from filestorage_cache_fix
2 Days Ago
Fixed Linux not compiling Add some networking related checks Apply fix for newproxy inside coroutines
Yesterday
merge from wearable_pooling_fixes
Yesterday
Added support for elongated distance flares. Fixes overly bright Floating City flares.
Yesterday
Fix FileStorage mistakenly caching null data when the file was not found in the DB
Yesterday
Fix two wearable pooling bugs introduced with 168691 - Night vision goggles getting stuck not working - NVG scientists suit eyes not glowing after having unloaded a head on a trophy with its suit (includes a slight refactor of WearableNotifyTrophyMounted.OnMounted to support pooling)
Yesterday
▉ ▉▇█▋▋▆▅ ▇▆▊▉▅▍ ▍▇▉█▍▌▋ ▌▅▌▄▆▆▋ ▌▍▆▆ ▍▅██▋▌▌▋▅▉▄▆▇▄▄▅▄ ▌▄▋▆▍▊▊▇▉▇▉ ▉█▆▇▄█▉▄▉▉▉▋▉▅▊▅▌▍█▄▅▄▋ ▄▍▉ ▍▄█▌ ▄▆▉▆ ▆▊▇▊▆ ▍█▍ ▊▉▇▆ ▅▄▆ ▉▌█▄ ▆▇█▋▆████▉▊█ ▆▆▇▍▍▋ ▆▊▉▉▅█▅▊▋█ ▍▋▍▄▊▅▆▌ ▋▍ ▅▆▌ █▍█▍▄▄ ▄▋▄▇▋▉▋▉ ▊▆▍▉▉▊▍▉▋▊▊▌▅▍█▅▄▊▍▌▄▊▋█▄▊▊▋▌█▅ █▌ ▊▊▊
2 Days Ago
Mesh patintables use box filtering so stencils don't look aliased and pixel-y
2 Days Ago
Make stencils menu scrollable
2 Days Ago
Bulk update of all 32 clothing prefabs items that contain skin to add the tattoo UV1
2 Days Ago
male/female body LOD updates with tattoo UVs
2 Days Ago
Water bucket viewmodel - moved hands/fingers out in all anims to fix clipping issues with some gloves
2 Days Ago
Added tattoo stencils from concept team
2 Days Ago
Update: a couple more sprites that had meta changes Somehow got missed in update to 26f1 Tests: editor doesn't complain
2 Days Ago
Update: automatic package upgrades Tests: editor compiles
2 Days Ago
Add preventions for respawning on a sleeping bag which is squeezed into a gap narrower than a player, resulting in the player getting stuck on respawn - Sleeping bags can't be placed where a player wouldn't fit - Can't respawn on a sleeping bag in which you don't have space and would end up stuck - Add a warning toast when placing a deployable that blocks respawning on a sleeping bag
2 Days Ago
vm lever action rifle anims wip
2 Days Ago
Fixed vending machine markers drawing under generic markers after reopening the map
2 Days Ago
▌ █▅▆▄ ▆▌█ ▅▋▋▆ ▄█▊█▍
2 Days Ago
Skip environment volume pass when there are no visible volumes