Hi,
we have been building a 3D game in unity with the cesium 3D map and the application crashes when loading the 3D map. I am using the cesium world terrain asset to get a 3D map.
All the other pages in unity loads good but when the cesium integration comes, the application crashes.
Below is the error from editor logs.
ERROR: SymGetSymFromAddr64, GetLastError: ‘Attempt to access invalid address.’ (Address: 00007FFBAD837374)
0x00007FFBAD837374 (KERNEL32) (function-name not available)
0x00007FFBAE47CC91 (ntdll) RtlUserThreadStart
========== END OF STACKTRACE ===========
A crash has been intercepted by the crash handler. For call stack and other details, see the latest crash report generated in:
- C:/Users/ssheikni/AppData/Local/Temp/1/Unity/Editor/Crashes
The current unity version used in Unity 6 and cesium version is 1.13.1
Also tried to upgrade the unity and cesium version to 2022 and 1.15 respectively but after that we are getting 260 compiler errors. The same project was working well in Unity 6 and cesium 1.13.1 (but crashes) and after upgrading the versions we are getting compiler errors.
Attaching the errors below after upgrading
Library\PackageCache\com.unity.ai.navigation@2.0.5\Runtime\NavMeshLink.cs(468,26): error CS0117: ‘NavMesh’ does not contain a definition for ‘IsLinkValid’
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\Cesium3DTile.cs(2,7): error CS0246: The type or namespace name ‘Reinterop’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\Cesium3DTile.cs(13,6): error CS0246: The type or namespace name ‘ReinteropNativeImplementationAttribute’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\Cesium3DTile.cs(13,6): error CS0246: The type or namespace name ‘ReinteropNativeImplementation’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\Cesium3DTile.cs(35,39): error CS8795: Partial method ‘Cesium3DTile.getBounds(IntPtr, IntPtr, double4x4)’ must have an implementation part because it has accessibility modifiers.
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumGlobeAnchor.cs(636,30): error CS8795: Partial method ‘CesiumGlobeAnchor.SetNewLocalToGlobeFixedMatrix(double4x4)’ must have an implementation part because it has accessibility modifiers.
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumGlobeAnchor.cs(644,30): error CS8795: Partial method ‘CesiumGlobeAnchor.SetNewLocalToGlobeFixedMatrixFromTransform()’ must have an implementation part because it has accessibility modifiers.
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumGlobeAnchor.cs(652,36): error CS8795: Partial method ‘CesiumGlobeAnchor.GetLocalToEastUpNorthRotation()’ must have an implementation part because it has accessibility modifiers.
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumGlobeAnchor.cs(660,30): error CS8795: Partial method ‘CesiumGlobeAnchor.SetLocalToEastUpNorthRotation(quaternion)’ must have an implementation part because it has accessibility modifiers.
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\Cesium3DTileset.cs(712,30): error CS8795: Partial method ‘Cesium3DTileset.ComputeLoadProgress()’ must have an implementation part because it has accessibility modifiers.
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\Cesium3DTileset.cs(719,29): error CS8795: Partial method ‘Cesium3DTileset.RecreateTileset()’ must have an implementation part because it has accessibility modifiers.
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumIonRasterOverlay.cs(10,6): error CS0246: The type or namespace name ‘ReinteropNativeImplementationAttribute’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumMetadataValue.cs(1760,40): error CS8795: Partial method ‘CesiumMetadataValue.ConvertToString(CesiumMetadataValue, string)’ must have an implementation part because it has accessibility modifiers.
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumFeatureIdAttribute.cs(33,6): error CS0246: The type or namespace name ‘ReinteropNativeImplementationAttribute’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumFeatureIdAttribute.cs(33,6): error CS0246: The type or namespace name ‘ReinteropNativeImplementation’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumFeatureIdAttribute.cs(52,39): error CS8795: Partial method ‘CesiumFeatureIdAttribute.GetFeatureIdForVertex(long)’ must have an implementation part because it has accessibility modifiers.
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumDebugColorizeTilesRasterOverlay.cs(9,6): error CS0246: The type or namespace name ‘ReinteropNativeImplementationAttribute’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumFeatureIdTexture.cs(35,6): error CS0246: The type or namespace name ‘ReinteropNativeImplementationAttribute’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumGeoreference.cs(626,35): error CS8795: Partial method ‘CesiumGeoreference.ComputeLocalToEarthCenteredEarthFixedTransformation()’ must have an implementation part because it has accessibility modifiers.
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumPolygonRasterOverlay.cs(15,6): error CS0246: The type or namespace name ‘ReinteropNativeImplementationAttribute’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumTileExcluder.cs(45,31): error CS8795: Partial method ‘CesiumTileExcluder.RemoveFromTileset(Cesium3DTileset)’ must have an implementation part because it has accessibility modifiers.
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumPropertyTableProperty.cs(38,6): error CS0246: The type or namespace name ‘ReinteropNativeImplementationAttribute’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumPropertyTableProperty.cs(38,6): error CS0246: The type or namespace name ‘ReinteropNativeImplementation’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumTileMapServiceRasterOverlay.cs(10,6): error CS0246: The type or namespace name ‘ReinteropNativeImplementationAttribute’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\TestGltfModel.cs(40,52): error CS8795: Partial method ‘TestGltfModel.AddMat3PropertyTableProperty(float3x3)’ must have an implementation part because it has accessibility modifiers.
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\CesiumWebMapServiceRasterOverlay.cs(127,41): error CS8795: Partial method ‘CesiumWebMapServiceRasterOverlay.RemoveFromTileset(Cesium3DTileset)’ must have an implementation part because it has accessibility modifiers.
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\TestReinterop.cs(8,6): error CS0246: The type or namespace name ‘ReinteropNativeImplementationAttribute’ could not be found (are you missing a using directive or an assembly reference?)
Library\PackageCache\com.cesium.unity@54c98feb8d\Runtime\ConfigureReinterop.cs(23,6): error CS0246: The type or namespace name ‘Reinterop’ could not be found (are you missing a using directive or an assembly reference?)
Please help to resolve this issue
Thanks