Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
## [1.4.5] - 2024-11-08

### Added

* The new PerVertexMotionVectors_Tag component data type informs Entities Graphics that an Entity needs to participate in the object motion vector pass. The tag is automatically added for entities that go through the builtin MeshRendererBaker path.

### Fixed

* "MaterialMeshInfo does not point to a valid mesh" for runtime created entities
  • Loading branch information
Unity Technologies committed Nov 8, 2024
1 parent 79bd77e commit b0bbd1f
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 30 deletions.
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,17 @@ uid: changelog

# Changelog

## [1.4.5] - 2024-11-08

### Added

* The new PerVertexMotionVectors_Tag component data type informs Entities Graphics that an Entity needs to participate in the object motion vector pass. The tag is automatically added for entities that go through the builtin MeshRendererBaker path.

### Fixed

* "MaterialMeshInfo does not point to a valid mesh" for runtime created entities


## [1.4.3] - 2024-10-16

### Fixed
Expand Down
8 changes: 4 additions & 4 deletions Unity.Entities.Graphics/EntitiesGraphicsSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -247,11 +247,11 @@ public void Execute(in ArchetypeChunk chunk, int unfilteredChunkIndex, bool useE
}
else
{
if (!materialMeshInfo.IsRuntimeMaterial)
outOfBounds = outOfBounds || (materialMeshInfo.MaterialArrayIndex) >= materials.Length;
if (materialMeshInfo.Material < 0)
outOfBounds = outOfBounds || MaterialMeshInfo.StaticIndexToArrayIndex(materialMeshInfo.Material) >= materials.Length;

if (!materialMeshInfo.IsRuntimeMesh)
outOfBounds = outOfBounds || materialMeshInfo.MeshArrayIndex >= meshes.Length;
if (materialMeshInfo.Mesh < 0)
outOfBounds = outOfBounds || MaterialMeshInfo.StaticIndexToArrayIndex(materialMeshInfo.Mesh) >= meshes.Length;
}

if (outOfBounds)
Expand Down
4 changes: 2 additions & 2 deletions Unity.Entities.Graphics/RenderMeshArray.cs
Original file line number Diff line number Diff line change
Expand Up @@ -170,9 +170,9 @@ public BatchMaterialID MaterialID
set => Material = (int) value.value;
}

internal bool IsRuntimeMaterial => Material >= 0;
internal bool IsRuntimeMaterial => !HasMaterialMeshIndexRange && Material >= 0;

internal bool IsRuntimeMesh => Mesh >= 0;
internal bool IsRuntimeMesh => !HasMaterialMeshIndexRange && Mesh >= 0;

internal int MeshArrayIndex
{
Expand Down
23 changes: 4 additions & 19 deletions ValidationExceptions.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,19 @@
{
"ValidationTest": "API Updater Configuration Validation",
"ExceptionMessage": "stdout:\nAPIUpdater Configuration Validation\n-----------------------------------\n\nConfiguration Validation Tests (Failed: 0, Total: 1, Ignored 0):\n----------------------------------------------------------------\n\n\nAuto Generated Tests (Failed: 1, Total: 1, Ignored 0):\n------------------------------------------------------\n1) Expected updates not applied for configuration:\n[*] System.SByte [*] Unity.Rendering.MaterialMeshInfo::Submesh -> * Unity.Rendering.MaterialMeshInfo::SubMesh\n\nInput : unsafe class Test : object { System.SByte Method(System.SByte memberValue, Unity.Rendering.MaterialMeshInfo obj) { System.SByte local = obj.Submesh; return Method(obj.Submesh, obj); } }\nExpected: unsafe class Test : object { System.UInt16 Method(System.UInt16 memberValue, Unity.Rendering.MaterialMeshInfo obj) { System.UInt16 local = obj.SubMesh; return Method(obj.SubMesh, obj); } }\nActual : unsafe class Test : object { System.SByte Method(System.SByte memberValue, Unity.Rendering.MaterialMeshInfo obj) { System.SByte local = obj.SubMesh; return Method(obj.SubMesh, obj); } }\n\n\nBase type validation (Failed: 0, Total: 0, Ignored 0):\n------------------------------------------------------\nstderr:\n",
"PackageVersion": "1.4.3"
"PackageVersion": "1.4.5"
},
{
"ValidationTest": "API Validation",
"ExceptionMessage": "Breaking changes require a new major version.",
"PackageVersion": "1.4.3"
},
{
"ValidationTest": "API Validation",
"ExceptionMessage": "Additions require a new minor or major version.",
"PackageVersion": "1.4.3"
}
"PackageVersion": "1.4.5"
}
],
"WarningExceptions": [
{
"ValidationTest": "Manifest Validation",
"ExceptionMessage": "Package dependency [email protected] must be promoted to production before this package is promoted to production. (Except for core packages)",
"PackageVersion": "1.4.3"
},
{
"ValidationTest": "Folder Structure Validation",
"ExceptionMessage": "The Resources Directory should not be used in packages. For more guidance, please visit https://docs.unity3d.com/Manual/BestPracticeUnderstandingPerformanceInUnity6.html",
"PackageVersion": "1.4.3"
},
{
"ValidationTest": "Package Lifecycle Validation",
"ExceptionMessage": "com.unity.entities.graphics has never been promoted to production before. Please contact Release Management through slack in #devs-pkg-promotion to promote the first version of your package before trying to use this automated pipeline. Read more about this error and potential solutions at https://docs.unity3d.com/Packages/com.unity.package-validation-suite@latest/index.html?preview=1&subfolder=/manual/lifecycle_validation_error.html#the-very-first-version-of-a-package-must-be-promoted-by-release-management",
"PackageVersion": "1.4.3"
"PackageVersion": "1.4.5"
}
]
}
10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"name": "com.unity.entities.graphics",
"displayName": "Entities Graphics",
"version": "1.4.3",
"version": "1.4.5",
"unity": "2022.3",
"unityRelease": "11f1",
"description": "The Entities Graphics package provides systems and components for drawing meshes using DOTS, including support for instanced mesh rendering and LOD.",
"dependencies": {
"com.unity.entities": "1.3.5",
"com.unity.entities": "1.3.8",
"com.unity.modules.particlesystem": "1.0.0",
"com.unity.render-pipelines.core": "14.0.9"
},
Expand All @@ -17,15 +17,15 @@
"unity"
],
"_upm": {
"changelog": "### Fixed\n* Entities graphics constantly allocating more memory without releasing it until next time system update is called."
"changelog": "### Added\n\n* The new PerVertexMotionVectors_Tag component data type informs Entities Graphics that an Entity needs to participate in the object motion vector pass. The tag is automatically added for entities that go through the builtin MeshRendererBaker path.\n\n### Fixed\n\n* \"MaterialMeshInfo does not point to a valid mesh\" for runtime created entities"
},
"upmCi": {
"footprint": "6a13371f12053bdd67b593a0076cbd3c777a3351"
"footprint": "691a23e7498ac2c03ccf7de35f5c3c6db2db3e0c"
},
"documentationUrl": "https://docs.unity3d.com/Packages/[email protected]/manual/index.html",
"repository": {
"url": "https://github.cds.internal.unity3d.com/unity/dots.git",
"type": "git",
"revision": "97e332ca8068d973f6571bcb144c924ebd679c79"
"revision": "3ea543f9dd8be902be20c6f04e900cb913436f36"
}
}

0 comments on commit b0bbd1f

Please sign in to comment.