Steam Achievements Always Fail in Standalone

Hey there,

I see the Steam overlay appear when I run on standalone, however, whenever I attempt to cache achievements, it always fails.

Achievements worked without issue for my release on 4.15, but I’m running into issues with my existing code on 4.18. I’ve replicated this in a blank third person template project. I’ve followed the [Unreal tutorial for Steam achievements][1].

Here’s my blueprint that I’m running for the character.

And the results in standalone. When I run in PIE, the write is successful, but I don’t see the achievement trigger (which is unsurprising, I haven’t seen them work in PIE before).

Here’s my DefaultEngine.ini, setup for Spacewar.

[URL]
GameName=MyProject

[/Script/EngineSettings.GameMapsSettings]
EditorStartupMap=/Game/ThirdPersonBP/Maps/ThirdPersonExampleMap
GameDefaultMap=/Game/ThirdPersonBP/Maps/ThirdPersonExampleMap
TransitionMap=
bUseSplitscreen=True
TwoPlayerSplitscreenLayout=Horizontal
ThreePlayerSplitscreenLayout=FavorTop
GlobalDefaultGameMode=/Game/ThirdPersonBP/Blueprints/ThirdPersonGameMode.ThirdPersonGameMode_C
GlobalDefaultServerGameMode=None

[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
 
[OnlineSubsystem]
DefaultPlatformService=Steam
Achievement_0_Id="ACH_WIN_ONE_GAME"
Achievement_1_Id="ACH_WIN_100_GAMES"
Achievement_2_Id="ACH_TRAVEL_FAR_ACCUM"

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
SteamAppId=480

[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"    

Thank you for looking at my issue—Any help would be greatly appreciated.

I went through the same setup steps on another machine and managed to get things working successfully. The issue was that I had put the achievements under [OnlineSubsystem] versus [OnlineSubsystemSteam]

Here’s the important bit in DefaultEngine.ini:

[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")
  
[OnlineSubsystem]
DefaultPlatformService=Steam
 
[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
SteamAppId=480
Achievement_0_Id="ACH_WIN_ONE_GAME"
Achievement_1_Id="ACH_WIN_100_GAMES"
Achievement_2_Id="ACH_TRAVEL_FAR_ACCUM"
 
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"
2 Likes

Why the Doc have no this part?

2024 here! Still relevant and important. This was driving me insane - thanks for posting the solution!