In 2026, what's the way to unlock achievements/set stats across Steam and Epic Games Store?

My goal, I thought, is simple: Ship my game on both Steam and the Epic Games Store with achievements, both direct-unlock and stat-based.

For Steam, I have wrested with the very questionable OnlineSubsystemSteam (List all achievements in the ini, okay if I must… But create a stat_stat for each stat, then go through the leaderboards API? What?), but finally ditched it. I am using it for auth only now, and am then going through the Steam C++ API directly. Not the path I envisioned, but after a day of pain trying to understand the system, this got things running in 30 minutes.

I am now thoroughly confused though how to handle the Epic Games Store side:

  1. OnlineSubsystemEOS feels heavily entangled with OnlineSubsystemEOSPlus, which is in being deprecated. Should I still be using it?
  2. If not, should I be using the OnlineServicesEOS? What does it do better than OnlineSubsystemEOS? Can I make it coexist with OnlineSubsystemSteam (though I’ll #define most code based on whether I’m building for EGS or Steam)?
  3. If not, should I be using the EOS SDK directly?
  4. I only want auth via the store, unlock achievements on the store. What is the way to disable as many shenanigans as possible? I need no oauth (does that mean I need no EAS?), no crossplay, no mirroring of one thing to another…
  5. Do I need to take care of any login, or will launching via EGS magically do this for me via command line? Should I just call login with empty credentials then?
  6. Could anyone explain the difference between EGS achievements and EOS achievements? I have tried reading the docs, and I honestly just don’t quite get why there’s two types.

Any insights, experience or hints are appreciated. If you know of a well-supported third-party plugin that can make this pain go away for auth, achievements, stats, I’d be very interested in that as well. I could not find one on Fab.

Thanks!
– Daerst