[Tutorial] Steam Achievements

Hi,

Just wanted to post this because it might help someone. It is mostly only useful to people who have been greenlit on Steam, but can also be of interest to those who are considering whether to apply to Steam or not. This tutorial shows how easy it is to add Steam achievements to your Unreal game.

Adding Steam Online Subsystem

  1. Go to https://partner.steamgames.com/ and download Steamworks SDK

  2. Follow the official tutorial at Online Subsystem Steam Interface in Unreal Engine | Unreal Engine 5.3 Documentation

  3. Close and re-open your project

  4. Steam doesn’t work from within editor, launch a standalone game (Play -> Standalone) to test. If everything works fine, you will see a Steam icon in the lower right corner and Steam overlay will appear if you press Shift-Tab.

Achievements

  1. You will need a game that has been greenlit on Steam to fully use Steam Achievements, but you can test some of the functionality right away by using the Space War demo app id.

  2. (only if you have been greenlit) Go to your Game Admin page and set up the achievements.

  3. in your game’s DefaultEngine.ini under [OnlineSubsystemSteam] add your achievements like this:
    Achievement_0_Id=“ACH_WIN_ONE_GAME”
    Achievement_1_Id=“ACH_WIN_100_GAMES”
    Achievement_2_Id=“ACH_TRAVEL_FAR_ACCUM”

  4. In your blueprints, create these two nodes:

In the “Write Achievement Progress” node replace ACH_TRAVEL_FAR_ACCUM with the name of your achievement and replace 100 with the amount of progress you wish to grant the player.

That’s all :slight_smile: It should unlock the achievement at the start of the game.

P.S. This guide was written in 2015. In 2023, there’s been some changes, see this post: [Tutorial] Steam Achievements - #58 by LordMaddogs

18 Likes

Very useful thanks!

Awesome, a Steam related tutorial! (:
Thanks alot!

We need more of this kind!

Thanks alot for the Steam related tutorial. Was wondering how to add Steam Achievements within UE4.

Awesome info…Thanks for sharing…

pretty cool, thanks for sharing.

This is really cool!

Any idea on how to get achievement system without Steam?

I guess that depens on your game. If you have a simple Single Player game it might be possible to have
a class that manages the Achievements and just pops up a UMG Widget with the Information when it’s
completed.

For a Multiplayer game i can’t tell. You might need Accounts and a Database to track everything, but
that’s out of my league.

Its a multiplayer game actually. :slight_smile:

As you said, for a singleplayer game its easy with an achievement class but not sure about multiplayer.

As Omni on the HUB already said, that will be alot of work.
If these Achievements should be stored out of the players reach
you really need a database server etc.

Why can’t you use Steam? :smiley: I would always recommened to use Steam
for these kind of things. It will save you so much time because you
don’t have to think about all this stuff and just concentrate on your game.

Look how easy it is to add the Achievements.

Well…Steam is nice of course but we need to submit our game to Greenlight…right?

Yes, but not for testing, you can do nearly everything with the Standard 480 SteamAppID. You can’t add your custom Achievements though until
your Game is Greenlit, but as long as you know where you want to add them, you can prepare everything and just add them later
in the Steamworks page that you can see above. You can even add all of this in you game, because it is done with the 2 Nodes CodeSpartan showed.

So just set everything up and when your game is Greenlit you Add the Achievements to Steam. I don’t think this is a bad deal, is it? :smiley:

Awesome! Thanks for the info eXi! :D.

Haha no not at all…In fact i like to see my game on Steam. :smiley:

Thank you very much, really awesome!

No problem (: Is it true, that the Online Subsystem is available through Blueprints in 4.6?
Because i would love to make some basic tutorials and i gave up on the C++ Code for
the Subsystems. The ShooterGame is way to complicated for a C++ beginner like i am :smiley:

Yeah once you have Steamworks activated it shouldn’t be too hard to use the Online Subsystem via BP in 4.6+.
Actually I see getting greenlit as the harder challenge in this case… we’ll see. ^^

Exactly :slight_smile:

About getting greenlit, steam makes it easier and easier with time. Recently people are actually already complaining a little bit about the fact that it’s so easy to get on steam. So I suppose that if you have a nice game, you will get greenlit without problems.

Hi there,

It’s impressive how simple it’s to perform success steam.
There is a limit to the number of success?

Now I’d like to see how to for card/badges.

Thank you

Thank you for this thread.
Is there a tutorial or documentation on how to create a multiplayer U4 FPS game specifically for Steam Greenlight?
The whole process A - Z.
Is it as simple as just sending them the .exe?
Thank you.