Quick answer: Verify user is signed in with a NP account, trophy pack matches the sandbox environment, and trophy ID matches TROPCONF.SFM. Check SCE error codes from sceNpTrophyUnlockTrophy.
A PS5 game calls sceNpTrophyUnlockTrophy on quest completion. Return code 0 (success), but no trophy notification appears, and the trophy view shows it still locked. Silent failure somewhere upstream.
Trophy Unlock Prerequisites
- Signed-in PSN user (not guest).
- Trophy context created via sceNpTrophyCreateContext.
- Trophy handle created and trophy pack registered.
- Network reachable (offline unlocks sync later).
Sandbox Mismatch
Dev kits run in a Sandbox NP environment (sp-int, prod-qa, etc.). Your trophy pack must be uploaded to the matching env via Sony’s submission portal. Pack uploaded to sp-int + dev kit on prod-qa = silent failure.
The Code
SceNpTrophyContext context;
SceNpTrophyHandle handle;
sceNpTrophyCreateContext(&context, &commId, nullptr, 0);
sceNpTrophyCreateHandle(&handle);
sceNpTrophyRegisterContext(context, handle, 0);
SceNpTrophyId platinum = SCE_NP_TROPHY_INVALID_TROPHY_ID;
int ret = sceNpTrophyUnlockTrophy(context, handle, trophyId, &platinum);
if (ret < 0) {
SCE_LOG_ERROR("Trophy unlock failed: 0x%x", ret);
}
Check return value carefully. Codes like SCE_NP_TROPHY_ERROR_NOT_REGISTERED, SCE_NP_TROPHY_ERROR_ALREADY_UNLOCKED, SCE_NP_TROPHY_ERROR_INVALID_TROPHY_ID each have specific meanings.
Common Error Codes
SCE_NP_TROPHY_ERROR_ALREADY_UNLOCKED: already done. Treat as success.SCE_NP_TROPHY_ERROR_INVALID_TROPHY_ID: ID not in TROPCONF.SCE_NP_TROPHY_ERROR_USER_NOT_FOUND: no signed-in user.SCE_NP_TROPHY_ERROR_NOT_REGISTERED: trophy pack registration failed.
Verifying
Sign in with a dev account. Trigger the unlock. PS5 should display the trophy banner with bronze/silver/gold animation. Profile → Trophies shows it unlocked with date. Test offline + reconnection too.
“Trophy unlock is a chain: signed-in user, registered pack, valid ID, environment match. Break the chain anywhere, no banner.”
For TRC compliance, ensure platinum auto-unlock when all other trophies unlocked — Sony’s test will check this.