Launching Cesium for Unity

Any messages in the Output Log? It should be possible to connect to your Android device with the Unity Editor in order to get access to the logs.

Here are log errors I received…

  1. NotImplementedException: The native implementation is missing so OnEnable cannot be invoked. This may be caused by a missing call to CreateImplementation in one of your constructors, or it may be that the entire native implementation shared library is missing or out of date. CesiumForUnity.Cesium3DTileset.OnEnable () (at D:/Joginder/UnityProjects/My project - Copy/Library/PackageCache/com.cesium.unity@0.1.1/Runtime/generated/Reinterop/Reinterop.RoslynSourceGenerator/Cesium3DTileset-generated.cs:495)

  2. [11:54 AM]

NotImplementedException: The native implementation is missing so InitializeOrigin cannot be invoked. This may be caused by a missing call to CreateImplementation in one of your constructors, or it may be that the entire native implementation shared library is missing or out of date. CesiumForUnity.CesiumGeoreference.InitializeOrigin () (at D:/Joginder/UnityProjects/My project - Copy/Library/PackageCache/com.cesium.unity@0.1.1/Runtime/generated/Reinterop/Reinterop.RoslynSourceGenerator/CesiumGeoreference-generated.cs:461) CesiumForUnity.CesiumGeoreference.OnEnable () (at D:/Joginder/UnityProjects/My project - Copy/Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumGeoreference.cs:276)

  1. [11:55 AM]

NotImplementedException: The native implementation is missing so AddToTileset cannot be invoked. This may be caused by a missing call to CreateImplementation in one of your constructors, or it may be that the entire native implementation shared library is missing or out of date. CesiumForUnity.CesiumIonRasterOverlay.AddToTileset (CesiumForUnity.Cesium3DTileset tileset) (at D:/Joginder/UnityProjects/My project - Copy/Library/PackageCache/com.cesium.unity@0.1.1/Runtime/generated/Reinterop/Reinterop.RoslynSourceGenerator/CesiumIonRasterOverlay-generated.cs:317) CesiumForUnity.CesiumRasterOverlay.AddToTileset () (at D:/Joginder/UnityProjects/My project - Copy/Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumRasterOverlay.cs:149) CesiumForUnity.CesiumRasterOverlay.OnEnable () (at D:/Joginder/UnityProjects/My project - Copy/Library/PackageCache/com.cesium.unity@0.1.1/Runtime/CesiumRasterOverlay.cs:182)

  1. [11:55 AM]

NotImplementedException: The native implementation is missing so OnEnable cannot be invoked. This may be caused by a missing call to CreateImplementation in one of your constructors, or it may be that the entire native implementation shared library is missing or out of date. CesiumForUnity.Cesium3DTileset.OnEnable () (at D:/Joginder/UnityProjects/My project - Copy/Library/PackageCache/com.cesium.unity@0.1.1/Runtime/generated/Reinterop/Reinterop.RoslynSourceGenerator/Cesium3DTileset-generated.cs:495)

  1. [11:56 AM]

NotImplementedException: The native implementation is missing so Start cannot be invoked. This may be caused by a missing call to CreateImplementation in one of your constructors, or it may be that the entire native implementation shared library is missing or out of date. CesiumForUnity.Cesium3DTileset.Start () (at D:/Joginder/UnityProjects/My project - Copy/Library/PackageCache/com.cesium.unity@0.1.1/Runtime/generated/Reinterop/Reinterop.RoslynSourceGenerator/Cesium3DTileset-generated.cs:477)

  1. [11:56 AM]

NotImplementedException: The native implementation is missing so Update cannot be invoked. This may be caused by a missing call to CreateImplementation in one of your constructors, or it may be that the entire native implementation shared library is missing or out of date. CesiumForUnity.Cesium3DTileset.Update () (at D:/Joginder/UnityProjects/My project - Copy/Library/PackageCache/com.cesium.unity@0.1.1/Runtime/generated/Reinterop/Reinterop.RoslynSourceGenerator/Cesium3DTileset-generated.cs:483)

Please check that you’re building for ARM64, not ARMv7. Cesium only supports 64-bit operating systems and processors.

1 Like

Yes, only Windows (Intel x64), macOS (Intel x64 and Apple Silicon/ARM64), and Android (ARM64) are supported in the current version. It should be possible to build it for Linux on your own system (we have done this in the past), but we don’t currently provide the native code compiled for Linux.

Good to know, we’ll try to build our own. If there are any examples with build options we’d be grateful to be able to look into them, might save us time. Thnks!

When I am doing this… following errors are coming and build is no completing…

@Joginder007, I don’t know what to make of those errors. It looks unrelated to Cesium for Unity. Maybe take a look at the full Editor log and see if there are any clues in there. It’s available from the three dots menu in the top right of the console pane.

Build instructions can be found here:

2 Likes

Any thoughts on this post of mine? In regards to running the maps on Android using downloaded maps from Ion for offline use?

https://community.cesium.com/t/how-to-access-archived-tile-maps-on-android-tablet/22073

Looking for the same help too …

This solved the issue for me. Thanks! :star_struck: For others to reference:
I was trying to run Cesium for Google GeoSpatial 3D tiles on Oculus Quest 2. At first I used Mono as scripting backend, which only supports ARMv7. Everything worked in editor but nothing shows up in my headset. Logcat gives me the error message: “The native implementation is missing so Update cannot be invoked” in Cesium3DTileset-generated.cs script. The solution is to switch to ILCPP scripting backend and choose ARM64 as target architecture.

1 Like

Hi! I really love cesium for unity but i was just wondering if you could try to provide for building for linux? If you can’t then that’s ok but if you could then thank you :))

We have no immediate plans for official cesium-unity linux support, but feel free to reference related posts on the forum,
https://community.cesium.com/search?q=linux%20%23cesium-for-unity