42 Minutes 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>