Skip to main content

Release checklist

Go through this list after every SDK update and before every player build.

Packages​

  • com.silvertiger.projectv and com.silvertiger.crosssdk point at GameStudio3/SDK-Packages with a release tag (#projectv/<version>, #shared/<version>), and the path version matches the tag.
  • The com.silvertiger.crosssdk version is the one com.silvertiger.projectv asks for.
  • packages-lock.json was regenerated by Unity and committed with manifest.json.
  • No SDK package points at a branch, a file: path or a local folder.

Unity setup​

  • Unity 6000.3.20f1; packages resolve and scripts compile without errors.
  • ProjectVSetupReport.json is valid with exactly one SDK root.
  • ProjectVSettings targets the intended environment; production uses an HTTPS endpoint that is not localhost.
  • No password, token or OAuth secret is saved in assets, scenes or logs.
  • Android builds are signed with the keystore registered for Google sign-in.

Game code​

  • Screens use screen contracts, or presenters where there is none.
  • No game code uses Nakama or SilverTiger.CrossSDK.* types.
  • Login and other scenes derive from the SDK scene-scope base classes.
  • Every gameplay scene has exactly one IProjectVGameplayDataConsumer.
  • Every page disposes its observation and cancels its token on close.
  • UI never calculates balances, stamina, rewards, costs, locks, stars or purchase results.

Play test​

  • A cold start shows Login, or restores the saved session.
  • Guest (and every other enabled login) reaches the Lobby.
  • Opening a signed-in scene directly goes back to Login.
  • Lobby, Header, Character, Alliance, Shop and Campaign show live data and keep showing it when the network drops.
  • A fast double tap on any command sends it once.
  • A mission can be started, played and settled: win, lose and give up.
  • Logout and account deletion return to Login with no data from the previous account.

Evidence​

  • EditMode and PlayMode tests pass with the pinned SDK version.
  • Android/iOS login and IAP were tested when in scope, or recorded as not tested with an owner.
  • The build record names the Unity version, the SDK version and the backend environment.

Do not mark an integration done when a check was skipped; record it as not done, with an owner and the next step.