❔
Troubleshooting
What to do when things don't work as expected with building your Unity app.

Known Issues

Our team is actively investigating the following issues:
  • Building your app for Universal Windows Platform (UWP) or HoloLens 2 might fail.

When I press Play in Unity I see a black screen!

You can test the connection to echo3D by pressing Play to start the app on Unity.
Note that the Game view will show a black screen - that is expected as the Game view tries to access the mobile AR camera which doesn't exists when running on a desktop machine.
When you build the app on iOS or Android the app will be able to access the camera
To test your app, you can switch to the Scene view and drag the echo3D prefab into the hierarchy. If the API key was set correctly you should be able to see 3D assets from the echo3D console stream into Unity.

I'm getting a Newtonsoft.Json.dll error in Unity!

If you are getting a "Multiple precompiled assemblies with the same name Newtonsoft.Json.dll" error in Unity, this issue is most often caused by a conflict with an old version of a default Unity library.
There are a few ways to fix this error:
1. If you are beginning a new project, consider using a newer version of Unity. Unity versions 2020.3.30f1 or later will not experience this issue.
2. Update the "Version Control" unity package in your project to 1.15 or later via the package manager by clicking the arrow next to the package:
3. If your project will not use Unity Collab or Plastic SCM you can simply remove the "Version Control" package from your project without issue:
4. Delete the folder Assets/echo3D/Libraries/JsonDotNet/Assemblies.

I can see the 3D models in Unity but not in the mobile app!

If you are seeing the 3D models in Unity but not in the AR app you build, it might be the case that the models are too big/small to fit the screen. Try scaling them up/down by pinching the screen or by adding metadata (e.g, 1000 or 0.001).
Also, it might be a mobile shader support issue. Try adding the following metadata to your models in the console:
Keyword
Value
shader
Legacy Shaders/Diffuse
Now restart the mobile app.
Also, when using Android make sure to upgrade your mobile OS to Android 8 or higher since in 2021 all security certificates for Android 7 were invalidated thus blocking HTTP requests.

I can properly see the 3D models in Unity but in the mobile app they lose their colors or completely white/black!

This might be a mobile shader support issue. The shaders used in Unity are not automatically included in the mobile app build.
To resolve the issue:
  • Add a folder called Resources inside the Assets/echo3D folder.
  • Copy all shaders you are using into the Assets/echo3D/Resources folder.
For example, when using the the open-source Unity + AR Foundation + echo3D example project, copy all files underAssets/echo3D/Libraries/glTFast/Runtime/Shaderinto the Assets/echo3D/Resourcesfolder you created.
This will force the shaders to be included in the mobile app build.
Now rebuild and re-run the mobile app.

Still doesn't work?

When building the app through Build Settings, set the Texture Compression to ETC (default).

Still doesn't work?

Under Build Settings > Player Settings > Player > Optimization, check the Keep Loaded Shaders Alive* option.
​Another option is to add your shader to as a Built-in Shader.
Go toEdit -> Project Settings -> Graphics and includes your shader under Build-in Shader-Settings > Always Include Shaders.
Click Save to asset to create a ShaderVariant file under the Assets/Resources folder.
You can verify that the ShaderVariant includes your shader through the inspector.

The model is really big or very small!

Scale the model by pinching the screen with two fingers.
You can also change the size of the model by adding a metadata key named scale to the 3D models. See how in the Data Page section of the documentation.

The app builds and installs but the phone screen shows up black!

If the build process is successful and the app is running but the phone screen seems black, it might be the case that you need to build the app as 64-bit.
In August 2020, Google Play Services for AR (ARCore) removed support for 32-bit-only apps on some 64-bit devices. When you build your app as 32-bit for newer 64-bit devices, the app fails to create an ARCore session and might crash or result in a black screen when attempting to start an AR session.
Unity supports x64 since 2017 LTS.
To build your app as 64-bit, go to File > Build Settings. Click Player Settings.
Navigate to Player > Android Logo.
There under Other Settings scroll down and change your Script Backend to IL2CPP, and you will be able to check the ARM64 checkbox as active.
Now rebuild your app.

I am getting a compilation error

Using some Unity versions with built-in libraries might conflict with libraries in our Unity SDK.
Solution: Delete the Assets/echoAR/Libraries/JsonDotNet/Assemblies.

I am getting an Android SDK license error

After adding Android SDKs and support modules to Unity and trying to build your app you might encounter errors in the Unity console similar to:
Failed to install the following Android SDK packages as some licences have not been accepted.
The error message should also show the path to the Android SDK. For example:
Using Android SDK: C:\Program Files\Unity\Hub\Editor\2019.2.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK
Solution:
  • Step 1
Create a file called repositories.cfg under C:\Users\USERNAME\.android that contains:
### User Sources for Android SDK Manager
count=0
  • Step 2
Open a CMD terminal with Administrator privileges.
Navigate to the Android SDK path and then to ~\tools\bin\. For example:
C:\Program Files\Unity\Hub\Editor\2019.2.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin\
Run ./sdkmanager.bat --licenses
Accept all licenses.
  • Step 3
Right-click on the Android SDK folder and make sure it is not set to read-only.
  • Step 4
Rebuild the app.

I am getting a Secret Key error

Using old versions of our Unity SDK might not include the required Secret Key with the API calls it makes.
Solutions:

I need to change a 3D model’s material

There are two cases where changing the material on your 3D model in Unity makes sense.
  1. 1.
    You don’t want to use Blender or some other 3D modeling software
  2. 2.
    Your model’s material looks different in Unity than what you see in Blender/your 3D modeling software (or it doesn’t show up at all and your object is white).
Here’s a quick way to get the right material on your 3D object, even if you didn’t create the asset yourself:

I am getting errors relating to ARKit/ARCore!

Unity apps build with AR Foundation require that your device is compatible with ARKit or ARCore.
Make sure to have Google Play Services for AR installed on your Android device.

I see some Unity error regarding AR Foundation!

Try using Unity 2019.4 to insure no AR Foundation package errors.

How do I use Unity?

Check out the official Working with Unity manual or the full Unity documentation to get a better understanding of what you can build in Unity.
Unity - Manual: Unity User Manual 2020.3 (LTS)

I am getting some other error.

Let's talk! Ask on Slack or send an email to [email protected] and please attach a screenshot of the error you are experiencing.