[Translator] Mark the translator as nullable
| Q | A |
|---|---|
| Bug fix? | yes |
| New feature? | no |
| Issues | Fix #2056 |
| License | MIT |
Apparently, the translator service is not available by default, so removing the cache warmer if the container doesn't have the definition breaks in newer versions. In order to allow this to still work when the translator service is not defined, but there is a translator defined in the container, the behaviour is updated to be nullOnInvalid and in the warmup it verifies whether the TranslatorBagInterface is null or not.
I've added the logger to be able to add a warning when the translator is not valid, which should not cause any issues.
Thank you for submitting your first issue here. Please be sure you have uploaded your AssetRipper.log file. It is in the same folder as the exe file. :)
I fixed this by down grading a few versions.
[Error] : System.ArgumentException: Input array length 6447 is not divisible by dimension 2 (Parameter 'input')
at AssetRipper.SourceGenerated.Extensions.MeshHelper.ValidateLength(Single[], Int32) + 0x161
at AssetRipper.SourceGenerated.Extensions.MeshHelper.FloatArrayToVector2(Single[], Int32) + 0x36
at AssetRipper.SourceGenerated.Extensions.CompressedMeshExtensions.GetUV(ICompressedMesh, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&) + 0x2d7
at AssetRipper.SourceGenerated.Extensions.CompressedMeshExtensions.DecompressCompressedMesh(ICompressedMesh, UnityVersion, Vector3[]&, Vector3[]&, Vector4[]&, ColorFloat[]&, BoneWeight4[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Matrix4x4[]&, UInt32[]&) + 0xc5
at AssetRipper.SourceGenerated.Extensions.MeshExtensions.ReadData(IMesh, Vector3[]&, Vector3[]&, Vector4[]&, ColorFloat[]&, BoneWeight4[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Vector2[]&, Matrix4x4[]&, UInt32[]&) + 0x23a
at AssetRipper.Export.Modules.Models.MeshData.TryMakeFromMesh(IMesh, MeshData&) + 0xbc
at AssetRipper.Export.Modules.Models.GlbMeshBuilder.AddMeshToScene(SceneBuilder, MaterialBuilder, IMesh) + 0x5f
at AssetRipper.Export.Modules.Models.GlbMeshBuilder.Build(IMesh) + 0x6e
at AssetRipper.Export.PrimaryContent.Models.GlbMeshExporter.Export(IUnityObjectBase, String) + 0x24
at AssetRipper.Export.PrimaryContent.SingleExportCollection`1.Export(String) + 0xb8
at AssetRipper.Export.PrimaryContent.PrimaryContentExporter.Export(GameBundle, CoreConfiguration) + 0xd2
at AssetRipper.GUI.Web.GameFileLoader.ExportPrimaryContent(String) + 0x104
at AssetRipper.GUI.Web.Pages.Commands.ExportPrimaryContent.<AssetRipper-GUI-Web-Pages-ICommand-Execute>d__0.MoveNext() + 0x191
--- End of stack trace from previous location ---
at AssetRipper.GUI.Web.Pages.Commands.<HandleCommand>d__7`1.MoveNext() + 0x56
--- End of stack trace from previous location ---
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.<Invoke>d__5.MoveNext() + 0xaa
--- End of stack trace from previous location ---
at AssetRipper.GUI.Web.ErrorHandlingMiddleware.<InvokeAsync>d__0.MoveNext() + 0x4e
I fixed this by down grading a few versions.
what version? i'm also running into the same issue with bonelab