From 66053278f3b61e529bfb47c0948a226f5161b6cd Mon Sep 17 00:00:00 2001 From: Unity Technologies <@unity> Date: Wed, 14 Aug 2024 00:00:00 +0000 Subject: [PATCH] com.unity.entities@1.2.4 ## [1.2.4] - 2024-08-14 * Debug proxies (used by external debuggers) were sometimes using invalid field offsets when inspecting structs in blob assets. This led to incorrect values being reported in debugger watch windows. In particular, this would be triggered by the use of bool fields in blob asset structs. * Entity version numbers could go back to 1 after reallocation in some edge cases. * When building a content update, a temporary path was getting created in the drive root instead of the Library folder. This would also cause content update builds to grow in size every time they were built. The folder is now created in the Library correctly. * Error in build when sprites are contained in subscenes has been removed. * Regression in compilation time with assemblies with lots of system methods. * EntityComponentStore leaked memory during domain reload. --- CHANGELOG.md | 12 ++++ .../Model/HierarchyDataModeFilteringTests.cs | 13 ++-- .../Model/HierarchyNodeStoreTests.cs | 13 ---- Unity.Entities.Tests/BlobDebugTests.cs | 60 ++++++++++++++++++ Unity.Entities/BlobsDebug.cs | 10 ++- Unity.Entities/DefaultWorldInitialization.cs | 16 +++-- .../EntityComponentStoreEntities.cs | 49 ++++---------- .../SourceGenerators/AspectGenerator.dll | Bin 85504 -> 85504 bytes .../SourceGenerators/AspectGenerator.pdb | Bin 26028 -> 25508 bytes Unity.Entities/SourceGenerators/Common.dll | Bin 43008 -> 43008 bytes Unity.Entities/SourceGenerators/Common.pdb | Bin 19396 -> 18884 bytes .../SourceGenerators/JobEntityGenerator.dll | Bin 81408 -> 80896 bytes .../SourceGenerators/JobEntityGenerator.pdb | Bin 24968 -> 24388 bytes .../SystemDescription.cs | 7 +- .../SystemGenerator.Common.dll | Bin 54784 -> 54784 bytes .../SystemGenerator.Common.pdb | Bin 23844 -> 23336 bytes ...temGenerator.EntityQueryBulkOperations.dll | Bin 15360 -> 15360 bytes ...temGenerator.EntityQueryBulkOperations.pdb | Bin 11420 -> 10876 bytes .../SystemGenerator.LambdaJobs.dll | Bin 148992 -> 148480 bytes .../SystemGenerator.LambdaJobs.pdb | Bin 41256 -> 40732 bytes .../SystemGenerator.SystemAPI.Query.dll | Bin 66560 -> 67072 bytes .../SystemGenerator.SystemAPI.Query.pdb | Bin 22320 -> 21788 bytes ...SystemGenerator.SystemAPI.QueryBuilder.dll | Bin 25088 -> 25088 bytes ...SystemGenerator.SystemAPI.QueryBuilder.pdb | Bin 13892 -> 13352 bytes .../SystemGenerator.SystemAPI.dll | Bin 32256 -> 31232 bytes .../SystemGenerator.SystemAPI.pdb | Bin 14832 -> 14300 bytes .../SourceGenerators/SystemGenerator.dll | Bin 19968 -> 19968 bytes .../SourceGenerators/SystemGenerator.pdb | Bin 13440 -> 12912 bytes .../Unity.Entities.Analyzer.CodeFixes.dll | Bin 18944 -> 18944 bytes .../Unity.Entities.Analyzer.CodeFixes.pdb | Bin 12040 -> 11492 bytes .../Unity.Entities.Analyzer.dll | Bin 29696 -> 29696 bytes .../Unity.Entities.Analyzer.pdb | Bin 14316 -> 13784 bytes .../SubSceneDeduplicationTests.cs | 55 ++++++++-------- .../Build/RemoteContentCatalogBuildUtility.cs | 2 +- .../EntitySceneBuildUtility.cs | 8 ++- ValidationExceptions.json | 38 +++++------ ValidationExceptions.json.meta | 2 +- package.json | 10 +-- 38 files changed, 173 insertions(+), 122 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c915c69..74ab5686 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,17 @@ uid: changelog # Changelog + +## [1.2.4] - 2024-08-14 + +* Debug proxies (used by external debuggers) were sometimes using invalid field offsets when inspecting structs in blob assets. This led to incorrect values being reported in debugger watch windows. In particular, this would be triggered by the use of bool fields in blob asset structs. +* Entity version numbers could go back to 1 after reallocation in some edge cases. +* When building a content update, a temporary path was getting created in the drive root instead of the Library folder. This would also cause content update builds to grow in size every time they were built. The folder is now created in the Library correctly. +* Error in build when sprites are contained in subscenes has been removed. +* Regression in compilation time with assemblies with lots of system methods. +* EntityComponentStore leaked memory during domain reload. + + ## [1.2.3] - 2024-05-30 ### Fixed @@ -20,6 +31,7 @@ uid: changelog ## [1.2.1] - 2024-04-26 + ### Changed * Updated Burst dependency to version 1.8.13 diff --git a/Unity.Entities.Editor.Tests/Hierarchy/Model/HierarchyDataModeFilteringTests.cs b/Unity.Entities.Editor.Tests/Hierarchy/Model/HierarchyDataModeFilteringTests.cs index 4869ea1f..05ca26e9 100644 --- a/Unity.Entities.Editor.Tests/Hierarchy/Model/HierarchyDataModeFilteringTests.cs +++ b/Unity.Entities.Editor.Tests/Hierarchy/Model/HierarchyDataModeFilteringTests.cs @@ -46,22 +46,21 @@ void BuildTestHierarchy(bool isSubSceneOpened, out HierarchyNodeStore.Immutable var emptyArchetype = m_World.EntityManager.CreateArchetype(); var entities = m_World.EntityManager.CreateEntity(emptyArchetype, 11, Allocator.Temp); - // This test relies on entities having specific indices and versions. + // This test relies on entities having specific indices. // But it also requires those entities to effectively exists. // As long as it runs in an empty world, it should be fine. // The following loop makes sure of that. for (int i = 0; i < entities.Length; i++) { Assert.AreEqual(entities[i].Index, i); - Assert.AreEqual(entities[i].Version, 1); } - var entityA = m_HierarchyNodeStore.AddNode(new HierarchyNodeHandle(NodeKind.Entity, 5, 1), subSceneNode); - var entityB = m_HierarchyNodeStore.AddNode(new HierarchyNodeHandle(NodeKind.Entity, 6, 1), subSceneNode); - var entityC = m_HierarchyNodeStore.AddNode(new HierarchyNodeHandle(NodeKind.Entity, 7, 1)); - var entityD = m_HierarchyNodeStore.AddNode(new HierarchyNodeHandle(NodeKind.Entity, 8, 1)); + var entityA = m_HierarchyNodeStore.AddNode(HierarchyNodeHandle.FromEntity(entities[5]), subSceneNode); + var entityB = m_HierarchyNodeStore.AddNode(HierarchyNodeHandle.FromEntity(entities[6]), subSceneNode); + var entityC = m_HierarchyNodeStore.AddNode(HierarchyNodeHandle.FromEntity(entities[7])); + var entityD = m_HierarchyNodeStore.AddNode(HierarchyNodeHandle.FromEntity(entities[8])); dynamicSubSceneNode = m_HierarchyNodeStore.AddNode(new HierarchyNodeHandle(NodeKind.SubScene, 9), HierarchyNodeHandle.Root); - m_HierarchyNodeStore.AddNode(new HierarchyNodeHandle(NodeKind.Entity, 10, 1), dynamicSubSceneNode); + m_HierarchyNodeStore.AddNode(HierarchyNodeHandle.FromEntity(entities[10]), dynamicSubSceneNode); m_HierarchyNodeStore.SetSortIndex(entityA, 3); m_HierarchyNodeStore.SetSortIndex(entityB, 4); m_HierarchyNodeStore.SetSortIndex(entityC, 2); diff --git a/Unity.Entities.Editor.Tests/Hierarchy/Model/HierarchyNodeStoreTests.cs b/Unity.Entities.Editor.Tests/Hierarchy/Model/HierarchyNodeStoreTests.cs index 6497e92b..da0568da 100644 --- a/Unity.Entities.Editor.Tests/Hierarchy/Model/HierarchyNodeStoreTests.cs +++ b/Unity.Entities.Editor.Tests/Hierarchy/Model/HierarchyNodeStoreTests.cs @@ -19,19 +19,6 @@ public void SetUp() { m_World = new World(nameof(HierarchyNodeStoreTests)); m_HierarchyNodeStore = new HierarchyNodeStore(Allocator.Persistent); - - var emptyArchetype = m_World.EntityManager.CreateArchetype(); - var entities = m_World.EntityManager.CreateEntity(emptyArchetype, 11, Allocator.Temp); - - // Some of these tests rely on entities having specific indices and versions. - // But they also require those entities to effectively exist. - // As long as they run in an empty world, they should be fine. - // The following loop makes sure of that. - for (int i = 0; i < entities.Length; i++) - { - Assert.AreEqual(entities[i].Index, i); - Assert.AreEqual(entities[i].Version, 1); - } } [TearDown] diff --git a/Unity.Entities.Tests/BlobDebugTests.cs b/Unity.Entities.Tests/BlobDebugTests.cs index cba162f2..a038a6fc 100644 --- a/Unity.Entities.Tests/BlobDebugTests.cs +++ b/Unity.Entities.Tests/BlobDebugTests.cs @@ -12,6 +12,8 @@ using Assert = NUnit.Framework.Assert; using Unity.Mathematics; using System.IO; +using System.Linq; +using System.Runtime.InteropServices; using Unity.Entities.DebugProxies; using Unity.Entities.Serialization; using Unity.Entities.LowLevel.Unsafe; @@ -51,6 +53,13 @@ struct BlobWithStringNestedInArray public BlobArray ArrayOfStrings; } + struct BlobStructWithALayoutThatDoesntMatchItsMarshallingLayout + { + public bool a; + public bool b; + public int c; + } + [Test] public void BlobAssetReferenceDebugProxy_CanDisplayInvalidValues() { @@ -192,4 +201,55 @@ public void BlobAssetReferenceDebugProxy_WorksWithStringNestedInArray() var arr = (BlobArrayDebug)bs.Members[1].Value; CollectionAssert.AreEqual(new []{"One", "Two", "Three"}, arr.Entries); } + + [Test] + public void BlobAssetReferenceDebugProxy_WorksWithTypesHavingADifferentMarshallingLayout() + { + // The struct contains the following fields: + // a : bool + // b : bool + // c : int + // In memory, boolean values might take only one byte, so the layout would be: + // a : size 1 offset 0 + // b : size 1 offset 1 + // c : size 4 offset 4 + // The full size of the struct being 8 bytes, with two bytes of padding between b and c. + + // That exact memory layout is not guaranteed as far as I can tell. + + // But the marshalling struct uses 4 bytes for booleans, giving the following layout: + // a : size 4 offset 0 + // b : size 4 offset 4 + // c : size 4 offset 8 + // The full size being now 12 bytes, with no padding. + + // This test validates that debugging proxies for blobs using such a struct will display the + // right data. We used to mistakenly have a mix of marshalled and non-marshalled field offsets in there. + + unsafe + { + var actualSize = sizeof(BlobStructWithALayoutThatDoesntMatchItsMarshallingLayout); + var marshallSize = Marshal.SizeOf(); + + // Making sure that we are testing the right stuff, the marshalled struct shouldn't be identical to the raw struct. + // If this test fails, I guess a more complicated struct will be required. + Assert.AreNotEqual(actualSize, marshallSize); + } + + var builder = new BlobBuilder(Allocator.Temp); + + { + ref var v = ref builder.ConstructRoot(); + v.a = true; + v.b = false; + v.c = 123; + } + + var bar = builder.CreateBlobAssetReference(Allocator.Temp); + var proxy = new BlobAssetReferenceProxy(bar); + var bs = (BlobStruct) proxy.Value; + + var array = bs.Members.Select(m => $"{m.Key}:{m.Value}").ToArray(); + CollectionAssert.AreEquivalent(new []{ $"a:{true}", $"b:{false}", $"c:{123}" }, array); + } } diff --git a/Unity.Entities/BlobsDebug.cs b/Unity.Entities/BlobsDebug.cs index 90d3edf0..99b8aafb 100644 --- a/Unity.Entities/BlobsDebug.cs +++ b/Unity.Entities/BlobsDebug.cs @@ -138,7 +138,7 @@ void Init() m_Members = new BlobMember[fields.Length]; for (int i = 0; i < m_Members.Length; i++) { - var offset = (byte*) m_BasePtr + Marshal.OffsetOf(fields[i].Name).ToInt32(); + var offset = (byte*) m_BasePtr + UnsafeUtility.GetFieldOffset(fields[i]); m_Members[i] = new BlobMember { Key = fields[i].Name, @@ -195,6 +195,11 @@ public object Value static class BlobProxy { + static unsafe object GetPrimitive(IntPtr basePtr) where T : unmanaged + { + return *(T*)basePtr.ToPointer(); + } + static unsafe string UnpackString(void* basePtr) { // can't get the BlobString itself because that will trigger the Blob asset safety system @@ -227,7 +232,8 @@ internal static unsafe object UnpackValue(void* basePtr, Type type) return Activator.CreateInstance(structType, new IntPtr(basePtr)); } - return Marshal.PtrToStructure(new IntPtr(basePtr), type); + var makePrimitive = typeof(BlobProxy).GetMethod("GetPrimitive", BindingFlags.NonPublic | BindingFlags.Static)!.MakeGenericMethod(type); + return makePrimitive.Invoke(null, new object[] { new IntPtr(basePtr) }); } } } diff --git a/Unity.Entities/DefaultWorldInitialization.cs b/Unity.Entities/DefaultWorldInitialization.cs index 48dfe407..ad72ae4a 100644 --- a/Unity.Entities/DefaultWorldInitialization.cs +++ b/Unity.Entities/DefaultWorldInitialization.cs @@ -91,6 +91,10 @@ internal static void DomainUnloadOrPlayModeChangeShutdown() World.DisposeAllWorlds(); +#if!ENTITY_STORE_V1 + EntityComponentStore.s_entityStore.Data.Dispose(); +#endif + #if (UNITY_EDITOR || DEVELOPMENT_BUILD) && !DISABLE_ENTITIES_JOURNALING EntitiesJournaling.Shutdown(); #endif @@ -181,7 +185,6 @@ public static void AddSystemsToRootLevelSystemGroups(World world, IReadOnlyList< } AddSystemToRootLevelSystemGroupsInternal(world, systemTypeIndices); } - /// /// Adds the collection of systems to the world by injecting them into the root level system groups @@ -199,12 +202,11 @@ public static void AddSystemsToRootLevelSystemGroups(World world, params Type[] } AddSystemToRootLevelSystemGroupsInternal(world, indices); } - /// /// Adds the collection of systems to the world by injecting them into the root level system groups /// (InitializationSystemGroup, SimulationSystemGroup and PresentationSystemGroup). This version avoids - /// unnecessary reflection. + /// unnecessary reflection. /// /// The World in which the root-level system groups should be created. /// The system types to create and add. @@ -243,7 +245,7 @@ internal static unsafe void AddSystemToRootLevelSystemGroupsInternal(World wo throw new InvalidOperationException("Bad type"); if (stype.IsManaged) managedTypes.Add(stype); - else + else unmanagedTypes.Add(stype); } @@ -297,7 +299,7 @@ internal static void AddSystemToRootLevelSystemGroupsInternal(World world, Nativ private static ComponentSystemGroup FindGroup(World world, SystemTypeIndex systemType, TypeManager.SystemAttribute attr) { var groupTypeIndex = attr.TargetSystemTypeIndex; - + if (!TypeManager.IsSystemTypeIndex(groupTypeIndex) || !groupTypeIndex.IsGroup) { throw new InvalidOperationException($"Invalid [{nameof(UpdateInGroupAttribute)}] attribute for {systemType}: target group must be derived from {nameof(ComponentSystemGroup)}."); @@ -360,7 +362,7 @@ public static void DefaultLazyEditModeInitialize() /// /// Calculates a list of all systems filtered with WorldSystemFilterFlags, [DisableAutoCreation] etc. Prefer - /// GetAllSystemTypeIndices where possible to avoid extra reflection. + /// GetAllSystemTypeIndices where possible to avoid extra reflection. /// /// The filter flags to search for. /// Optionally require that [WorldSystemFilter(WorldSystemFilterFlags.Editor)] is present on the system. This is used when creating edit mode worlds. @@ -377,7 +379,7 @@ public static IReadOnlyList GetAllSystems(WorldSystemFilterFlags filterFla return ret; } - + /// /// Calculates a list of all systems filtered with WorldSystemFilterFlags, [DisableAutoCreation] etc. /// Prefer this over GetAllSystems if possible, to avoid extra reflection usage. diff --git a/Unity.Entities/EntityComponentStoreEntities.cs b/Unity.Entities/EntityComponentStoreEntities.cs index ac43bd52..c0d7f50e 100644 --- a/Unity.Entities/EntityComponentStoreEntities.cs +++ b/Unity.Entities/EntityComponentStoreEntities.cs @@ -49,18 +49,15 @@ public void IntegrityCheck(int blockIndex) var block = (DataBlock*)m_DataBlocks[blockIndex]; - var emptyA = block == null; - var emptyB = m_EntityCount[blockIndex] == 0; - - if (emptyA != emptyB) + if(block == null) { - Debug.Log($"block index {blockIndex} pointer {(ulong)block:X16} count {m_EntityCount[blockIndex]}"); - } + Assert.AreEqual(0, m_EntityCount[blockIndex]); - Assert.AreEqual(emptyA, emptyB); + if(m_EntityCount[blockIndex] != 0) + { + Debug.Log($"block index {blockIndex} pointer {(ulong)block:X16} count {m_EntityCount[blockIndex]}"); + } - if (block == null) - { return; } @@ -85,7 +82,7 @@ public void IntegrityCheck() } } - public int EntityCount + public int DebugOnlyThreadUnsafeEntityCount { get { @@ -127,13 +124,8 @@ internal Entity GetEntityByEntityIndex(int index) var block = (DataBlock*)m_DataBlocks[blockIndex]; if (block == null) return Entity.Null; - var bitfield = block->allocated[indexInBlock / 64]; - var mask = 1UL << (indexInBlock % 64); - - if ((bitfield & mask) == 0) return Entity.Null; - var version = block->versions[indexInBlock]; - return new Entity { Index = index, Version = version }; + return ((uint)version & 1) == 0 ? Entity.Null : new Entity { Index = index, Version = version }; } internal bool Exists(Entity entity) @@ -144,14 +136,7 @@ internal bool Exists(Entity entity) var block = (DataBlock*)m_DataBlocks[blockIndex]; if (block == null) return false; - var bitfield = block->allocated[indexInBlock / 64]; - var mask = 1UL << (indexInBlock % 64); - - if ((bitfield & mask) == 0) return false; - - var version = block->versions[indexInBlock]; - if (version != entity.Version) return false; - + if (((uint)entity.Version & 1) == 0 || block->versions[indexInBlock] != entity.Version) return false; return true; } @@ -234,18 +219,16 @@ internal void AllocateEntities(Entity* entities, int totalCount, ChunkIndex chun continue; } - DataBlock* block; + DataBlock* block = (DataBlock*)m_DataBlocks[i]; - if (blockCount == 0) + // Be careful that the block might exist even if the count is zero, checking the pointer + // for null is the only valid way to tell if the block exists or not. + if (block == null) { block = (DataBlock*)Memory.Unmanaged.Allocate(k_BlockSize, 8, Allocator.Persistent); UnsafeUtility.MemClear(block, k_BlockSize); m_DataBlocks[i] = (ulong)block; } - else - { - block = (DataBlock*)m_DataBlocks[i]; - } int remainingCount = math.min(blockAvailable, count); var allocated = block->allocated; @@ -432,11 +415,7 @@ internal void DeallocateEntities(Entity* entities, int count) } } - if (blockCount == 0) - { - Memory.Unmanaged.Free(block, Allocator.Persistent); - m_DataBlocks[blockIndex] = 0; - } + // Do not deallocate the block even if it's empty. Versions should be preserved. { var resultCheck = Interlocked.CompareExchange(ref m_EntityCount[blockIndex], blockCount, k_BlockBusy); diff --git a/Unity.Entities/SourceGenerators/AspectGenerator.dll b/Unity.Entities/SourceGenerators/AspectGenerator.dll index 088b78aa142ef8f1d0289ef2dafb194b23113267..487aea0bc79032d20786f299f5a2d5987e245a4d 100644 GIT binary patch delta 8300 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 Hi}(6J{oz$y delta 8418 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 delta 792 zcmXw%T}V@57{{OY%q8iV`zR&J;Rj_oJ)O?0kf+eXvbS3Y{S& zY0!MHk}{_v*iFKzAc6`8K{w%TbWs-(brD?&Mif2gsPDshp7;NMeh1#K>;{wFVD3*B z72;P;;*V&e0mCkzOG6WRXr{=II(4AY+s; zcB5wmfY8ajPYp7rqr|UXcK$6Q7J7-Bsj@)*fr<)%6Ho~REN}!>7pf}AgM}JgVI=Hk zjpzne^B|@3-N0!|O}pA1q=~A1(L;)D8AK>CEklW(qj1kw(4B(r6d(%EXlL-HebCxr zEJbEW&sk#wJXOp3?SzDAU8uMClkHSl0shhJp_a<$)@u7rFxWcEUui$+d8NDnm3I0r z)N|e&9}iSGQ)JR(CT2*2Qux=L|@K*Dw0KiYF2Y_!Xbv zZB|6Z!$lNDmfe2A9q>xB=oQt*h0kRFkB^VCKzf4=p6xt-Q+U2pv}Unlj{~p3k*95o zwG*4SYB$GcjAz!L>}z$MomeFZb{^-?$A>dx;grZriAk zCAnE{2Vs*^1j0Qh-7Q|&SskC;S)I0}7lSukEz=(c)X}ZE7;a>D+|lOMxtel(E$AfA!5Lo@JjsOJ6KlYO@8Np&Ueo__qMlp z*_mzJ8OCjLzSO26(sd9mOD4K1MStds=EaS5Eres1mPm%w&7MhB=r0rc<+GzisZ{@8zM_lYk)FYB&8YJNR3t|NO(apdhyTf%CbTTUExkc5sQ&mbQm6FCVL zaU4xShLIbPeaMT*2gn48gi0hFRU$VccOx$#`;js!MaWalZ z$|N*Z#+j%Joee0wgZvhG1(_`8C`T@#w~%{~{m8%M6863AGI936zeAw$oR9?JC+S^;nBrPK?DfX@}y4LxL}%$1Q3Dq#-14Ce;t@pL_x zCwYc}Ck1FA)gWvTN7;sWT4+e1B?fkpOAafj%b=kBa0HIR3Fw2b#03hvXi(CRP-0Y4 z1-uA#umgIHDmnz;fGkf%IWP<6!)n+CAHcP|;dCocO?TlwaAVaJfTdwH&Cm*K;XAkt zKf{`QHFd*II0!#LNr9S{LnmwowMk7{$TB672_{1Y%!4*q569pt+%%0KZQ%&Y1OpVp z^G-BnPz`m^SSWl=8d_PXq3!T1^qGa4aPX9F;Ykk#ULodh%S!isOG9LWPm>vi$S1Q-U1fRBUv zA37CsIH(~>tVQ&A`3WyRjf7ER?VcVlHl;u+q=~is+zjLx$b>B5!t@|F2OZ({(1Y+Z z=BUbGMCQR*$QNrNg9#}-BH@t;Up+@_3^t@49N-jdI}L862fW}DYk9^Z!8T$4*7}IhY0&z>&jLiF^U3!wj+3RyYee8|J`Vh~VZvr5$vVwv!RxU>a{E zIoaZ+oRpGy9opgiBD5)dkJ$E!txh7P(R``cc1xs24Eit_$(Kr{q~RBdZMWDSkLT&Q z`8{r%vSaph5r5sXO`!4HE@x_*| zv70H@m{O;S<)yk~OH0_&r%OlJk<|RyS$EjA)YvO_<+J>>;+R=o%h>8POKj;Bi>Afy z)%Ae=nP!Ta)$L%qbXRPtfd$iJuh{(&`!L-eJL_L||ZTjy`BFx7g0F`qx%e>(oa{2P7A z=7!S4?W0PY8XB4!%_S`@!G_xU)+vplCi9|}|JkcA>+1O%-yc)`HqY5U?vsMd>Rsc9 zm2UMGP5ymz`?QA_Y?2NKyOdSncAKq*4zt~1x7p41f`G?cV{)wH~)O zi5|1n>?-hDo%Vp+R%`RPoYtVz7j!vXZeP&hv3mpd zP)&_(k;~_Hc^y<=(^$8%rY=~xD%jkzxT%qBw&*|EDd~xOZgG3=ay=@pCzomc-gt}$ z237t!PX?#iG5Y1%AD}oK?S+6t)YXbO>Lm`~* zy)Epx?+w;a(mfg%esTqF-+ffMp3~fZ1&f>5p~4B=+Wx4pqDK{F6JO(!1}EbtvGzcA nG=I`Xi7-{1ginDDq6y_iT>ge4Y(V-S+ydCq delta 2834 zcmZYB2~FrJTmbZN}LWWtB?*26_P$!NHLHQjO!;SG6y?R z2~-8+2sj6CKqO}fvLtN++*bCo-Ak>ATAr7)&8PvdELtUvWR7w}&D%^skFe#;2(WJw4$btQE2#&(c za4A`!4A#Iw2#SzW8knI3p1@1ssocl~ln@CqFbn2EJ)D5kDtCGbOr$$GfGea9LZg5L zNQQ}#++BOnlt>RMh2zko=4#wWM6cB%5@|%_44xpbreW{;QW~L^(ioTsQ*CuA{pRP)|2d1aZsfoC z-9g;;ZnXN{7!O&?U7`?=^^aW7yX~sr@6J|5Fb^y7!rIG>O0tqnm zw_q2fD@ei3R?C;;aYFFfVvB?K~L1wE-6n;p52!KFftaME=1f3ul3fybL z&@d(Ujpe?CArNY-jZuapBR~b*qhe^Ll6wT)J?cPjtCcCEkp?h=$yOT>5`&C|IC$Sy z+Zqy&WVd?^vFgIcqB{=8Lkci7P&ENL5hlT8TWwZkIx+(?VG2~?;@W959ie(skdR)9 z75Mpi4B#^YdMXY=`&ev7`=hwY)^^z1AfABw#EG`Hf+x^nu!+Z~J;H-%8$=zLcrH%l z3#eCYwzU6X@mMd8|-)Osvh0XY%$_{q3 zZ>Zgxf3w}bcIR3#g!Pie_g}LjpS8#$?JDi;=Q6u}R`jr!W#RqTR47=_!BKXV+3b|T zcIT@2oNXMewOezSy=H$@rJN1)v)iX~4r}()^*^d|C)@02w{zuv_P*Z&tNX7%!>Y(C zT~$og*g#%N+JTye>v^jdm0!GSs_~aeJG>&EP8rUeuwIT>njcfX^(^`opr`GZ}V(hK`5B2+hf=52kizIpvu%2!L9rXG8|@XX;QE@6_Z;|||G=AZ)^< z27jh?H~-l5=(_WD2lKTTY7FbuYnQe5U1)MFZ5bF^kz(;1XsG^nVakk`d6k*hJ)X_# zo)+q!HS>+c!Rx!PTU6I4WjNif9W!=x{_oa$PU}7MopqQ_sXB1Z@I!apmZ;=}ao1L7 zzW!iK=RXn~PA#0e^`YLiW`3If;Y4R z+1WWdb)Ly!G3J>ptTCW0!KhNJ^kLdugT<1qjnbN;^_FN;j>V)m=a|e!y&*?u(Bx=! z7JY86-k_!h*@gMP&Ca((d}vuzJh!NjG}^ZR1o#YgYVKm1FEY(NOpBQHjWs%OW7}X_ zZ00Y6CiYNlozS+DO^++$j@iDATekfO+Z8A0#$V9eZP+()Cv1mZWWMNTPrsj`v`un< ziDDck^O@!@sS`Q7_&SGsivlT{0`w$85u34Nhx^)g>gIOZF`q3OUg3pvaFg6-%#N$5 zGA&Kaj)$yc{4y6z;3`@-a&yf+Z5!iPGH&k{bJx?ue93PMPw3`xOKppA!Pub9X;cj3 Y`*taJIC1;h?&j_8ZL^bd@joN|7Y?7}j{pDw diff --git a/Unity.Entities/SourceGenerators/JobEntityGenerator.dll b/Unity.Entities/SourceGenerators/JobEntityGenerator.dll index 8ca3aaf45405697ff7165a206623bb0f4953e8bc..c43b254d26946f279a5d5ebf9bf3b900857d933f 100644 GIT binary patch delta 22458 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 hl-(); + StatementSyntax lastStatement = null; foreach (var statement in methodStatements) { lineDirectiveStatements.Add(statement); - if (statement == methodStatements.Last()) - hiddenDirectiveStatements.Add(statement); - + lastStatement = statement; } + if (lastStatement != null) + hiddenDirectiveStatements.Add(lastStatement); } } diff --git a/Unity.Entities/SourceGenerators/SystemGenerator.Common.dll b/Unity.Entities/SourceGenerators/SystemGenerator.Common.dll index c848796f8b8bc412167d8720c1aca3ad7d8ebc2e..eed31056960e10f5e6ad8bf2a58302a79da2cd8e 100644 GIT binary patch delta 7044 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 HQiA>o;+q?@ diff --git a/Unity.Entities/SourceGenerators/SystemGenerator.Common.pdb b/Unity.Entities/SourceGenerators/SystemGenerator.Common.pdb index 8a1ae2dd848dd1eb78ef43a6d67b64317896a0d3..ce19c471b330a8d70a6309f5312bdac34e0b7ee2 100644 GIT binary patch delta 2931 zcma*pdr(x@9S88=x%-4=*M(hJdB{_Cm)EkdyAMPN0)l`h8N`U#NtUo6tw4ehG^s4) zAxSj~o+O&7W0E0gqe-J~WYkP6rqtM}8JifV)5I~cw9_%EO`Fh+Nle=BE@tC0{i8d4 z&i9<(z4zS5&OPkQr`Rth*{E~9-awQyNTggyG$lj7v9GtYyJHjKb8Zol6q(c1NaxYN zFVwGTT2X~8OeeZoit)0IJ*^n`#CM;s`1ZMmoo`J}eYu3S`qu9Ja%|MhRAVO{ENASx zBcR4!j}W6LNuXoMDP$UBRLBJCLT*K#LB5MzBrqxx1nNaTikwEik4%*?Dv$`|Lq3Q+ zf}BErjwGo-^-@O7$i2t|$Pba%kQp)-pdy(-oiauP$k&i>BBgRh337pIk!z5n$oDLHA2r41s_7*-1}9+(-i5D0FfxjTfDg?EqlC;R2^E72 zmcll88ph#}Ns8@KY?orYl#an4;R?*cHzpaj%dlNW60?kAp%`2+j@luUoEpq>S_coq zFg$5i&@QtgK+mBw3BQ7Avyy%f@4=s77QTVFJSFM!VsMfeNWfr`=#0`m{jkXWFhmkTwNV9`(oY=&RMzTyQWw=N(x z=phxdArGwJhBByz255wJ;DZfTEzLrnO-oj&hxO1EKr;xt;6*qJZ^1?Q&K^(CJLBn9 zI04h}2WJ9Z29KCPBchJ}0^fn&rK2=(gCDw}AI726qo*<03pe0Dkm1#n5du5VT<|86 zwIq?2LLJ-#ZSWur!gknGl0@V1F(fWYqB?jAMqv+3!6%?EO`B83FHREoO`j}vI-R$h;6*VAli@SJp?%61$xZl_x6#S3dhzx&pB z6UL$4*WMcUVZ09gq~NpK(?aqotRzypfR|E6M^Khi94ZRZ@h+X1aUc3>8VtWhRT2tK zjfy~%=u7B2Kch3~{)UAomikfGP^hn>r}?M4oTUOPG77cwa7*ENuqt3SfexZBq2$nF zKu?6vo*Le>9Ib-#g7tbeQ(VDxO1i@DO*F8Jd?2xgy}?f>8j@c^ozY3OlJJS~%At?b z@Xr$SSU*or5(9T(B1XGVC;ET-xCVR}jpc^!7WWrkP%#N=tBnez5@H}0RKRG9DYR5- zU;$_$9vC&6b)lC?4~dWjSiG^plb?)CfmBEXEY_&I3Nw(IkOkS01C0J@%|(X3P7|0R z^hPt%+6s_`Py`kz21XN38`2H|2O1}cfQK%+ksk0u2`m9dpNdP7Wl#=xKm{=RtEUoK z1=X+|YJkyn$qHm0)I$TT1QVWBzS4xR`;OQdJUg>;?-C}bI}2x+gp5jw5Na#YE>><9 z7gA**J7@!z~F%Qdg~SOY(n zRX)GCdv~@y>UJKx%FDCsqe_ow@jcn)(WQs^Otu(ZdYk9wxS~o=#PSU}rO~BT{OJ6> z_VU@B714WL=5>o*#kW7^ZH`R+=-+?)!tzsR%dpC9Vbd${%?8!@D3*YH~{CeoEQ|$iphhM1=*S|4& z^su^Fbu;*UeqpL+B9%>KvxyQm(ZnWv{9^TSRj3pmA8-cw@)Q;>WV3^sJS2u z9~0bB`!Unc9ezm34&{bs2=5ads{4c)=4L&7?N<5l7wpw|Ob{Gy7?%nYCER#-x*>A% z$Zm7{wA?)?kRg!ssA-=B-;H(QvWH#eKA69_A^ zgtUSai?D!yNB72%NjiXEJ@`>b!Xrkk#rR{C65A-nZ&76o2_12$Xs9&%N6WB~4h?VM eZ#Gx30ROi6Un!AGh+O&iCk-lFQUqZ~$A19{#Y{y2 delta 3483 zcma*pd0bTG8VB&_J?lx08)&{zb;9LxYkGvZ`o zXl8f=7rH8B+6OPWWQvuT)h#pkG`n=cEtk~pZ@>_||J?cTeShzH&O7IwGiT0wXy41W ze!?1+S+2H3?#qa*?1+vC(N8TeEi5T0BfP$MA`&3o(^Bay`U`dagtVkd$f?fQABFAM zq6InFKK;$5RT}fkn3}SbhuzYo`MyV{?|!qJgiK3PAxD`)MjB)bvK@H?`539xXEaftqiWOD=V88*WQ@G)F~UpyHNf;Pd6(R4385_{{BHAul7il7WuL8G?- z`vur9zM81ZY#E?WtC-8u9i1mGX?!!G}n&N9r&p{^4 zg?v!@8PhCy2m*iYvu_fUqraFMW5qK0GPsz48RO*zzICS z7Zjj|7)XHW3JIM7vtS9?KoG=2suoQiR6rf9hj!QxSCrHJLw5N#?B#OMvwiT=P;n5{!n{OC1Hiq8lhvK1u0Ge>6e$MX zk|_amV5Ii3)ZIi@U=22a#Tz@E{p^tr;0RK{VvV{~?t*j$Hy8)*!00>0c%<%fdV&{t z1Eb#+x;xts{6P)@z-V=75K;l!U^Gey0Y>I36>KS(J56VQulL;h8UO#Si-~N zkdq)DCPM-+dM_dgIR%noDog`UTxf}rC$50ZFU##u~Y zYT+o4oSt6HcRBl*nmjGkwDJAUS!UuzsW87nOZ&H@1_`i5-Yyt{l+DauDoW& z*N%%GQz_!V9v3pEvX8fR4;@o^z|VG%7+tB2we=?#}{cWo?gHDz?k>G>whaFnjO`i@vkljui4y(Uv1i&-A0E3t>W*-{(13K(!`lB?@X6` zvwMZV{LW3y~S z`=V)I&JQpDsejH}Z`3vy1mC+q=jQ>3dY^G`4HnK@bK$q?Ckt)j?^O5h*Ww?Z*zkvZ zn%!IJ?b5yLDrTMCC~q}=`FenR*Ub%qRdFwEOVm_6N|pGV?boi8N6kn}zP2VYIiX-h zdiD8paV^JujXLzN4QyJ~u)6zp%PY4XE908_W>)r{iT=*mzPe%mn#p(i*Djus)$+dD zv^ToS_Ld26-y&Pu^uaCr%{ir?*>7Gm^Q%=ygQX|=HJOJ#`7z3V)4DJ2WPV?8(c{js zKYI3l*%tNbkNP`${=EGAhgLR<6&dc*j->%RO|J^QMN^lgoHxoI6!J4<<3rVQg@3SI zp$t-}<)OZ6b+9r&N397CQK&RQxq-PMLBT;vO^7N_nVp>z9GI_GX(r^WHT(|Q(%1>| zK)KRak*CsVvK1i;b*NGks?O1fmD=TQc#gypz&X% zDJ?5pP(ne9&O%QMW_P%R8gxtYb65S0{b#(C(j>bh-k@0c3-3C`sdJZ?nWMOku{HzN z=E~Z_Sz7}CW!y)`y3){gyF=&elN^}c@R)6htldE$_e8S2q3(%g=fq1UTl3$u{5ho|W{`J~+O1M9epBX(9#X%%p7uDolCv+eM^ zG5gbDLu1lXmgxzHj>UgJbGh;G#~a?xOZ~`vUe^M=F7#7{r(U#Dd<+kxX&7yK909bA(D diff --git a/Unity.Entities/SourceGenerators/SystemGenerator.EntityQueryBulkOperations.dll b/Unity.Entities/SourceGenerators/SystemGenerator.EntityQueryBulkOperations.dll index 9c892344ff39a9e25ec85c89e5c442674e0e6fea..d5194c9f1375ef5881d4d43342372e4a2df5ab6d 100644 GIT binary patch delta 2314 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 FV*m}px!wQ( delta 1259 zcmewpGAD9^Nz4>x1_tFi28J3I28IGAAUn9EC^Ij;m;nghurV+Ig&CAXgBd;m*$E)F zd#I-ikPcvHVDM1|@||+>lYo2!-m=In&G*h*UU>@z9y=p6*?#Gti4!{NS%GpZ7#JD0 zGB7c`2GT!(bP6LQLpdW8LopL0LmLwlP*hcsk>N8Cb1E@0s4D@r09ElSGckw&u{01X z0kH`X-&0{?c&Y-D2LUFAH()js!)GM1UvM^1$>ceVJd+nNvTk0%*u)g@KoRIe2B43@ z-U2xd=qsT0-<3FkG$#;q0Wmia^8m3311p0%P^A!yI*_HtRtD5LgK-*=T+YV4L&N0P z>}Dt;*Cy+8&25;(`buX=>sNw1z%Pu)-fy3gupTq4LkJaDO ztxmUYn12E2#L%9NT!#!qT)#X0e|XW;F{p4&n81~d&ANJzK4i^ToUvrm9*w`%iz5zx zEI7Zjl24oGj`yY~6IM3Y%vC$6t-VmrW^&}e#TH=~LNB+5=07fSdVg|Dm4?HseXg-0 zi^X)bogaCeb2pdkV4JIQ&)Ve6o4dJ(--JldP@B1;%=c`Db;;c~(Np?cXQUhd_!<55 zy;QrF(v%OG2|W+q`kl}G#5DN=hZUyRnk*Hr=U&vwtm|DE#dWG{YRacNW{3Ru|2;Mx zJGxOrUv_T5g2qg576yi`lfAu}4MkeNxBhGI)^@d8ytQX-*8zPD8y*K&u(}SLu56gm`-FnBxILf@(BO*lE>H6uB>79+@Q=Ru51Abn?|EUR_;xT%O&?|zGm=c!S9jO0=x$m3Ww!DEub016AJh&$RQq=3s>A0`Kj~Z2H$Cv$5x@Q4 zd+r5Kef{gfY6Z*4Z_Dbp&04(Df5zNX%$J|JE#Ld%U1DreT0~*3^ogs>9rwqbpIx=( zgLJfhwsTKN>Wgo+4tFQ2ec7__V&$Lx?nVDLpUvBJ`OMc`z1}VBvizHWvG0HD*?2SJ zO?uIk=aV%t*I3WU#L&o6&rI9W z(%2*|$uia0)W|&5Fxep4)X><_B-PYB#UwE?$=D#x(md57%`$cJ6wYcr3q1op6K$gu z^VHNtBU2+wGm}&^%cN9GljJ1JWD67XBx7^KBqQTglav$_bA!#cT&j!`hw~V^K>054 znGUyZK(_xRwXb|LjS5~&Uacm(c{=xEDG4#dq@xTDj0}xw&%z9wPdfDpDVTHZ6K(R%;k%bu-9p7xFVb25r%f-dK diff --git a/Unity.Entities/SourceGenerators/SystemGenerator.LambdaJobs.dll b/Unity.Entities/SourceGenerators/SystemGenerator.LambdaJobs.dll index 3d12ca37aeb571158fabc1d913ad2f07761e6426..3e097df258a562f5b677ebfd645bd26b114f814f 100644 GIT binary patch delta 1086 zcmY+DZ)g-p7{=dscJGq&znol1NyFV`HbHG~FG=O7#+2xp7;0+p4{fB-Y&MIHiMQ$9 zO4^EYVFOyDkhscxXsOWzM4_ln@kF%bno#noh@?_l&;$}e{2;9#iv4n(nVirL>~Ejv znRjR2U1qaq1KHDok<$@3^5{Gi$2>&CD=`kxKmh#9;ZLL2K3roTBCuEZP67{<(MWJr zmcT0R;~fMJcoFiJ*MT)S>kVSfiU-PaA*kN>xEXhNk1>kl9+IGME{lNd&jym1Y$ttp z@T1B5cTf3S0DSc?-v#J`hcLz;4pc9@N78*-ocmq6GyijK|8vaqBI$B;gx1cZA!Y5Gd$Pm zywrKz|R=BW4FH7bnrz%A!^OB2|qQwpst4apwP}GHioU0;YGDPQV4?&1_)(K`M zp@wICZ=Lm%IR@> zcqA)hyI$M<_OY~SwOA=DZ8&y1qb~<1b@n7d-l)*+t|R(BtIskrmY%YljANv_jdXWi zEUvS?4WzoR*wVE<#g@d2TsQ7Nzw$}=gQtHrf6I9Hug5K+!=sT9jY5gD|Yi zMRt&8WNR8p<7!9zp2gv?jz)5c%n|laBZ-omBv<(!X(mb>{OoWO+033c5j(&?nfTXd Ow&vC+$qO8fm;4J|)iC4$ delta 1246 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 F{RiQIDv|&I diff --git a/Unity.Entities/SourceGenerators/SystemGenerator.SystemAPI.Query.dll b/Unity.Entities/SourceGenerators/SystemGenerator.SystemAPI.Query.dll index 6ce0c19db24cfa04c0bb23b9175d694802f47675..f492e1b83da425968db702bb001b7719ac200aea 100644 GIT binary patch delta 5229 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 delta 5283 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 Yhs1WXC{y_V#QMSmF%tWh^=3u>59Mnc1ONa4 diff --git a/Unity.Entities/SourceGenerators/SystemGenerator.SystemAPI.Query.pdb b/Unity.Entities/SourceGenerators/SystemGenerator.SystemAPI.Query.pdb index 6d37707c6d44dd6741ed4875722a322786fa7941..70bd0f0310ba7649bac86f5c81053447880aa93e 100644 GIT binary patch delta 1763 zcmZwG4@?tR90%~^#852$B)Ui0?pKL~_%&_S)=lnD05{+@XeT#~A*(IO%efN9s z?!CL*efA04vYmB$>eADQ9BYWg(L}%L(XU#$ylH9U3c_(|9O_6%broGje_5A}IM z($45;7|j5jhri$-NXTY11{_e3EzlGwf!Qz*7J$_ukOOi-1|Lj^nJ@>QfFqEYgYAL^ z?BId|(4YvyrD)2b5^5ljqoZ?9fp)nBIte#iu|4akZlaEixgzC371Tlyn&4YFk*B9K z@C#goYj6|Z&)3sd$v{EbKyA?1nF)4-Ug|C4mMM9bH%4I=YRHsOl&IM!{IHffFRq z)cZHbD^ocWtzm&yr~Y=uKsNFisNNYU%Qj9cL`zh5(oxW(|=wt)Wx6T)JEz4H&wbs{? z5(|jw%_-J`X%!1r@w5!pob*s-?OtA;Q50Xg&EL(C;!5jg@zWWe_)-TSm-(MkAFs>I zkDJwI;$4|?e5r(gpBcZ2wskxuD}Kec{d{iL9$ofAZP%Rqpl?t*)OY$T(}%Se4x~!Y&iMEh{;SRXe^;Kcy>4yUcx-%)vF%#N zl8wFV8!LLN%FfL#nYt=GxGrl_Z4>`A+pcMndy*2o3&@%p^eWzl`a(6- z5G>Su4W0(K+wb-I-3|UgeMt3aer|BQTv8~xC2yY3?NRDAIVcx;J?@alAM&bR%^y+= z6<@v55D3UiynfB=Q>i(yw6QhN7@G8aX!(k!mZc=i(SwdrEd6k6$K}}9WPJ1Nz|ExI z@}0YO^d{9L{2jfLv(J*g{_`W7sF=~kE8qP&E^L_dfp%iEdGL25@0;Fg>RH5kT3Jt5 zbVjknG9rsuB*Y?XS!6xKNaQUR*~ucO?oHY7Xp4U2y(xFccVZ-JF5AXN#x8qMi{0?x wtjC1d?2ld=x+eyQ*0GfLizDyWhF9om<<~1tnd9%l&&-qbL#suT=i3bb0wB$UVgLXD delta 2308 zcmZY94O~<88VB&_oV_p@&>%pBv5gnU`(oP}+Yo#~g@C{aHx%g>FXK%C1w}(^z#@NbR*HaK!Rv(!N+z0U&qyUc?eqCQzyF^9f9HSBcFy*F zLNpyFDyVojTL9O$0C;u)H(5B2*^rZ-m6{9qnsfwUV!CQ#;319+jN?#E*iy``e1IbX z_&#`Tb|SuC*ZXBmYFAHadFi$-yV5irx8wV({#j9`x5l}0AYeC;(24mIrX4|mD?vgu z=07kiF%Mw&U=CoKlLX8qNeIV`#Vp0#g?Se9J4`-<08a)9J24Mp?qL$p$Ru&6nHK@! zt^{=GvGkyR^gnbDG294v4ml!sHxlG104+u@qUFeD9tn=f1$iPrq(lqQGV~H^M@%sZ zTx5;rA`x;&5~M)-KrBm8IEqHA#0=GkG+}T>cfNx6ocYW z0y={(`m*4AbQS%AZlT-gUlJBn`>`QT&W3zcfey<}pcD1TP4w_H4hGRpG=_ddQ;12K z02f)Kxk!ZEkpwAFAXP46X-1Jq`1&SG2s7{9|P{< z;2~lt7+{91kUbJ2F_I{r9vr_i1x+yddJ@(sNXS9?(~~6BKFLp?EoMTCf(c)t)99OL zeHL^nSa2Ejqv2iFhR~%aZI4nYqNz3w8^TmPRNd770G|Z8Y%}%4#X)`md4qYSSMtgr)%|e{lJ<7 zdH$!K=Rk;Rz=i|c0-Ei3Y@TCmsiinQE96LHX;X;R-A6Q!AI%__1kgJEyXM?@f@xvx zC<%(v=Fz|NA?OwE*CWN#0Dmq373BzZ7YJ%P=T&uU9IcGz-AOmpd;Ybo1u z3ckOpE)_WP+UEF9#4aS-^*{S=Nu6JC;1d2cnzGN$&iL6ZyBGX;usdw=E9)Dyyxz|Z zzLM+X83&xJ>ne|XOl_%MdHVLcu7AH_>1}>BqWM1+hYVZyi%)xd*9ZdXRgY>_v6nPG z#hUD2a)QUs9m)4tbnC>jS8ZzTe7u)jfAM0dQm~D^-|gCb>erFJ%(jsgj@9Db2lFDo zO`E@=Z)A1Vj^gT6`Q-i8H^v-Fyj-fr(_b$e7>(*mzeB!2AL9#Yt%&#c>w7yxR9RSm zrld7tsJ^>BE4OFTO;bPVa7Q({@cipN+JcTvdkT|$@lHQVN3J2Iym!X9k4jF*M6ACY zx9aH5B3mDUnYKQtN|4e*D=H$xD;q~nX8&M&=vPBfTF&{-y~B~>-5$60Z8%coQ6#mC z(r=Qzl6)yT|0GwN)M{l{9cB7O+MuYQj>-J^sJZul7cc1h;QTia%#UTbr3SlipZ zzsTdGa_1pYjm2ALnV>OS?Oea3p!bKu0h2vfULG9{d&hEUeuRDK$$j^G>(g1qwq6EJ zy3>tK9T(Px#Xq>fY25me?eUtURqoBlr#w0Czw58A7#1Ep|88!GTXF67yv8>h#%dy0 ze&)XYjmh{5&nvse%DYRqH;mf|r&5~S!qN_@(}rFfEiMack1y%V@bBofy)5qE&%Pl% z{%LgS?Fx&;Ys)LUE1vT^F<5r*Yt!MSt!_=_MTfcJXvw9D?jqhy`APMYEP4w@|X9|YaHOxdqvLvYKhEOE|F1EnOfrS ztyasalti^ou8=8p(j>nmg;Xx3bP8oMm5`7q_e)VLb*dD#j=m$>8myA|NhohwvQno@ zkSSzpe@f@CPSmNXq(pU+ic%)ZmC{6+Tt_7*Q%XNrn~;^dF(Fmwo2SdkP0!8(sjQ{R z*_yC#%YxGBznUQ*uJ6lhmRE}JTJDyuyGfr6vTGT4`NYBAPMUZY77wdB%e_=Mu z>dBHn=NoXQ<-yW=!piuunV#{0O(Dxj3!H?7noLm_MYufn@L}f{K<0m SG3awq64vx?Ef1qa>^}fKsE{`R diff --git a/Unity.Entities/SourceGenerators/SystemGenerator.SystemAPI.QueryBuilder.dll b/Unity.Entities/SourceGenerators/SystemGenerator.SystemAPI.QueryBuilder.dll index 3fd14997e4c113bc5ce0d881445de619867c7357..5c1b2fbf4a00d17f698286217fe8b9e6619aa063 100644 GIT binary patch delta 706 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 diff --git a/Unity.Entities/SourceGenerators/SystemGenerator.SystemAPI.dll b/Unity.Entities/SourceGenerators/SystemGenerator.SystemAPI.dll index 77a391dcb390317bfbad1ddb6e5ddcba232aab08..4fab25d260bc04c2ea456e0a792a00fc405661a4 100644 GIT binary patch delta 2389 zcmY*b3vg7`8UD|?kKMbQd+%m<*+5<}JCwr36iI6Ac7R2vJrsWlfft=0!Hw zV5ZhhY;_3IHsNS3V;yBMr66i?!8D2wQkhDpIHFX`1k`{qJet-N`T!m2e=c#RoXq|5 zpYQ+9fByeJdmnw@kiIKqaI<&g<=BfbJ-z^MmYoy<#E_70kQaxB_S~&KJp^zUCtd(J zC=6x0lHLVK!ui@kfHf?e7O*hMwSCovR2E(_wuNMB2L&`=z)Qr-V6T&0@-X|1c*zk) zs7pG(9DuN7qa;y7YjT2D+yK5hBi7Q<+>LtJ>;WH4QGf zCY>^DR`RVfY%wE+siA04DHnR+|-ZZf0IM#csoyS;V~tRs3H9jB1eV4*3Uq+Gf{jN3K%fw`a*aRe5t{5*c7 z@FHH848;k$nW7Q#q;_U{8x@0InzsLoJ@tUa#up#5^DU#;RSzuDc=g+~1K7zG8b!>Jsoe=< zsuxq=W~TmgGp*l?2XIv%rf!3NRBEtJlay5>DE0capJy446cET~#*`P?`>9pfkGL*3s^D@$OZ6Of+ z1LA-f9x$I#=*L+eOV00)m+6P)+P*L%f!d_^e#Q^;4? zxH5mH?O(V-nasD*oYxRbg)wwUEUzF#58*))Seu1EdU#@Hh}9QVAlGG4;HeVMog+`M z-36Wcg!-(-4Fjbnr~HoP7Uq!}JP)CiQ*kc=T(AjDb%K5WC!0x9>+(MF+#<~ZI1 zLf)1>g)X{EIt5{R!u=(TLc4Sk?c@3t2t!Msrf!l z$F$1n6a<|s=@5OKT@R#`>~;T`UVwL$C+QBFE)SyqwD1h&F`uWqX^yyy=8=!>uhSs; z+&KvQ=-;geahFuKvdA~}0nDQ%Zj2Tp*^yopgz~SO`0ALwf_QK>GuwN(|Gp?s~M( zEBA7*6cKm88}vajNIqfhL0`Py^&9aBNprp=4v|!SpID7Ya#&nr9@TcUc0x*|L0AL) z2uJbW{VT>is-F_OkiRCbgM)5|Gzv+&M{0svp-@_fdCJgl;%=%scG0V(+0hJLg!g#} z`D!Ty_bP?hmD*LpS}9EVfrTm6ACp>yY+);gSfp;3+AxU&k^wWU$D~J)`Aqt$nU(?j z-AiFB1}a2`r`2X+mk?t27w6Nj6}F|g!L?S2LMs$ohE04AG0wg&4$vtpE13U?>#Ss#oGBg{e}k(6og0lneMgJYTNi5#G<6!?ftpBTYos~a9cb)q_dmp4{%D8M zVzeM-D*YATP3t-ziZw>>h;~F{5u-EK9k@X}8eoT(&Poq-KJdf9>S$Xu(j5(SM2&7E z($N%&H5L1dxFD5n?Y0+BCpGi(bW&KF-oF1Y<5Jne=$yB2550xye>XnmcGgg~2fsqT z=$?lMbUg>Mz`=qflW9G-s_Xez%k)^!!adK^cPYEp<0ZdNWNeyGg(8qyU2i`7sP`ud Qwv2xT{VkYCHvUci2M7%;?f?J) delta 2534 zcmai0dr(x@8UN0?kLB*}z5C1}@(ApPA_B{@5MUD_ZW2I7v?7nX$%f9d>=KkmfTikG zyG($uQ887Ey0rA>X+OsbP+B<-Zp_z2cGF~+tuNh{W={mxbY&OLK~ z_dCDuch32~@7%q6M!qB?x5)T&?z8OZD{%Mv7~I(=;sZz^k#dJL?wI&xt2Q+O@J&wa z0c_F1%&Dzr)@nd1Mp2K-}aS zBh(?8mje)XY<)#?6g^mvJ&d>k8nTdUX@Yl`;=0Ir>RRd_$LBfh z``Aq0sI6a>;XekBFUf7H1twT@QHh85O(_XQhJFjjEi%Us(Kf;#M7PNZPqC>*xx;2n zgO44T?J_*46r{+oO`j=56N(0P&dYWUeu`cf97r*1F8D~tg$lO;aUqP6YoZG@v^Drj zSMJum1v;}@XIf0$+pEu(j*JmbIo&1~go$|=9e+VegF;<;opNcJIBe3ORUc4_I0fY@ zuiMGblh5oDM}uMEdzUVz0q1DK2p_K0T92-j7Lqb`bE z({4Va4a=}n7fp$0w7=b5M#V|5-L-FEOp40Q& z?c}*$(d|kM)Cixm=NISZ^D5P;!#HuRc`tRr5-hhJW>9AYpTxsii%ZE+#m+3wOgC!} z0>K8v3In*oyhmXad*5KTg3;kB%iD6}NGl?NM)M!#9GEq}i}rR$n?PW%b{uW1u}#Q< z8TGU*%fF__<<^lFVHR(Bf%P{Tu1d(c25qlih5noGb!=0(O#u2+sW|4d6 zkgqXvWx)dDSGd4ZnJ**RZz3)cj-!LJ{K8C25I2&*nrwXO;rk1MtfjC9xqgEJKdj)~ z6|$M_E9|peP=91_!qz1^r|e;QMfoJi8jC6rw-%+76Kr=;erCDtGeZ`rHC#1IE?Q)` zADnl3%2{>|bxvmR=H&J`xPo5<69Oz3X9!#}a$JqSd}P=PugCCXCq<@&t@nByL0waW z8VUuv@)mpDTQM9|3D|&Vl7?u6d_*gh=orv3sAIj3jXH*Oj3COe5%E4agP4v{2h|)< zs1qw>qbKZ(@G~@Tt3vyKn2n9j+a3icl&ar?99pX4cp8*(iY^GUu3`^4#a<{*ebS>% zLl<>hPXHl@rN2TyT`8T15Iya@4AamfeTMdo5j@&AFLgg(J%IbdqMsc8ktIwcu|opjP3qbF&=o-QawLXG&oYtWIo>DJ{ z=s9N#+Mg;9k7Ipjcc|2Q&&rQW)cuVN}O`)M(v9=ShdP z6Z#3S^91q@(&O-iQiN4$Tq&%PLX>YP_eijd)9b?ewK1ld#m0{VcFZS%J|MwJ+>1HWOnjwcZJvj6&v=|Y7S zmTq!fQcd{Jx!<0J*k^SkTG;POKO*Mj%VkuxH*FkD#Cp7~k?x^b^UyQhu_bJ-E|m?} z8rjL3he>tP^ym)ZYgNoryXI>|hU#i>XDsn;W~~N4%Ny%WbS1iw z(v{wtd)=nKp@C?uF4h|xh$Q+32E%uVEn#-7DlH@2*S9W?pxg;aevB%a2^`#-pT$mDt}4c_U#h{4~x=DD3ck>kR1%i+Pr^6gwa z<5-in4gVl)DX}muQLP>n?x_I|vQXkx>J-?`gq!>`nK@KSg)t~*P3sGq3LpR-5P@>2 zgeX+tGY)0YjxB&p92xE_MJuX%eCUZ|i(&JlB7zt|MF;ky_>2Ou&Fh~{W^ecvQLyy< NOlJ1$u}%04{|BZLSwjE- diff --git a/Unity.Entities/SourceGenerators/SystemGenerator.SystemAPI.pdb b/Unity.Entities/SourceGenerators/SystemGenerator.SystemAPI.pdb index 0e0ab324ac4db60ce597898afbb24be87851e5f4..fa6e7bfc3519d47b870aeba2fe6efa803c07d152 100644 GIT binary patch delta 896 zcmZvac}Nst6u{p%JFBMcXuDflDlUj_UhC|fJAbr!kwz?HCLv0>+wQ7hY92vE*>;f? zrB25ZfeRsOQcz>kMI=FBbcjVkc7XnsWtR{Ik-Zg!gg*Gq?|tvhdoz49Ut8ZabqUqS zmI0*h2WX21xJzMN-qupzSlbG?SOWl!POT^h0ppr*TwJlS2z>_kC7HM{XlU}_e&Xt* zKY`8jC0e#N&2>)Ru1UUgy1VOSN4Wn45C{SVGw7dag%Btv6dXaT=y|k>qF@_Epas3S z2=u2Ah_O(Rgp65qkeQ}~IwXW>={lH3%vK#_St+PMs;%K(8s@DuM69JjO2&%|sX#6w zuQC>g)9^V%9VI4poX}yk=OitvgT@B|=oW?m=+O}f0nHMH#0I&eKIec4m;#!}@eA7nW;>qTf<#vmu|> zH8r=X!-k`V<+(ugj43JCS-N$Xx`Elu82-r|xTW?n`AbrP)#@DMT$-v=ov{s~>7T~H zaNuU(e&CtKsTBQ6f4!=BPt{phw#V__HumuKXw+cUhX-cc&cZAE)Q-5!|8yP{EcUAJ zS9=}zKIvquYy9TB5zp*Y_qrgzW#`=EV7Ko_nYzxHB1twjhqrM&XXk8OmREMT?Go=1 zInnQxd7s}SOAf!_XIVuQ71pn~y*^%$6t%~=w?MYBHZjY=3Y=H6d+f3(us%WYiM%K& zK3?V=Ue51!+joeHBszF#a5vVryK8+pyL~OK^-Yanw`-*)BT0DDet0(gO(J`yCVv@* zHVuzl8!}YJ{8kg$WbK^!(wcF>I+d?+fhUXA6TgPEFuMaaq8GkduP7;pL5TibI-lAyM0-Y zwKcK?gAD-liU26K1>gh~jYk6Wc_@g0#PX(7 z$zYrZ`(8i>qSMrUqZ;AME6`bpL8-&L1WpQ1csgzByn25Gf; zhB|#iSY~pTP^10NSxYX@bu(TYD{^cxdPqHo>Bp;|M`Y*N6-D1TYNjBEhqt$$(0|N= zuTmRvYwZ~kz3W!ll*7gdmZnV`nMdfIW(C?W#tYmEj()wvuZA-(j5|5HV+D_x{B9#B zqGLjL|5>=O!~58yT=Gfp68Bow>Xh9-?lM2WL*LgWbY&Vd)g(3 zTG8erO#4fdO@5Qhg3=6pw#!)ah3w#jR~M|?bcLLulcvMb>_f*Uc-9ZP`joC7Eqgk& zA?zme<|6ZFX^%|dzwUc59P|3=WO~bh7k{$IW3s%zhTWbUxaQ%l;j*elXZt=c&Hrla za^C*%b^g@zAAB0u>pW<~>MAs_du=>4g%{jCsEqDST56Nt-Mj6 zz3mux$<*pQouh$Izf|p=xV>Q_-nQ<{UdL+YDPAqbQeq%+PBxEj+BIfHaOoa?m{1~+ z3MDeJ1QYu4F-$5;R%5u-S0cy78j;3VEEUUeUwM)&F;OiQC1Y~jKN-V`LVAJHUnmmF z_>v?!jwecdC77QK_rugUCex@fjlWE;mdeFyi4>P5CCTI>ke-;Cl9!l*3)bT~+SIH} zAeLA#M+V~7nF;??@Z0_9zK@+?+1iM0oENk@N%j!Yz;LzXGg@c5F~#b$K!E^#^8HwG z={aRJ!|P%bHts|O2v%E}_9LclqCv37xlw^Mh9ZqoNMjn(Sb@9=SXK!u$gVKbEdHP1 TpOQ@|t+o42&f5gSHx&H~lbq@l diff --git a/Unity.Entities/SourceGenerators/SystemGenerator.dll b/Unity.Entities/SourceGenerators/SystemGenerator.dll index 0bb6b24e049cbf58f47cd7a24790e5d70c29cde1..b1812412bd1e6f5d4640388ba2514b8141b7dd06 100644 GIT binary patch delta 657 zcmZpe!`Lu~aY6@+h7ilki9IrmRTEc+^QopXF!(b7K?4Ir1oK2iVV(sH3_L*opJWDx zkjaWnI+G(A)fpQmHv-9s$txMd86zh%G6}PGm@qIfPTuHlzBz!Yg`bgO^HssyJWSts zCU25+sQ2b^X5eD*=1FFV29pqWGD9g(Ggzb(Y$-`jsF_>g#0;yC0kp?`qPT-Nf1c0a^dtCP%p`)t~D;xqGQ#sb5!+hyEIV zZvjT2LjC-L68+G;%#zCBqGbJ){E}k*fW+kN#Prl+{p9>yy;6{rUTR)RW=SSc2&_`i z6~+zDFD*(=bx+MpElMoOFDllD2-N8ZR~DC~=E5cP^OLgl#e-6FQWJ|)_486oic1pn zQWA?&jPwljCkwbs8$sRn4(2wXhoXa@Ke@AG*3$c0*4tnC0#gJGq=VQB6BWgPkzV4i zHF=JE(c}Z}DwFvFino~n8z41`KO06qs3-f&-0AT1`KSI-+O6K&hwr; XS-~fSGXavWYD_l^`n+eHXuu8tGgH3~ delta 796 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 F_8**O&K>{& delta 907 zcmXw&Ur19?9LIm>?z(x!M6;%Z#FmMbwdU0Q(Y3CMW{|jL{wZ&@ySsbCv<2-VSOQyX-CzOC!P+){HuNCMKvMiHj)hs9w7nWfR?jw`v z++fvBn1Zk7FH8fO0=LCPjQ7}3Kep5|Eu#Kq>0~;Lx}{iQI*od6x;V>%MGQU{FEhQt zxJCBC3Bkr40GA*#h8fe0i;QcG>zv^P6U7gUjA_OtlaXIz8hBP^Of#Djv7i9Ete6 znn!jwX^PhDjA)vwy1cT>=Z>n1TLB0WI737JM&0Ru#8u-y9m;&W1*A8~q29uK824?M z{tQ$V`EYA}bl1t+X=_#M+Uh-j_ibypci`^$OM<@6R%swMnwsoSC{i?@N=iXl8I!N5 zNlA%cb4(Z|hZ;+brbaQvoQ|$S*dL!rDC#LSrY7W6Jdu?0iJMZv(H@h>CvT{U{DXAR zUrFDz2{lqYa#cF3j;nG~m11ftnUZ5sIT3X^oDwdo+Az@)vDCFQ;peY+CTuKH4)v@C zdNZH4=eFBsacPD2(9pJ=-HHeEvUu41uMTWbuII!-Ld!Y=WjtSS;-Tj0g^mX#O8<7$ za-vD!-#NpXX5cto?rP|703Sp_1~+)|e0p%ypcx|AeVEZOW7L{ZDXikeiiTaq?m~x* f^r0h)v4SJ+mj1SDlL*25AN4GtS9Jd%Ij8wQ=pN}h diff --git a/Unity.Entities/SourceGenerators/Unity.Entities.Analyzer.CodeFixes.pdb b/Unity.Entities/SourceGenerators/Unity.Entities.Analyzer.CodeFixes.pdb index 155d5bb41433c7e1739220509fda8d4ceef0a4bb..b52ba73eab6aa9d37540358f12c1f95a90304760 100644 GIT binary patch delta 758 zcmZvZZAepL6vxlm+cibA(i$eUb~iP(>vr$%-ENWevJjUNVkT7XXuxr1ONa3cb>!faCqA5=WDtw zhfOK~`XYc<4bX{%D+4Ewoj7_5NZrx^kTK9zl`ufqnc$MDQai~c3gE4g^n3hGZqhgO zCCA3&bETo$`sN9{qd%~9VCrgDyCt2>`T$`R6re){9u?3|@&?I&3n6z4LP#%FAT2pj zU53!3M+g)36Wt{mBbp?d(kGS?wDfW|tYrU6+6~L^H&@bZj6T4p3dM1~bVZe4uY~)U zOKyuP;|et_>f;IxP_#~|hEn1hsHUBSdx$4EOgPgJCQKXRgja=y)Ma2iI8-g9uH08Hu{Pp%S_&WG5 z_)S+V+81+X)|Z^E>n<;J+h&<3k7phx-LCsImBBRb9lBtaI;kzv_EqV^fA-rB>CRx? zaCAd==x49glC?CKl}Fbmc^WCc@fEXh@ZLnP^f7s}ATXwF9K&*~nPu1lkJaWf3!Iy0 zd7sD1d3|oHVDnjgCX>kXqRA(^JYLQsh|08|G42@24NID3?5CB%M-l1&GopNsl( z{VEmedw7PmoGg!s`Q9TYG@(@A9B3RcZ7natC!m@IKwt$JU_l7P5Ca?xf-nq2l}{T4 ze18Zk+2lg#Po_bqI0$Ok5bQy!M`}bmj&vHSjXgRQ0#?9>%=(!1A9D`p!?@*R%DA=` z*p6Y@Y_gOZR6qr1C|uwK>`sY*0u(S8c{1j}Xy85Dfzg3$fDeTR<|C(rWdUi3Ymkp} zEn+687V#901F;D?9grL!Dh+sXeW-N6;ie(Jh@1}W=!C#b1v_GTXlkl{Rk~8YMhG%= zHl9;8WH1*OyK!_`F^%=bhhoORd`DiOMNzPsVWca)*3ES(q`FRE3Z~6V)Ec&sO>}*M z`+tWz3|)rXh9^E)yuw<%qgPY3+R)iU6tkF&R!{!$;u-K+)7X<^dnAi>W=`dyY(|%`aZtRc1XBBphNw(aK2uAR&30`spHa`v`2HOYo6 zVmnUN9L%2@e}}Omr=YMRc*De?(qn1I58m^RJh~~(2)Ba^%t*$)xa;zto<8ti8SATw z?B2P2D*$~(Mk>>DDJTQ>c$WxP-@=1_{YZC7ujKe@MVJ$LNp2QumV z!_v1YlkD5GJE^-LI)+76TSFQ?&kfOxH0QY(_xIrcq{6oTX|jTKo&Mb#zdqtO)6K4| z;JM_kB&E{1?aa@*lndMr`*OR}}QKC_4q9~-Ru zCc3`AAmW5Z^kT-1li|L-Z%1rp?)J;)&vxcq+G7a6BCp|!t z4j}|$zC<9#MPfn_!XpR?u2B(ciBv38i_(SZQjtW2tEI9GT&Yw^gc?Go4%HB9k~ua{ z5GoJ~aGp3rrdBJ(QZW&Nt3wEtn!wXlM0zMLQ%PhZl~|(2Gcs_Q&~|2Q0Q73j0>z^* zec?dxIR1ha^D8(n-Kxad_ib>T!`sV4q&f>CAuwtN5=Dh=^3n-@?RCT(cXX$`SQ&af znrZCejsOP$@l&Tayz2WddVjkot($nAX`31t4LN2Un!}-a5j3xZ=IzjY9GdOW{0N%g WL5nlAFrh^ZEemWrrp%$B59?o|kKlR$ diff --git a/Unity.Entities/SourceGenerators/Unity.Entities.Analyzer.dll b/Unity.Entities/SourceGenerators/Unity.Entities.Analyzer.dll index 4244f8f93762242471662d95d5ee390f0e889fde..d0ece72cd47e4b234b392838321696bc352647b1 100644 GIT binary patch delta 569 zcmZp8!PxMEaY6^nzed5e6MJMB_f1?G&X?8Az~IjS1Pd4#RxnRg6y`a=z`z6KD|9h1 zgiKas(wQ8|sLps~awCvjF?l6pIODv@j7-9;0f7t*jFSb6%r^%xJ&<5Lu-Q;LmCrMo zV=+TA!(8^o3|wF`o1u&2FheoJMvli|(wPy&PG;l=$~J@92N<;&VmS^lf^;1Qi#!IA zlkaQlGsbS_*K)KJFseFlH^;isWzD4$uc%K-6`K>1gE%<37#Ua%^$he3CO^r}5M!8C zx$-Lmqi+Bc(Cz1exCH3_lF5lV;;ha!;+G6zc~hCTAz6rxxoc=jZB`f~53P^GY&HGJ!&1m3po)Zg75S zQF5w#YF=tlVo82cu|7ngP9LViF)uNvvMRL*q;ax}g@}xPeo~fxP-;$UVsWZ|UTR5k zNn&0~Vo{2bo`L>kMGJ9Dy@He^hF}jzBU3X5sDlgbpbiFlvUF;BpNaNXImW1W{KqB% zy#@noCeO{421d@#T+PW3a`h%F6sb(+%d_M4VTP$-VDOn7nKz$l4b$Xbc}k2On`QIm lnV1b2*e2T-YERx*=sa1rD1@^C68{IRHwzZMXPjuj4ge{qwu=A& delta 699 zcmXw1O=uHA6n>Lf8#UISN-J8?C>Yw5%`Zt-Arfk7JrvW%QVM%;Gdrtkk`3K#!3b*V zPZ6!qFyN_TA*Xtiy$GTNsyAEEgNIU3S`V=oK|!VV;M+8LkN3U5Z(!ccE7eG;M&=&w znqG5nm1n!idUggt-#(oX25hTK>=1B8+Gg>R!qr0?B1)# zRnh}9jw-QEE!8U<7V;DFxbpLu&99-G7SbgWDQ7vs0lRA}@yit%6 zGR?@>SV5xsoG@jz1g05jBaNjxQ|ND|$^4W~*#Og+E*p8hAng=xOHD>xle5K}Oy4=k z&qfb-N%_=-G{Uk>E-*=BM!}FZMb?#o;FGv3+R0-%XP|LW_j2Q+IBtvc7<{e_&pq87 zINrsTsME4>*Z})Z2yA2$-uSXI)N0_g#@AbX58U}33*xXQ)xf#Vd=-TR(uFm2g zB%3hYAI2r7dP5dxve1N$;xNHgXH=Y-ie{NpgGTp*NyNl3Whyf!5=rpf$A;4Q$2XsI zzUSU^Zti_=Hh$@;r0>yBEC9~u0Mb?f;4$9b^~~OVk0&sLbRIws(z#YjCh!O`1VlPd>CP!p)jhG&AIS~HwS)w|80 zpf;l(bF=kkcpu}>QENmCREXByutBuKE>uEf3syl=Tm>JZl6X06_)&vPar%}wT1Vg= z)Y;`42jj~z4lrUfd|j7m=Z>3t7LDNqzN+G|5xY|MECe2`F(dH>fxRAqv?~{hF9Z2T z{*g;S7NAxy<+X*#B2=-F7r0B1r6{|RH;QG*a+Jf!?-lPr-pNi=X&5KPY9zbX8k8H4 zagld}38qav;o$J~sBosM3>+XN(iQZoNZvNd_-Z&*T zd8Kzqpp7v%K$Uo}jJt`W*B=p&`p_r>_d$EN_Hf5<30G|2=cx zY~SyFe?4!hTo>FpUwfsbrMs=ab!{jxC7u8D$~o(B+x3r&rPziy4!UV?e(5HuIgyCO zLY>`P_C@2;p2Yw4idBB#DSPjQ+}4R}3nz}WcoT0wId1LRea(K;l>RAqa<+LJy}G7K z*CqKbRZ>*Nt4KS{<+v}o9`Mxr6V9*Fv)vK-X3pd1Z$gd?g?4^pM@faI5C zNvjXYJ|(PsLtek;lOw)hL{l|A7*YL7Agn|?I=p+dpsoef%w(a9*e^bN_y+rmEU!#o zowuFZ`qr5@PuU*MTcE2wr5U++xXk|I=`W5#6Mz> zLk1Q}s+y#lNNN{J?Io#~NNO}Q?}>4@i%n$E$%=!zQ6J45R2m33Fhj>wyKt)k?q>Vw zw0hHIG@+M$o6G(!F7IZm$jPb9Jz5EIq}i`P8f-fY*?e5RG=iOIl*aU}D^75GJlp-H HUP1l=))hOU delta 1835 zcmZvcc~DbV6vpp;2?Qit0RbUWATbGvWXM7mDOOMrM6fPI1XKtFi6|;4t}U_&Ww4?T zXOJQYK?fB#Le*-qDy0e{;!>+rEH2n$VQ{C`ttWA*%=C}%{m%K$edpeH@4S00wSP&8 zBCeB$5ceyD8f_3l6o_XoPdB73$bbwr+95;*a-(LVqY%fN785QxviXa=Yd zjYOacAg#A~ zyfrdG{1eDlL_;G*HuI6c$Oc7$Qbpzgwy02Ki;jQ_VROurZ?f=hyyKl$Cx#CO9sW=w zP}7GPCa}cT=$zOTPgGiE4Ou3~=q#6jMsP}&W5H-D-x^{#L1aEXjCKe{0PR3(I}XTnys{$f)Xg1@SIOI?Xuxh*lx3nn0!N8NaMbugCU!SX}M?89C>*akjcM>T-V6k~`@^ zgRPBggcI(c2%hU`bQ&w3cssOXvdX>CdOPo?zv4-M_u}UMS#D+gZFQLu=TrQbclXDZ zZptrPApiS$Z113Jfyk@$fg!%QXCU%|;SoU^Si=ALwmib)z|r{?q0goba6G!aDWSRjLtrJ$wA1i&)~Vth`IA^1G6*f z;Pe<8E9I|Ir8h3Fim2+!zMCRAu{AI3W%&7mw20$TYxL>S+REKWul*ikw`E*h$Q%c+ zfvfU0(}MTxeOzUG@ky3gX=)LdFKp|d6(bwH!oB#m=$NuTdh@1T)+?Sy?$3C6$;D9H zcCItO=au!m68@7b90lvZ)6kB=#7N`3rt-wJjg9-SX>>3}^S+FMt2FWq%TuY5$b94ynL;YlNR(oYMy^QKY4mbGnMyBB^iA}W z%B2dupDIa_kf4+MCTmoBb+SfJy0h0w)DmBbLM%&C>GcURKbc0U&?_}My+)C!(~MN*PNH5_LzQetewvnsnfRbpE9?}mi|cw+B=h9`p`^V z`x;jlC#kLlO@IqJ`JPsq+ZyzZy;u8A&2tB`d+bB!njTy;gpID)sK&-9Y)rt$4cJ&` z>h)Pnyf3QpE;n;=m&8)9GZ}mXu&}0QB>Xd>Oa=|{2)J3M5NI^Q#A+6P*Ap6=Tag{o zM^=`;WQ#1+^}phWhUQVY?pKpQ?u0peIB-+q0EX7yyd)U?c2@Hu>&Q8Z@L`L3zasP7 I#}%XTzhI*}e*gdg diff --git a/Unity.Scenes.Editor.Tests/SubSceneDeduplicationTests.cs b/Unity.Scenes.Editor.Tests/SubSceneDeduplicationTests.cs index 87de894c..32905abc 100644 --- a/Unity.Scenes.Editor.Tests/SubSceneDeduplicationTests.cs +++ b/Unity.Scenes.Editor.Tests/SubSceneDeduplicationTests.cs @@ -25,7 +25,7 @@ public class SubSceneDeduplicationTests new(string, int[])[] { ("t1.png", new int[] {}), //texture with no refs - ("a1.asset", new int[] { 0 }), //asset with ref to t1.png + ("a1.txt", new int[] { 0 }), //asset with ref to t1.png }, new(int, (int, int[]))[] { @@ -41,8 +41,8 @@ public class SubSceneDeduplicationTests { ("t1.png", new int[] {}), //texture with no refs ("t2.png", new int[] {}), //texture with no refs - ("a1.asset", new int[] { 0, 1 }), //asset with ref to t1.png & t2.png - ("a2.asset", new int[] { 0 }), //asset with ref to t1.png + ("a1.txt", new int[] { 0, 1 }), //asset with ref to t1.png & t2.png + ("a2.txt", new int[] { 0 }), //asset with ref to t1.png }, new(int, (int, int[]))[] { @@ -59,9 +59,9 @@ public class SubSceneDeduplicationTests ("t1.png", new int[] {}), //texture with no refs ("t2.png", new int[] {}), //texture with no refs ("t3.png", new int[] {}), //texture with no refs - ("a1.asset", new int[] { 0, 1 }), //asset with ref to t1.png & t2.png - ("a2.asset", new int[] { 0 }), //asset with ref to t1.png - ("a3.asset", new int[] { 1, 2 }), //asset with ref to t2.png & t3.png + ("a1.txt", new int[] { 0, 1 }), //asset with ref to t1.png & t2.png + ("a2.txt", new int[] { 0 }), //asset with ref to t1.png + ("a3.txt", new int[] { 1, 2 }), //asset with ref to t2.png & t3.png }, new(int, (int, int[]))[] { @@ -80,10 +80,10 @@ public class SubSceneDeduplicationTests ("t2.png", new int[] {}), //texture with no refs ("t3.png", new int[] {}), //texture with no refs ("t4.png", new int[] {}), //texture with no refs - ("a1.asset", new int[] { 0 }), //asset with ref to t1.png - ("a2.asset", new int[] { 1 }), //asset with ref to t2.png - ("a3.asset", new int[] { 2 }), //asset with ref to t3.png - ("a4.asset", new int[] { 3 }), //asset with ref to t4.png + ("a1.txt", new int[] { 0 }), //asset with ref to t1.png + ("a2.txt", new int[] { 1 }), //asset with ref to t2.png + ("a3.txt", new int[] { 2 }), //asset with ref to t3.png + ("a4.txt", new int[] { 3 }), //asset with ref to t4.png }, new(int, (int, int[]))[] { @@ -163,36 +163,33 @@ private EntitySceneBuildUtility.SectionDependencyInfo CreateTestDependencyInfo(I static ObjectIdentifier GetObjectIdentifier(string dir, string path) { path = Path.Combine(dir, path); - if (!File.Exists(path)) - { - var ext = Path.GetExtension(path); - switch (ext) - { - case ".png": - CreateTestTexture(path); - break; - case ".asset": - CreateTestAsset(path); - break; - } - } + if (File.Exists(path)) + File.Delete(path); + + var ext = Path.GetExtension(path); + switch (ext) + { + case ".png": + CreateTestTexture(path); + break; + case ".txt": + CreateTestAsset(path); + break; + } + var ids = ContentBuildInterface.GetPlayerObjectIdentifiersInAsset(new GUID(AssetDatabase.AssetPathToGUID(path)), EditorUserBuildSettings.activeBuildTarget); return ids.Length == 0 ? default : ids[0]; } - private static void CreateTestAsset(string path) { - Debug.Log($"Creating asset at path {path}"); - var so = ScriptableObject.CreateInstance(); - AssetDatabase.CreateAsset(so, path); + File.WriteAllText(path, "asdf"); + AssetDatabase.ImportAsset(path, ImportAssetOptions.Default); } private static void CreateTestTexture(string path) { - Debug.Log($"Creating texture at path {path}"); var tex = new Texture2D(8, 8); File.WriteAllBytes(path, tex.EncodeToPNG()); - var text = AssetDatabase.LoadAssetAtPath(path); AssetDatabase.ImportAsset(path, ImportAssetOptions.Default); } diff --git a/Unity.Scenes.Editor/Build/RemoteContentCatalogBuildUtility.cs b/Unity.Scenes.Editor/Build/RemoteContentCatalogBuildUtility.cs index 217cc6d5..156912ab 100644 --- a/Unity.Scenes.Editor/Build/RemoteContentCatalogBuildUtility.cs +++ b/Unity.Scenes.Editor/Build/RemoteContentCatalogBuildUtility.cs @@ -36,7 +36,7 @@ static void ContentUpdateMenuItem() if (!string.IsNullOrEmpty(buildFolder)) { var buildTarget = EditorUserBuildSettings.activeBuildTarget; - var tmpBuildFolder = Path.Combine(Path.GetDirectoryName(Application.dataPath), $"/Library/ContentUpdateBuildDir/{PlayerSettings.productName}"); + var tmpBuildFolder = Path.Combine(Path.GetDirectoryName(Application.dataPath), $"Library/ContentUpdateBuildDir/{PlayerSettings.productName}"); var instance = DotsGlobalSettings.Instance; var playerGuid = instance.GetPlayerType() == DotsGlobalSettings.PlayerType.Client ? instance.GetClientGUID() : instance.GetServerGUID(); diff --git a/Unity.Scenes.Editor/EntitySceneBuildUtility.cs b/Unity.Scenes.Editor/EntitySceneBuildUtility.cs index 2df2e955..9aa4299e 100644 --- a/Unity.Scenes.Editor/EntitySceneBuildUtility.cs +++ b/Unity.Scenes.Editor/EntitySceneBuildUtility.cs @@ -274,7 +274,13 @@ the scene section hash is created in order to link the data at runtime. #if ENABLE_CONTENT_BUILD_DIAGNOSTICS Debug.Log($"objIdToRTId {guid}, {lfid}, {path} using path override -> {pathOverrides[path]}"); #endif - return pathOverrides[path]; + if (!pathOverrides.TryGetValue(path, out var overrideId)) + { +#if ENABLE_CONTENT_BUILD_DIAGNOSTICS + Debug.Log($"Path override not found for {path}, skipping."); +#endif + } + return overrideId; } var id = new UntypedWeakReferenceId { GlobalId = new RuntimeGlobalObjectId { AssetGUID = guid, SceneObjectIdentifier0 = lfid }, GenerationType = WeakReferenceGenerationType.UnityObject }; if (!weakAssetRefs.Contains(id)) diff --git a/ValidationExceptions.json b/ValidationExceptions.json index b12d2cd8..21ec0640 100644 --- a/ValidationExceptions.json +++ b/ValidationExceptions.json @@ -1,20 +1,22 @@ { - "ErrorExceptions": [ - { - "ValidationTest": "API Validation", - "ExceptionMessage": "Additions require a new minor or major version.", - "PackageVersion": "1.2.3" - }, - { - "ValidationTest": "API Validation", - "ExceptionMessage": "New assembly \"Unity.Entities.TestComponents\" may only be added in a new minor or major version.", - "PackageVersion": "1.2.3" - }, - { - "ValidationTest": "API Validation", - "ExceptionMessage": "New assembly \"Unity.Scenes.PerformanceTests\" may only be added in a new minor or major version.", - "PackageVersion": "1.2.3" - } - ], - "WarningExceptions": [] + "ErrorExceptions": [ + { + "ValidationTest": "API Validation", + "ExceptionMessage": "Additions require a new minor or major version.", + "PackageVersion": "1.2.4" + }, + + { + "ValidationTest": "API Validation", + "ExceptionMessage": "New assembly \"Unity.Entities.TestComponents\" may only be added in a new minor or major version.", + "PackageVersion": "1.2.4" + }, + + { + "ValidationTest": "API Validation", + "ExceptionMessage": "New assembly \"Unity.Scenes.PerformanceTests\" may only be added in a new minor or major version.", + "PackageVersion": "1.2.4" + } + ], + "WarningExceptions": [] } \ No newline at end of file diff --git a/ValidationExceptions.json.meta b/ValidationExceptions.json.meta index 73b1b201..62b6bcc1 100644 --- a/ValidationExceptions.json.meta +++ b/ValidationExceptions.json.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 0417894edcfb98d48b612319dc5053c8 +guid: 29c9829e774a474479b14c10e0db043d TextScriptImporter: externalObjects: {} userData: diff --git a/package.json b/package.json index 43966909..eb8ed267 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { "name": "com.unity.entities", "displayName": "Entities", - "version": "1.2.3", + "version": "1.2.4", "unity": "2022.3", "unityRelease": "11f1", "dependencies": { "com.unity.burst": "1.8.13", "com.unity.serialization": "3.1.1", - "com.unity.collections": "2.4.2", + "com.unity.collections": "2.4.3", "com.unity.mathematics": "1.3.1", "com.unity.modules.assetbundle": "1.0.0", "com.unity.modules.audio": "1.0.0", @@ -25,15 +25,15 @@ "unity" ], "_upm": { - "changelog": "### Fixed\n\n* Queries are now correctly constructed using `EntityQueryBuilder` when using `[WithDisabled(T)]` on `IJobEntity` with `EnabledRefRW` and/or `RefRW`.\n* Cross-world selection in Entities Hierarchy\n* Entities windows do not throw exceptions anymore when installing or removing packages from package manager.\n* Fixed crash on quit in players due to incorrect RuntimeContentManager cleanup timing.\n* respond to much docs feedback\n* Fixed a regression which caused subscene section bounding volumes to be computed incorrectly.\n* `EntityCommandBuffer.AddComponentForLinkedEntityGroup()` and `EntityCommandBuffer.SetComponentForLinkedEntityGroup()` now correctly process all entities that match the provided `EntityQueryMask`, even if new archetypes matching the query were added earlier during command buffer playback.\n* Creating a cycle with `[UpdateInGroup]` attributes now throws an exception instead of crashing the Editor." + "changelog": "* Debug proxies (used by external debuggers) were sometimes using invalid field offsets when inspecting structs in blob assets. This led to incorrect values being reported in debugger watch windows. In particular, this would be triggered by the use of bool fields in blob asset structs.\n* Entity version numbers could go back to 1 after reallocation in some edge cases.\n* When building a content update, a temporary path was getting created in the drive root instead of the Library folder. This would also cause content update builds to grow in size every time they were built. The folder is now created in the Library correctly.\n* Error in build when sprites are contained in subscenes has been removed.\n* Regression in compilation time with assemblies with lots of system methods.\n* EntityComponentStore leaked memory during domain reload." }, "upmCi": { - "footprint": "306c46368bceb20615a5b80dac7cefecb285c2c5" + "footprint": "96605790ff63cd76ba65f23b7fbbf7d1ab878b6a" }, "documentationUrl": "https://docs.unity3d.com/Packages/com.unity.entities@1.2/manual/index.html", "repository": { "url": "https://github.cds.internal.unity3d.com/unity/dots.git", "type": "git", - "revision": "0e866f29be5f7742acc14fad89281f547835ef01" + "revision": "3229c084d74b90980f151fe926f426ae38a63b44" } }