Steam Achievements Cache Success But Not Unlocking

Hello,

I would appreciate anyone’s help on this as I have been at it for three weeks and still am not any closer to succeeding. I followed every single tutorial and forum post I could find, but I still cannot get a single steam achievement to unlock. The steam overlay is working, and it is connecting to my game, but the achievement simply won’t unlock despite the fact that the cache achievements node is returning success.

I have tried using the steam test app of 480 and get the same behavior, so I’m really stumped as to what could be going wrong. Also, the number of achievements show up perfectly well in the steam overlay, but the achievement images don’t appear (not sure if that’s normal). I’m using UE 4.26 and Steamworks v147.

Here’s my setup for everything:

348116-inkedscreenshot-20210906-122810-li.jpg

Any help would be so greatly appreciated as I’m losing my mind a bit trying to figure out this important feature. C++ or blueprint solution is fine, if it is a matter of code.

1 Like

Thank the good Lord! I finally fixed it.

When following one of the tutorials, I was told to add this line in the build target cs file:

DynamicallyLoadedModuleNames.Add("OnlineSubsystemSteam");

Just commenting that line out solved the issue! Note for those who may stumble across this:

If you are in UE4.26+, don’t bother doing anything crazy, don’t download the steamworks sdk. Literally all you need to do is enable the steam online subsystem plugin, use the appropriate blueprints nodes, and add this to your defaultengine.ini file:

[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

[OnlineSubsystem]
DefaultPlatformService=Steam

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=YOUR_APP_ID
bRelaunchInSteam=false
Achievement_0_Id="YOUR_STEAM_ACH_NAME1"
Achievement_1_Id="YOUR_STEAM_ACH_NAME2"
Achievement_2_Id="YOUR_STEAM_ACH_NAME3"



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

Hey you, looking for answer here. You might be asking “I did everything exactly like in the tutorials and like him, then why is not working?” well, I spent OVER HOURS like that. Here what solve my problem and could be your solution

You know on the DefautEngine ini file? Where you write your achievements? Exactly. Remove your quote marks, just do it. It solve my problem INSTANTLY.
Instead of:
Achievement_0_Id=“ACH_01”

DO THIS
Achievement_0_Id=ACH_01

Just remove it and it might work for you. Worked for me and I’m so happy.

4 Likes

Thank you! I’ve been trying to figure this out for hours and that fixed it instantly!

1 Like

+1 This solved it for me as well! Thank you for posting this!

1 Like

Really thank you man! I wasn’t finding this answer anywhere.

you are a legend man

Hey! This only worked for me inside of unreal engine. But not while playing inside of steam. Any ideas?

I’m having this exact issue right now. Did you manage to find a solution?

Edit: Found the solution. Had forgotten to add

[/script/engine.gameengine]
+NetDriverDefinitions=DefName=“GameNetDriver”,DriverClassName=“OnlineSubsystemSteam.SteamNetDriver”,DriverClassNameFallback=“OnlineSubsystemUtils.IpNetDriver”)

in my WindowsEngine.ini

1 Like