• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

A tool to kill Unity telemetry: UnityAnalyticsKiller

Hmm I recall someone at my office mentioning that they'll utilize unity for some hololens stuff. Wonder if they're aware of this.

If you have source access, it's not really an issue as the dev has to choose to turn it on.
 
No one mentioned PI-HOLE? If you all haven't looked into it yet I would strongly recommend it. Cheap and amazingly effective.
 
No one mentioned PI-HOLE? If you all haven't looked into it yet I would strongly recommend it. Cheap and amazingly effective.

I prefer my code to just not try this, but that's certainly a valid option. Hosts file edits work too, due to lazy code.

If wanting to go that route:

127.0.0.1 cdp.cloud.unity3d.com
127.0.0.1 config.uca.cloud.unity3d.com
127.0.0.1 perf-events.cloud.unity3d.com
127.0.0.1 prd-lender.cdp.internal.unity3d.com
127.0.0.1 thind-gke-usc.prd.data.corp.unity3d.com
127.0.0.1 thind-prd-knob.data.ie.unity3d.com
127.0.0.1 remote-config-proxy-prd.uca.cloud.unity3d.com
127.0.0.1 data-optout-service.uca.cloud.unity3d.com
127.0.0.1 redshell.io
127.0.0.1 api.redshell.io
127.0.0.1 treasuredata.com
127.0.0.1 api.treasuredata.com


Add the above to your system hosts file, and watch as Unity gets mad and stops trying.

Anyhow, new release inbound soon. Working on killing the remaining traffic. What's left isn't much, but it's certainly too much.

Crosspost from my post in TPU news about our current 1 "bug":

Here is an opt-out error log still transmitting some limited data, even with my plugin:


Relevant JSON response from Unity Server in the log:

"connect": {
"enabled": true,
"limit_user_tracking": true,
"player_opted_out": true
},
"performance": {
"enabled": true
}

You will note that though the player has clearly opted out (""player_opted_out": true") it still thinks it's ok to track performance related things (connect is enabled, as well as performance logging).

An example of a transmitted "performance metric" packet that still slips through with my plugin (bug report currently up for this)

Content-Type: application/json
X-Unity-Version: 2019.2.2f1
Content-Length: 365
JSON [m:auto]
{
"common": {
"appid": "39811e89-d29d-4faa-bb01-997f3cda24f0",
"build_guid": "15721da0da695412299517d99c2e4d2a",
"deviceid": "unknown",
"localprojectid": "5be2ef0cdad9b1344ae103b0d475456b",
"platform": "LinuxPlayer",
"platformid": 13,
"sdk_ver": "u2019.2.2f1",
"session_count": 14,
"sessionid": 8372668789457274197,
"t_since_start": 3118069,
"userid": "1ddb05956cce640a48c123610a72c706"
}
}

I believe I can address this by building yet another dummy class for UnityEngine.UnityAnalyticsModule.dll That's a big dll (relatively speaking), but I'm trying. It's slow work. Dan was tired and may have just woken up. That slows me down, too.

EDIT We have new release v0.2, testers wanted:


Unfortunately it is Unity 2019 and KSP 1.8 only. 2017 support is temporarily on hold due to this.

EDIT: Also, v0.2 still has some data leaks. Track the issue here:

 
Last edited:
I may be able to support Unity 2017 afterall.

Random related question, I don't suppose anyone knows the Appdata\LocalLow path equivalent in *nix land?

Related topic about why that's important:


EDIT: v0.3 with support for all Kerbal Space Program platforms (including 1.7) is out. It includes a config patcher for KSP. Unity 2017 support is incomplete without a config patch in many games, but it's progress.
 
Last edited:
Well 7 Days to Die A18 was just released and looking at the notes it looks like they are using this so called feature.

They plan too ?, meaning they are not at this time.
The testing team painstakingly played build after build purposely playing as these archetypes and collecting XP earning data, recording and analyzing the results, and working with the game designers to re-balance. We believe the game now supports all the current play-styles. We plan to collect telemetry data in the future to help us further improve this aspect of the game.


 
Yep, I believe most Unity games will move this way rather than not.

I don't know what the motive is but I've seen it enough to know it'll probably happen. Anyhow, my dlls silence most telemetry, but in some games, some still slips through the cracks. For those, you will need to locate and patch, and write protect an "Analytics config file." To make it more fun, the location of this file varies from game to game. It's generally a JSON formatted file named "config" though, vague AF I know.

I made a patcher that handles this for KSP. Other games? Too much effort to keep up but I'll take contributions. These dlls still restrict the telemetry sent severely in even the worst case (basically just system configuration and start/quit time).

This is the state as of latest release (v0.3).
 
