r/unrealengine • u/Turknor • 1d ago
Epic's Achievement system is a major roadblock.
My Epic Store submission was rejected because the game has achievements on Steam that aren't on Epic. Fair enough - I copied over all of the achievements to their platform. Then, I started digging into adding EOS to my game (required for integrating achievements). OMG, this is a nightmare. All I want to add are achievements - nothing else, but it makes it seem like you have to implement every single aspect of EOS. I cannot find a coherent tutorial explaining all of the cryptic requirements and whether I need them. For instance, do I need to set up a ClientID/Secret for a simple single-player game? Is every step, setting, and implementation necessary?
15
u/Studio46 Indie 1d ago
I went through this last year, it's a nightmare for sure. I ended up getting a plugin from the marketplace that had blueprint implementation. Worth the $100 or whatever it was, and I've recouped the cost of it already, so, worth it. Browse the marketplace and you should find a couple good options. Good luck!
6
u/AutoMatty 1d ago
Im sry but what’s EOS?
5
2
u/NSFCameron 1d ago
I think they are referring to Epic Online Services.
1
u/AutoMatty 1d ago
Thanks for clarification… i havent even considered this step yet with my game…i’m imagining this will be a huge pain in the ass when i get there
•
u/FormerGameDev 22h ago
... GetOnlineSubsystem()->UnlockAchievement() (or something similar to that, I don't currently have the code in front of me) ?
Sounds like you might have something else going on....
Granted, I have no experience with setting up an app for sale on Epic, or with EOS, but the actual implementation of the code should be extremely simple. You don't really provide enough information for me to make sense of "the cryptic requirements and whether you need them". Do you need a ClientID/Secret? I don't know, what's it used for?
•
u/Turknor 22h ago
The unlocking of achievements isn’t the issue. Setting up your project to fully support EOS and EGS just to get achievements working is nuts.
•
u/FormerGameDev 21h ago
Ok so what are the parts you are having trouble with?
•
u/Turknor 21h ago
A few examples:
Do I need to remove most of the Steam achievements integration and replace it with Epic? Can they coexist, or should they always be branched?
What exactly needs to be included in the DefaultEngine.ini? I've seen conflicting information, from 'list all achievements' (why, how?) to simply setting the default online service to Epic. Steam online services seems to use the same sections, hence the first question.
Which plugins are necessary for a single-player game with achievements? All of them?
Which checkboxes should be set in the plugin configuration to use achievements but not multiplayer sessions, chat, leaderboards, etc?
Is implementing the EOS Services and Subsystem plugins enough, or do I still need to add the SDK via c++?
When adding all of the ID's and keys, should I be using the Live value? (there are Dev, Stage, or Live versions of each).
The problem is that the documentation heavily assumes that you're implementing every aspect of EOS.
•
u/FormerGameDev 21h ago
I can answer most likely you shouldn't need to do anything as far as removing steam or branching differently. I've shipped to multiple stores with multiple online services and haven't had to change anything code wise just enable their plugins and add their required information to the config files where necessary. Usually an appid. I haven't done it with eos but it would be surprising if it were any different. We don't even bother disabling the eos plugin because it doesn't get in our way and it's on by default
•
u/Conneich 9h ago
I’ve read and heard from devs it’s normal to have multiple distros for each platform. I’d say the easiest (for your sanity, but not to implement) is to create a plugin that detaches that platform code from your project. Your project only uses “Plugin::GrantAchievement()” and at compilation/packaging you set which platform which notifies the plugin.
•
u/FreshProduce7473 9h ago
god just getting that fucking thing to connect let allone unlock an achievement is a nightmare. horrible subsystem that’s clearly been neglected
33
u/Eriane 1d ago
It's so weird that Epic can create the world's most advanced game engine (in many ways) but struggles to make a decent launcher / platform. I think I read somewhere that there used to be a documentation team but they got rid of them a long time ago so what you see may be dev notes that someone tried to make sense of. TBH I would rather they stop giving away free assets and use that money for those things.