I am attempting to completely disable Analytics data collection (for example, using preprocessor directives to ignore analytics in dev builds, and so on). If I try to set Analytics.enabled = false, it does indeed seem to stop my custom events from getting through, however the Validator still shows appStop and appRunning events.
I’ve tried setting enabled = false in a MonoBehaviour’s Awake method, as well as a static class’ static constructor (although I can’t find a better place to reference said static class than in another Awake method…) Is there a better place to set this?
Are you a Personal, Plus or Pro user? Unity sends a set of events (including appStart, appRunning, etc.) that are not under developer control. We use these to gain understanding of games, devices, and the industry at large. They can be silenced for Plus and Pro users by going to Edit > Player Settings > Other Settings > Configuration > Disable HW Statistics.
I think you’re doing a bit of a chicken/egg thing: if you turn on Analytics in order to check the validator, then by definition you’re sending these events. (i.e., if analytics or any other service is on, all these “core” events get sent to our servers.)
With HWStats off and all services disabled (including Analytics) your build will not send events. If you need confirmation of that, you can use a tool like Charles Proxy to confirm.
Ok, so I’m just trying to dig down to an answer I can take to the bank here…
Since Services are per-project configurations, would it be true there is no way to enable Analytics only for certain builds (i.e., production builds), and completely disable it for other builds (i.e., QA builds) of the same project?
A team-member just pointed out to me that we have:
This will allow you to disable HWStats, provided (a) that the account performing the build is Pro, and (b) no services are enabled.
Some further thoughts:
You could mark a script with [RuntimeInitializeOnLoad] to have it call as early as possible, presumably blocking any core events from sending.
You could potentially enable this script through a build-chain so that your Prod builds have it on, but your QA builds have it off.
Personally, I’m a little leery of running your build-chain this way, since it means that by definition your QA builds aren’t equivalent to the ones you’re sending to your customers, but that’s up to you and your team, of course.
Thanks for the guidance. From my testing, it seems like settingAnalytics.enabled/deviceStatsEnabled = false in a RuntimeInitializeOnLoad method doesn’t necessarily stop all core events. But I’ll admit I’m having a hard time saying anything certain about a system with some built-in uncertainty (in the form of events caching).
pro user here:
just looking at the system outputs i see the analytics system is still working
maybe a different point than the guy above but it still shouldn’t be doing this.
i am in 2018.1.7
i have disable hw statistics
but i still see related file creation in the app persistent folder
creating directory:
Unity>xxxxxx>Analytics:
– config (updates on play)
{“prefs”:{}}
– values (updates on play and stop)
{“config_etag”:“”,“app_info_hash”:748638352,“app_installed”:true,“engine_ver”:“2018.1.7f1”,“app_ver”:“1.0”,“custom_event_time”:0,“custom_event_count”:0}
being a statistician and having been in situations where a data point my cost thousands of dollars, i rarely give out data, especially to mass data collectors.
this seems like it is fishing for a data point should the user happen to uncheck the box.
its sad that the intel gathering has been reduced to users, whom have paid thousands of dollars, must continually opt out (every project you create) of data collection. i feel someone is just high on the data intelligence fad and using physiological techniques to produce more data over the long term. They are concerned with their own value over respect for their customer. as it is easy to disable a system (when designed decently and this is unity engineers). so … when only parts get disabled great care must have been taken to not disable the whole thing.
Outgoing requests are only sent when HW Stats is enabled or a Service (Ads, Analytics, IAP, Multiplayer) is enabled.
There is currently a known issue with 2018.1+ where new projects may have Analytics enabled, even if they marked as disabled when creating the project.
To confirm that Analytics (and all other Services) are disabled, you can open the Services window and check the status of the Services. (Alternatively, you can check the UnityConnectSettings.asset in the ProjectSettings folder, if asset files are set to text serialization in your Editor settings.)
If all Services and HW Stats Collection are disabled and you still see outgoing requests, please open a support ticket and we will investigate further.
@ap-unity@marc_tanenbaum
Lets say I already have a production build with Analytics enabled, that is being distributed through AppStore.
If I want to work on the next version of the game and I want to disable Analytics, so I don’t ruin the currently collected analytics data with debug/testing data while I work and test the next version, do I disable the Analytics service from the Services panel? Will it disable analytics just for the next build, or does it disable analytics data collection for the entire project, including previous builds which are online right now?
the free version has data constantly going to google sevrers and when i show them screenshots they play dumb
they ARE fishing, they pound your computer, aggressively searching for a way to the internet - working offline is a joke and a LIE - the moment you load unity, it’s stealing your data
i also found skype.exe connected to unity.exe - check out the screenshots - very sneaky and i have the emails of them playing dumb about it
it’s funny, the FBI is getting into trouble for spying on americans but, these companies are doing just that - they don’t even SHARE their google earnings with us - they just encourage us to use their product in GOOD FAITH, buy from their store, etc and are STEALING from us every single day
i can’t access unity store because i blocked all means for ANYTHING from google to access my harddrive - so, since they can’t mine my data, the store will not load and i cannot access my paid-for assets (thousands of dollars worth) -
they know this but can’t help me because they can’t admit they’re stealing from me and unity won’t even work correctly if you block google from your machine
i’m considering suieng them, frankly - all my paid-for assets are being held hostage - no one told me i had to submit to google for unity to function - this is criminal
So it’s impossible to build a game with the Free version of unity that doesn’t steal user’s data?
Have you even heard of the GDPR? I believe you’ll find every single machine you’re taking data from without a proper user notification and opt-in consent is a breach.
The only thing I can see says “If services are disabled”. Well, I don’t even have a Project ID in services, Analytics is disabled and Unity’s still trying to make outbound internet connections.