Letters & Legends - building for Steam and Epic



Letters & Legends has been an amazing learning experience in so many ways, but its biggest lessons came at the end of the process: when I wanted to finish the project and put it live for other people to play. This is how it happened – warning, slightly long post ahead!

When I created a game previously (Gravity Bomber – check it out!), I released it on Google Play and then, almost as an afterthought, on Itch.io. Google Play was always the plan, but at the time I found it difficult to navigate. I don’t have a computer science background; at least, not since school where I was doing well on a Computing A-Level and made the mistake of telling my teacher I wanted to make video games for a living.

“Don’t do that,” he said, “There’s no money in games.”

It should be noted that this was back in the 90s, when video gaming was properly exploding and there was a ton of money in games. I have never forgiven him, nor have I forgiven him for starting to teach us to program in C and then stopping it in favour of Microsoft Access, which he felt would be more useful to us in the long run.

Anyway, I digress.

Google Play was difficult to figure out with its different testing tracks, but not impossible – I do, after all, work as a games producer in my day job, albeit without necessarily going too deep into the technical side of development. Given that I had a newborn baby in the house and a full-time job, I then knocked together a quick PC build in Unity and flung it up on Itch.io and thought to myself, “I’ll do it properly next time.”

Fast forward 2 years, and I wanted to do it properly with Letters & Legends.

Steam is intimidating if you don’t know the lingo. There is a lot of talk about builds (fine, I understand them) and depots (I still don’t think I understand them), and all of the instructions seem to have been written by people who live and breathe Comp Sci for people who live and breathe Comp Sci. It is unforgiving, and there were several occasions where I would upload a build only to find out that the game would no longer load as it didn’t contain any files. A further week was lost while Steam validated my trader status.

So, like a madman, I thought it was the perfect opportunity to learn how to make achievements work.


To be fair, Steam has been around a while, so there are a lot of videos and tutorials around to help. This one, while it looks simplistic, was instrumental for getting my first build online. For achievements, I think I used Dapper Dino’s video, which was an excellent walk through the process.

Effectively, there are 2 types of achievement: achievements that unlock when you just do something in game, or achievements that unlock when you do something multiple times. The first type is easy – once you have achievements set up, you can just fire a command at the Steam API and it’ll unlock the achievement. For the second type, you need to use stats, which need to be set up in advance. But again, once you’ve got achievements up and running, there’s nothing too complicated here.

I did have one issue when I integrated the Steamworks Unity package – suddenly, my Android builds stopped working; the game wouldn’t even run in the editor, even when I thought I wasn’t talking to Steam. That required a bit of code to effectively block all the new achievements code when we weren’t playing on PC.

Steam has an excellent checklist to run through before you can make your game page live, and the last part for me was the marketing graphics game video. The graphics were easy – Steam provides a lot of Photoshop templates, so once you’ve figured out what you can and can’t put on the graphics it’s all quite easy. Meanwhile, I’ve scripted a lot of videos in my day job, but never got my hands dirty to make the actual video before – I’m quite proud of the result!

Once I had a page live on Steam, I got myself ready on Itch.io (which was easy – I recommend it to any new developer!) and on Google Play (which I’d been working on for a while anyway as I’d been using it for testing). And then I had a month to kill while all I did was tinker with the game, and I thought… “what about the Epic Games store?”.

So, here’s the thing. I like the Epic Games store a lot. And I found out that I like the back end of it as well – in many ways, it’s much more user friendly than Steam, although it does have its own language to learn (substitute “builds” and “depots” for “packages” and “artifacts”). But it is a lot newer than Steam, and the tools and tutorials are just… not there yet. Everything is written with not only the perspective that you know what everything means, but also that you are using the Unreal Engine. Uploading your game is done from the command prompt and requires you to find about 5 different secret keys from around your account. And achievements…

Epic has a rule. If the game has achievements on any other store (ie, Steam), then it has to have the same achievements on Epic, which I guess is fair enough. But they are built slightly differently, and the API broke Unity for me in a few ways (not least it messed with my Android compatibility again), and worst of all: no one has made any tutorials on how to make achievements yet. Well, no one apart from this guy, who has made an excellent video. Do note that his video doesn’t cover stats-based achievements, and I have made a better version of his EOSUnlockAchievement script here to update stats.


The real problem with Epic, though, is their review process. Like Steam, they have a checklist, but unlike Steam, they don’t really show you what it is. I had to remake all the marketing assets because, while they use the same types of graphics, they’re all at slightly different sizes to Steam (and they don’t provide templates). But the real killer was when I told Epic I was ready for review.

In theory, what happens is that they go through all your assets and files, presumably with a checklist. What happens is that your game goes into a black box for 3 working days, and then comes out with 1 or 2 notes of things that need changing. So, you fix those and send for re-re-review, and then it takes another 2-3 working days and comes out with some different notes.

This happened about 5-6 times. At one point, I had to make an adjustment to a single dropdown on the Epic store, but because I didn’t change the game itself I couldn’t even send back to re-review. It’s a frustrating process, not least because you get the sense that they literally stop going through the invisible checklist when they find even a minor issue, and so you never know if there will be further issues when you send it back.

And then, one sunny day, I sent it back for re-review and 20 minutes later they approved Letters & Legends.

So here we are, on the cusp of going live on 4 different game stores. Letters & Legends goes live on PC and Android this Friday, on 26 April 2024. You will be able to buy it on the Steam store, on the Epic Games store, on Itch.io, and on Google Play. Add to your wishlist today!

Get Letters & Legends

Buy Now$3.99 USD or more

Leave a comment

Log in with itch.io to leave a comment.