just found this awesome tool
but i immediately noticed that e g a replacement for
UnityEngine.PerformanceReportingModule.dll is missing
id guess it does not exist in ksp but in other unity games it does - so are u still updating this project
 

Attachments

just found this awesome tool
but i immediately noticed that e g a replacement for
UnityEngine.PerformanceReportingModule.dll is missing
id guess it does not exist in ksp but in other unity games it does - so are u still updating this project
In more recent ksp's it does exist, I just have not come around to updating. I am now the main maintainer on a few large projects so I would work on it, just a question of time and priorities. I do plan to update it someday. Will ping all here when it happens.

So you convinced me. Support for that module has been added:


It was way easier than I expected. :)
 
Err I'm not a coder but It would be nice for those users in the know how to confirm what I'm saying here in the steam link below, even thou this developer on steam has more or less confirmed it. I have bought more games in 2021 & the result is the same what I'm saying in the link below.

The question is why would you have such a miner code built-in into the game engine .

@ Developers Vapourum Compatibility with Dual Core CPU :: Vaporum General Discussions (steamcommunity.com)
This is kinda offtopic, but Unity using newer instructions does not surprise me. If you wanted to target older hardware, there are older Unity versions that can do just that. My guess is the devs do not consider older x64 CPUs like that a signifigant enough market share to matter vs the benefits of using the newer Unity versions (better performance, mainly).
 
This is kinda offtopic, but Unity using newer instructions does not surprise me. If you wanted to target older hardware, there are older Unity versions that can do just that. My guess is the devs do not consider older x64 CPUs like that a signifigant enough market share to matter vs the benefits of using the newer Unity versions (better performance, mainly).

Yeah, but my problem is. If your going to have this built into the engine, why not have most if not all of the modern instructions built-in. To have such a miner instruction built-in, does not make sense to me.

Sorry for going off-topic, but i needed to grab a coder attention.
 
Yeah, but my problem is. If your going to have this built into the engine, why not have most if not all of the modern instructions built-in. To have such a miner instruction built-in, does not make sense to me.

Sorry for going off-topic, but i needed to grab a coder attention.
It's all good. Hope I was helpful.
 
In more recent ksp's it does exist, I just have not come around to updating. I am now the main maintainer on a few large projects so I would work on it, just a question of time and priorities. I do plan to update it someday. Will ping all here when it happens.

So you convinced me. Support for that module has been added:


It was way easier than I expected. :)

wow this was quick thx alot ... lets just hope we stay ahead of them.
anyways since i got way to many unity games (most of them i play offline only anyways) im gonno test ur tool through out all of them for the next week and if i find even more tracking-dlls ill let u know :D

Appdata\LocalLow
Oh btw when u mentioned that ↑ i remembered that there is even more stuff found in
"HKCU\SOFTWARE\"Studio"\"Game"\..."
like
"unity.player_sessionid_h******" "unity.cloud_userid_h******" "unity.analytics_values_h******"
and other "reg_binary" entrys

but im sadly not aware of how to block those single entrys - i could just block read-permissions for the whole key but this would immediately kill the game
 
wow this was quick thx alot ... lets just hope we stay ahead of them.
anyways since i got way to many unity games (most of them i play offline only anyways) im gonno test ur tool through out all of them for the next week and if i find even more tracking-dlls ill let u know :D


Oh btw when u mentioned that ↑ i remembered that there is even more stuff found in
"HKCU\SOFTWARE\"Studio"\"Game"\..."
like
"unity.player_sessionid_h******" "unity.cloud_userid_h******" "unity.analytics_values_h******"
and other "reg_binary" entrys

but im sadly not aware of how to block those single entrys - i could just block read-permissions for the whole key but this would immediately kill the game
it's likely these entries may not be used once the modified dlls are installed, but blocking their creation is indeed difficult. My main goal is to halt the communication or at least make it useless.
 
No one mentioned PI-HOLE? If you all haven't looked into it yet I would strongly recommend it. Cheap and amazingly effective.
Found this from google search. I was on my pi-hole looking at logs and tons of unity3d.com entries getting blocked and was like wtf not played games for couple days. Some game is just constantly sending data even when im not playing. Shitty tactics from unity.
 
I do not know where Dan is right now. He comes and goes
It starts with a simple knock on a door.

"Who is it?"
"It's me, Dan. Open up, I've got the stuff."
Dan knocks again.
"Who?"
"It's Dan. Open up, I think the cops saw me come in here."
Another knock.
"Who is it?"
"It's Dan, man. Will you open up? I've got the stuff with me."
"Who?"
"Dan - open up."
"Dan?"
"Yeah, Dan. C'mon, open up. I think the cops saw me.
Dan's not here...
the good fight
Could this be the long-awaited sequel to the original Good Fight ? heeheehee :)
 
Back
Top