FAQ and troubleshooting#
Short answers to the questions buyers ask most. A problem with a code (identity.company, build.duplicate-class)
has its own entry in Errors.md: the ? next to it opens it.
General#
Which Unity version? Unity 6000.6, the version the template is made and tested on. Another version is not supported: open the project in 6000.6 first.
Do I need to know Unity or C#? No for reskinning, rebalancing, adding content, texts, services and publishing: the Template Hub does it, or your AI agent from plain words (AI Assistant). Yes for new features (Add your own tab), which an AI agent can write with you.
Does it work offline? Yes, fully. Online services are optional (Online services).
Does it cost anything to run? The template runs no server of ours. Unity Gaming Services, LevelPlay and Firebase have free tiers; above them they bill your own accounts. Store developer accounts are paid by you.
Can I publish the demo as it is? No. Stores reject copies, and the template's ids and keys are blocked by Pre-flight. Reskin it (Reskin in 30 minutes).
Where do my own scripts go? Assets/<Company>/<Game>/Scripts/ (after Make it yours). See
Code architecture.
Will an update delete my work? Not what lives in your game's folder. See Changelog and updating.
The Hub says "Stop Play to edit". The Hub does not change the game while it is playing (hub.play-mode). Press
Play again to stop.
I changed something and it does not show. Content changes show on the next Play. After Make it yours, check you
are editing your copy (Assets/<Company>/<Game>/Content/), not the template's original (hub.not-in-game).
A text shows as #ui.something#. The key has no text in that language. Hub > Texts, or Pre-flight's
texts.missing Fix.
Build problems#
Do it with AI (skill
explain-code, set up once): ask your agent "Explain this build error and how to fix it:" and paste the red Console lines. Or read on.
The store or ads work in a development build but not in release#
Release builds shrink the code (Minify, R8). Some SDKs are called from C# in a way the shrinker cannot see, so it removes their classes: the store fails to start (the shop stays paused), or ads never initialise. Development builds do not shrink, so they work.
The template keeps Google Play Billing, LevelPlay, Unity Ads, Play Games and Firebase in
Assets/Plugins/Android/BillingKeepRules.androidlib/proguard-rules.txt. **Any new native SDK needs its own keep
rule there** (the SDK's documentation gives it, usually -keep class com.vendor.** { *; }). If R8 stops the build
itself, see build.r8-missing-classes in Errors.md.
"Namespace '…' is used in multiple modules"#
Unity 6000.6 builds Android with a newer Gradle plugin (AGP 9) that refuses two Android libraries with the same name.
For the Google Mobile Ads plugin the template fixes it by itself (build.agp-namespace-gma). For another plugin, delete
the older copy or update it (build.agp-namespace). Do not edit files in Library/PackageCache: they are reset
whenever packages change.
The Android build fails after a crash or a forced quit#
Gradle's shared cache is half-written. Close Unity, delete the folder ~/.gradle/caches (Mac: in Finder press
Cmd+Shift+G and type ~/.gradle/caches; Windows: C:\Users\<you>\.gradle\caches), reopen and build again
(build.gradle-cache).
Duplicate classes or a file in the project twice#
Usually two copies of an External Dependency Manager, one in Assets/ (from LevelPlay or a .unitypackage) and one
from Package Manager. Delete the Assets/ copy, install Unity's External Dependency Manager (Package Manager >
Unity Registry) and, when Unity asks, choose Use Unity's External Dependency Manager (compile.duplicate-dll,
build.duplicate-class).
iOS: the Xcode project does not build, or there is no .xcworkspace#
CocoaPods is missing or pod install failed (build.ios-cocoapods). Install it, build again, and open the
.xcworkspace. See Publishing.
Anything else#
The Build Error Explainer recognises the common failures and writes a yellow Console line with the code and the fix. Tools > Idle RPG > Build Errors lists them; Explain errors in Editor.log reads an error from before the window was open.
Purchases#
Every purchase fails with "item unavailable" on my phone. Google Play refuses purchases in a build you installed yourself (USB, APK). Install from an Internal testing track with a licence tester account (Test purchases).
A product "is not available from the store". Its id in the game differs from the console's, it is not active, or the console has not processed it yet (can take hours).
Purchases are granted but Pre-flight says keys.iap-tangle. Receipt validation is not set up
(Receipt validation).
Ads#
No ads ("No fill", 509). The ad unit has no network instance in the LevelPlay dashboard, or the app is new and gets little fill. Add a Unity Ads instance to the ad unit, and test with a test device (Test ads on your phone).
The consent form never shows. It only shows where the law requires it (EEA, UK, some US states). Set UMP's debug geography to test it elsewhere.
Analytics#
No events arrive. Check, in order:
- Send analytics is on (Hub > Services > Analytics;
Analytics Enabledin Game Config). - Consent: with the UMP form, nothing is sent until the player agrees; in the EEA a refusal means no analytics. Test on a device outside the EEA or accept the form.
- Unity Analytics: every event must be defined in the dashboard's Event Manager, else it lands in the Invalid tab (the Event Manager step).
- Firebase:
google-services.jsonis inAssetsand matches the package name; Firebase does nothing in the editor (use DebugView on a phone).
Online#
The game says it is offline although I set up UGS. The Console says why at start: the project is not linked
(online.not-linked), Use UGS is off, or the service's package is missing. Check the environment you deployed to is
the one the build uses (production).
"Could not find member '…'" in the log after a server deploy. The Cloud Code SDK reads server answers strictly: a module that added a field to an answer breaks every older game build. Deploy only the module that ships with your template version; if you change the module yourself, add fields only for clients that ask for them.
The first summon of a session is slow. Cloud Code starts cold after about 15 idle minutes; the first call can take several seconds. The game waits for it.
A player was flagged by mistake. See Lifting a flag.
Google Play Games sign-in fails with DEVELOPER_ERROR. The OAuth client is missing for the key that signed this install: add an Android credential for both the Play App Signing key and your upload key (Online services).
Still stuck?#
Support: copy the diagnostic report and send it with your question.