A small BepInEx plugin for Unity games that blocks telemetry and device reporting on the client, using Harmony patches.
TelemetryBlocker patches the game at runtime so these calls never run:
| Patch | Target | Effect |
|---|---|---|
TelemetryInterceptor |
LIV LCK telemetry (SendTelemetry, SendTelemetryAsync, Initialize, InitializeAsync, InitializeHttpClient, GetGeoLocation, LoadOrCreateDeviceId, SerializeTelemetryEvent, SetUserIdProvider) |
Skips the methods, so no telemetry events or geolocation lookups are sent |
DeviceInfoPatch |
PlayFabClientInstanceAPI.ReportDeviceInfo |
Stops device info being reported to PlayFab |
ScreenTimeTrackerPatch |
PlayFabHttp.InitializeScreenTimeTracker |
Disables PlayFab screen-time tracking |
HardwareIdPatch |
Hardware ID getter | Returns a random ID, generated once per session, instead of the real one |
Nothing is written to disk and nothing is sent anywhere. The plugin only skips existing calls.
- A Unity game with BepInEx installed
- The game's own
Assembly-CSharp,PlayFabandLIV.LCKassemblies (only needed to build)
- Build the project (see below) or download
TelemetryBlocker.dllfrom Releases. - Copy
TelemetryBlocker.dllinto the game'sBepInEx/plugins/folder. - Start the game. Patches are applied when the plugin is enabled.
- Clone the repo.
- Add references to
BepInEx,0Harmony,UnityEngine.CoreModule,Assembly-CSharp,PlayFabandLIV.LCK(from the game'sManagedfolder and BepInEx'scorefolder). - Remove or exclude the
Stubs/folder. It holds empty placeholder types so the project can compile without the game. If it is included, the plugin compiles against the placeholders instead of the real Harmony and patches will not be applied. - Build:
dotnet build -c Release
The output is bin/Release/netstandard2.1/TelemetryBlocker.dll.
TelemetryBlocker/
├── PatchManager.cs # Creates the Harmony instance and applies patches
├── Plugin/
│ └── PluginController.cs # BepInEx plugin entry point
├── Patches/
│ ├── PluginInfo.cs # GUID, name, version
│ ├── LckTelemetryPatcher.cs
│ ├── HWIDPatch.cs
│ └── PlayFab1-8.cs # PlayFab reporting patches
├── Stubs/ # Compile-only placeholders (do not ship)
└── Decompile-Dll.ps1 # Helper script: decompile a DLL with ilspycmd
HardwareIdPatchis missing its[HarmonyPatch(...)]target arguments (lost during decompilation), so it does nothing until they are restored.RemoveHarmonyPatchesonly resets a flag; it does not unpatch the game.
This is an unofficial project and is not affiliated with or endorsed by any game developer, PlayFab or LIV. Modifying a game client may break its terms of service. Use it at your own risk.
Add a license of your choice (for example MIT) before publishing.