Troubleshooting
Start with the first thing that fails: packages, then setup, then startup, then the scene.
Packages​
Repository not found or terminal prompts disabled​
You cannot read GameStudio3/SDK-Packages. Ask the SDK team for access, then
check that Git can clone the repository outside Unity and that Git Credential
Manager (or SSH) works for the Unity Editor. Never put a token in
manifest.json.
Package or version not found​
Check both SDK entries in manifest.json:
com.silvertiger.projectv:path=/packages/products/projectv/com.silvertiger.projectv/<version>and tag#projectv/<version>;com.silvertiger.crosssdk:path=/packages/shared/com.silvertiger.crosssdk/<version>and tag#shared/<version>;- the version in
pathand in the tag is the same, and it is a released version.
Package version conflict​
com.silvertiger.projectv needs one exact com.silvertiger.crosssdk version.
Use the version its release notes name.
Missing Signature notice​
Private Git packages are unsigned. Close the notice; it does not affect the import.
Unity compilation​
A screen or presenter type cannot be found​
A game .asmdef must reference SilverTiger.ProjectV.Unity (and VContainer
for injection). Code in Assembly-CSharp sees them without a reference.
Duplicate type or assembly​
Remove copied SDK DLLs, embedded copies of the packages and leftover V1 backend folders.
Setup validation​
| Report | Fix |
|---|---|
RootCount is 0 | Open the Login scene and run Tools › SilverTiger › ProjectV SDK › Setup |
RootCount > 1 | Keep the root that owns the configured ProjectVSettings; delete the others |
| Presentation scope missing | Add VContainer (jp.hadashikick.vcontainer 1.17.0) to the manifest and rerun Setup |
| Settings invalid | Fix the endpoint (HTTP/HTTPS), server key and client version |
Startup and login​
| Status | Meaning | Do |
|---|---|---|
WaitingForContent | The game's own content is not loaded yet | Finish loading, then StartAsync(true, …) |
AwaitingLogin | No saved session | Show the login choices |
Maintenance | The backend is closed for maintenance | Blocking maintenance screen |
UpdateRequired | This build is too old | Ask the player to update |
ContractMismatch | This build and the backend do not match | Stop; the SDK team must deploy matching versions |
Offline | The backend cannot be reached | Offline screen with Retry; check Endpoint and the network |
Failed | Something else failed | Generic localized message with the request ID |
A Guest login that never leaves Login usually means the endpoint or server key belongs to another environment. Compare them with Configure the environment.
Google sign-in unavailable: run Tools › SilverTiger › ProjectV SDK › Google ›
Validate Configuration and check GetNativeAvailability. On Android, the
build must be signed with the keystore registered for the Android OAuth client.
Scene injection​
VContainer cannot resolve a screen or presenter​
Check that:
- the game started from the Login scene, so the SDK root exists;
- the Login scene uses
ProjectVLoginSceneScopeand other scenes useProjectVAuthenticatedSceneScope; - the view is registered with
RegisterComponentInHierarchy; - the scene does not add its own SDK root or presentation scope.
Opening Shop or Lobby directly returns to Login​
Expected without a signed-in session. Start from Login.
Mission scene stops at load​
The gameplay scene needs exactly one IProjectVGameplayDataConsumer. Check the
Console for the missing/multiple-consumer diagnostic.
Editor tools​
- Tools › SilverTiger › ProjectV SDK › Setup: creates or checks the SDK root and settings.
- Tools › SilverTiger › CrossSDK › SDK Debugger: timeline of every SDK action. It may show a dialog before scripts reload; close it to let the reload continue.
- Tools › SilverTiger › CrossSDK › Validate Unity Host: checks the SDK root in the open scene.
What to send the SDK team​
- the
com.silvertiger.projectvandcom.silvertiger.crosssdkversions; - Unity version and target platform;
- environment name and endpoint (never the server key of production, never credentials);
ProjectSettings/ProjectVSetupReport.json;- error
Code,CategoryandRequestId, and the Console summary of the failed action (itsreqandtracevalues; see Diagnostics); - minimal steps to reproduce.
Never attach session tokens, passwords, OAuth secrets or raw payloads.