Cesium in other versions of unity

Hello! when trying to run the sample project, I get multiple script errors such as

Library/PackageCache/com.cesium.unity@0.1.1/Runtime/Cesium3DTileset.cs(1,7): error CS0246: The type or namespace name ‘Reinterop’ could not be found (are you missing a using directive or an assembly reference?)

I wanted to ask, what version of unity should I be running Cesium on, and is it possible to fix any of these errors so it runs on older versions of unity, like 2020.3?

Thank you!
Brandon

Hi @Brandon_Smith,

The official minimum required version is 2021.3. I don’t know of any reason offhand why 2020.3 wouldn’t work, but we haven’t tried it. That Reinterop error is quite surprising, though. Are there any other errors before that one? It may be helpful to share your entire Editor log (accessible from the three dots menu in the top right corner of the console).

Kevin

Sure, I can share that, it’s kind of long though! Unfortunately it’s actually too long to post entirely, so I’ll post what looks like the relevant part. Actually though, this was trying to launch it through 2021.3.6


/additionalfile:"Library/Bee/artifacts/2400b0aE.dag/CesiumRuntime.AdditionalFile.txt"
##### Custom Environment Variables
DOTNET_MULTILEVEL_LOOKUP=0
##### ExitCode
1
##### Output
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/Cesium3DTileset.cs(1,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@0.1.1/Runtime/CesiumBingMapsRasterOverlay.cs(1,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@0.1.1/Runtime/CesiumCreditSystem.cs(1,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@0.1.1/Runtime/CesiumGeoreference.cs(3,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@0.1.1/Runtime/CesiumGlobeAnchor.cs(1,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@0.1.1/Runtime/CesiumIonRasterOverlay.cs(1,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@0.1.1/Runtime/CesiumMetadata.cs(1,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@0.1.1/Runtime/CesiumTileMapServiceRasterOverlay.cs(1,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@0.1.1/Runtime/CesiumTransforms.cs(1,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@0.1.1/Runtime/CesiumWebMapServiceRasterOverlay.cs(1,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@0.1.1/Runtime/MetadataProperty.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@0.1.1/Runtime/NativeDownloadHandler.cs(1,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@0.1.1/Runtime/CesiumBingMapsRasterOverlay.cs(27,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@0.1.1/Runtime/CesiumBingMapsRasterOverlay.cs(27,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@0.1.1/Runtime/CesiumMetadata.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@0.1.1/Runtime/CesiumMetadata.cs(9,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@0.1.1/Runtime/CesiumCreditSystem.cs(20,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@0.1.1/Runtime/CesiumCreditSystem.cs(20,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@0.1.1/Runtime/CesiumIonRasterOverlay.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@0.1.1/Runtime/CesiumIonRasterOverlay.cs(9,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@0.1.1/Runtime/CesiumGlobeAnchor.cs(78,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@0.1.1/Runtime/CesiumGlobeAnchor.cs(78,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@0.1.1/Runtime/CesiumGeoreference.cs(62,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@0.1.1/Runtime/CesiumGeoreference.cs(62,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@0.1.1/Runtime/Cesium3DTileset.cs(41,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@0.1.1/Runtime/Cesium3DTileset.cs(41,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@0.1.1/Runtime/CesiumMetadata.cs(12,31): error CS8795: Partial method 'CesiumMetadata.loadMetadata(Transform, int, MetadataProperty[])' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumMetadata.cs(14,29): error CS8795: Partial method 'CesiumMetadata.getNumberOfProperties(Transform)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumTransforms.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@0.1.1/Runtime/CesiumTransforms.cs(9,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@0.1.1/Runtime/CesiumWebMapServiceRasterOverlay.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@0.1.1/Runtime/CesiumWebMapServiceRasterOverlay.cs(10,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@0.1.1/Runtime/CesiumTransforms.cs(20,13): error CS8795: Partial method 'CesiumTransforms.LongitudeLatitudeHeightToEarthCenteredEarthFixed(double3)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumTransforms.cs(31,13): error CS8795: Partial method 'CesiumTransforms.EarthCenteredEarthFixedToLongitudeLatitudeHeight(double3)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/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@0.1.1/Runtime/CesiumTileMapServiceRasterOverlay.cs(10,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@0.1.1/Runtime/MetadataProperty.cs(30,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@0.1.1/Runtime/MetadataProperty.cs(30,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@0.1.1/Runtime/MetadataProperty.cs(37,31): error CS8795: Partial method 'MetadataProperty.GetPropertyName()' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(42,29): error CS8795: Partial method 'MetadataProperty.IsNormalized()' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(48,28): error CS8795: Partial method 'MetadataProperty.GetComponentCount()' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(50,31): error CS8795: Partial method 'MetadataProperty.GetComponent(MetadataProperty, int)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(55,37): error CS8795: Partial method 'MetadataProperty.GetComponentType()' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(60,37): error CS8795: Partial method 'MetadataProperty.GetMetadataType()' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(67,30): error CS8795: Partial method 'MetadataProperty.GetInt8(sbyte)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(74,29): error CS8795: Partial method 'MetadataProperty.GetUInt8(byte)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(81,30): error CS8795: Partial method 'MetadataProperty.GetInt16(short)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(88,31): error CS8795: Partial method 'MetadataProperty.GetUInt16(ushort)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(95,30): error CS8795: Partial method 'MetadataProperty.GetInt32(int)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(102,31): error CS8795: Partial method 'MetadataProperty.GetUInt32(uint)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(109,30): error CS8795: Partial method 'MetadataProperty.GetInt64(long)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(116,31): error CS8795: Partial method 'MetadataProperty.GetUInt64(ulong)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(123,30): error CS8795: Partial method 'MetadataProperty.GetFloat32(float)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(130,31): error CS8795: Partial method 'MetadataProperty.GetFloat64(double)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(137,32): error CS8795: Partial method 'MetadataProperty.GetBoolean(bool)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/MetadataProperty.cs(144,31): error CS8795: Partial method 'MetadataProperty.GetString(string)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/NativeDownloadHandler.cs(7,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@0.1.1/Runtime/NativeDownloadHandler.cs(7,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@0.1.1/Runtime/NativeDownloadHandler.cs(27,30): error CS8795: Partial method 'NativeDownloadHandler.ReceiveDataNative(IntPtr, int)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumIonRasterOverlay.cs(44,41): error CS8795: Partial method 'CesiumIonRasterOverlay.AddToTileset(Cesium3DTileset)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumIonRasterOverlay.cs(45,41): error CS8795: Partial method 'CesiumIonRasterOverlay.RemoveFromTileset(Cesium3DTileset)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumBingMapsRasterOverlay.cs(65,41): error CS8795: Partial method 'CesiumBingMapsRasterOverlay.AddToTileset(Cesium3DTileset)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumBingMapsRasterOverlay.cs(68,41): error CS8795: Partial method 'CesiumBingMapsRasterOverlay.RemoveFromTileset(Cesium3DTileset)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumGlobeAnchor.cs(617,37): error CS8795: Partial method 'CesiumGlobeAnchor.AdjustOrientation(CesiumGlobeAnchor, double3, double3)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumTileMapServiceRasterOverlay.cs(86,41): error CS8795: Partial method 'CesiumTileMapServiceRasterOverlay.AddToTileset(Cesium3DTileset)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumTileMapServiceRasterOverlay.cs(87,41): error CS8795: Partial method 'CesiumTileMapServiceRasterOverlay.RemoveFromTileset(Cesium3DTileset)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumWebMapServiceRasterOverlay.cs(122,41): error CS8795: Partial method 'CesiumWebMapServiceRasterOverlay.AddToTileset(Cesium3DTileset)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumWebMapServiceRasterOverlay.cs(123,41): error CS8795: Partial method 'CesiumWebMapServiceRasterOverlay.RemoveFromTileset(Cesium3DTileset)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumGeoreference.cs(263,30): error CS8795: Partial method 'CesiumGeoreference.InitializeOrigin()' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumGeoreference.cs(269,30): error CS8795: Partial method 'CesiumGeoreference.RecalculateOrigin()' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumGeoreference.cs(311,13): error CS8795: Partial method 'CesiumGeoreference.TransformUnityPositionToEarthCenteredEarthFixed(double3)' must have an implementation part because it has accessibility modifiers.
Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumGeoreference.cs(322,13): error CS8795: Partial method 

The part before this would be most useful, because it would show how the compiler was invoked and resulted in those compiler errors. You may be able to attach the full log if you ZIP it first. Or you can email it to me directly.