Troubleshoot common errors

This page contains information on how to diagnose and fix common errors. It is divided into sections based on error codes and log messages.

Response code 400

Connecting to: https://performanceparameters.googleapis.com/v1/applications/...
TuningFork:Web: Response code: 400
TuningFork:Web: Response message: Bad

You can get this error if your API key is invalid. See Enable the API and section Configure the plugin.

Response code 403

TuningFork:Web: Connecting to: https://performanceparameters.googleapis.com/v1/applications/...:generateTuningParameters
TuningFork:Web: Response code: 403
TuningFork:Web: Response message: Forbidden

You can get this error if your API key is not enabled or you made an error when restricting the API key (for example, you used the wrong certificate or hash value). See Enable the API.

"No parameters: no fidelity parameters" warning and "java.lang.NoSuchFieldError" shown in logs

TuningFork:FPDownload: No parameters: no fidelity parameters
TuningFork: java.lang.NoSuchFieldError: no "[Landroid/content/pm/ApplicationInfo;" field "applicationInfo" in class "Landroid/content/pm/PackageInfo;" or its superclasses
TuningFork: Could not get fidelity params from server : err = 4

These are harmless warnings emitted by the Tuning Fork library when checking to see if the app has the debuggable flag set. While verbose, they are harmless and are not indicative of a problem in the integration of the library. You can ignore these warnings.

Multiple Google.Protobuf.dll files

PrecompiledAssemblyException: Multiple precompiled assemblies with the same name
Google.Protobuf.dll included for the current platform.
Only one assembly with the same name is allowed per platform. Assembly paths: ...

Error: The imported type `Google.Protobuf.IMessage<T>' is defined multiple times

You can get one of these errors if your project contains multiple Google.Protobuf.dll files. Remove one of the .dll files to resolve this conflict.

Attempting to call method ... for which no ahead of time (AOT) code was generated

ExecutionEngineException: Attempting to call method 'Google.Protobuf.Reflection.ReflectionUtil+ReflectionHelper' ... for which no ahead of time (AOT) code was generated.

You can see this error on some versions of Unity. This error occurs if the AOT compiler is not generating code for generic methods. For information on how to force generate required code, see section Ahead-of-time compile (AOT).

The type or namespace name 'Protobuf' does not exist in the namespace 'Google'

The type or namespace name `Protobuf' does not exist in the namespace `Google'. Are you missing an assembly reference?

Make sure your project is using .NET 4.x. Check Player Settings > Other Settings > Configuration > Scripting Runtime Version.

LoadingSceneTracker.cs: The type or namespace name 'FidelityParams' could not be found

LoadingSceneTracker.cs: The type or namespace name 'FidelityParams' could not be found (are you missing a using directive or an assembly reference?)
LoadingSceneTracker.cs: The type or namespace name 'Annotation' could not be found (are you missing a using directive or an assembly reference?)

Remove ANDROID_PERFORMANCE_TUNER_UTILITIES from Player Settings > Scripting Define Symbols.