Direct explanation of the “Device and Network Abuse” message specifically inside Unity, and how to stop it from happening during Unity Android game development.
Here is the Unity-specific explanation:
✅ Why “Device and Network Abuse” Happens Inside Unity
Unity itself does NOT generate this warning.
It appears because one of your Android plugins (from Ads / Analytics / SDKs) includes code that Google Play Protect flags.
This shows up in:
- Unity Console
- Gradle build logs
- Google Play Console pre-launch reports
Unity only passes through what your Android plugins are doing.
🟥 The MOST common Unity causes
1. AdMob (Google Mobile Ads) plugin is outdated
Very common.
2. Unity Ads or mediation adapters outdated
3. Firebase Analytics or Facebook SDK outdated
4. A Unity Asset Store plugin includes old Android code
ANY of these folders can contain suspicious code:
Assets/Plugins/Android/
Assets/Plugins/Android/<something>
Assets/Plugins/<third_party>/Android/
5. Dangerous permissions added by a plugin
When Unity builds an APK, it merges all AndroidManifests.
A bad plugin may add permissions like:
- READ_PHONE_STATE
- ACCESS_FINE_LOCATION
- READ/WRITE_EXTERNAL_STORAGE
Google sees this as “device and network abuse.”
🟩 How to Fix It (Unity-Specific Quick Guide)
✔ 1. Update plugins
This fixes 80% of cases.
- Unity Ads → update in Package Manager
- AdMob → latest version from Google GitHub
- Firebase → latest SDK
- GameAnalytics → update
- IronSource / AppLovin → update
✔ 2. Check AndroidManifest.xml in Unity
In Unity, go to:
Assets → Plugins → Android → AndroidManifest.xml
Look for ANY of these:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
❌ Remove them if you don’t absolutely need them.
✔ 3. Force HTTPS only
Unity Setting:
Edit → Project Settings → Player → Android → Internet Access
→ Set Require
This ensures no HTTP traffic, which Google flags.
✔ 4. Disable device identifiers
DO NOT use this in Unity:
SystemInfo.deviceUniqueIdentifier
Google Play considers this “device abuse.”
✔ 5. Remove suspicious old Unity assets
Many free assets contain outdated Android code.
Delete anything inside:
Assets/Plugins/Android/
that you don’t recognize.
🟦 Want fast help?
If you send me the exact Unity Console error text, I can:
- tell you which plugin is causing it
- show the exact file to edit
- show the line inside AndroidManifest you must remove
- give code you should or shouldn’t use
