- Home /
Cloud Build fails with Analytics.AnalyticsEvent (2019.2.1f)
I've just incorporated Analytics to my project. In a class, the Analytics namespace is introduced in a normal fashion:
using UnityEngine.Analytics;
The only actual usage of Analytics is through the Standard Events, in the same class, for instance:
AnalyticsEvent.LevelComplete(scene.name, someData);
This all works fine and dandy when doing local builds. From the editor, events show up in the Dashboard and I am able to do Android builds without compilation errors.
However, using Cloud Build fails to build:
4390: [Unity] Assets/Scripts/GameLogic/AnalyticsManager.cs(76,30): error CS0103: The name 'AnalyticsEvent' does not exist in the current context
The Unity editor version is the same in CloudBuild that I have locally:
+ Detected last used Unity version: 2019.2.1f1
... and from the Cloud Build log I see that the Analytics is imported as a package:
105: [Unity] com.unity.modules.unityanalytics@1.0.0 (location: /UNITY_PATH/Unity/Unity-2019_2_1f1/Unity.app/Contents/Resources/PackageManager/BuiltInPackages/com.unity.modules.unityanalytics)
Question is, why aren't the Standard Events found in the namespace? Is this a wrong (e.g. too old) version of the Analytics package? It seems so as the imported package is 1.0.0 but in Editor (Package manager) I have 3.3.2. The manifest.json confirms this:
{ "dependencies": { ... "com.unity.analytics": "3.3.2", ... } }
How to force Cloud Build to use a correct one (I could not find a way to do this in the settings or anywhere else)?
Answer by maebius · Sep 13, 2019 at 08:10 AM
Well, in the end this was a simple issue of my own device:
I had my manifest.json (or Package-dir) in git.ignore, so Cloud Build used default versions, and for some reason Analytics defaults there to 1.0.0. :-)