Unreal Apps Sketch

Indie video game development on Unreal.

Two years ago I started making a match three game in unreal Minimal Match Three. Here is exactly how that went.

Final design recording on device
Final design recording on device

I don’t have any development skills

I’m not an app developer or a video game developer, so making a game all by myself with Unreal was intimidating. I previously used the original unreal editor years ago to edit some maps, but this was a whole new ball game.

I can’t code, I can’t read C++ or understand Unreal’s visual scripting system called ‘blueprints’. I imagine many other indie developer are like this too — not developers but designers and entrepreneurs.

Luckily I do have one skill, design. So I started there.

Original designs
Original designs looked like posters

Starting with design mockups

I started with Sketch to do some design mockups, I usually use it for website design, but figured it would be ok for asset exports – which it was.

I designed the entire app before I made anything in Unreal. In fact I designed it twice over.

The first designs had were just menus and nice posters, I wanted to look like a 60’s minimalist movie poster you could move.

Original design that got cut, inspired the final design layouts
Designs for iPad and desktop layouts

Unreal or Unity

I installed the latest version of Unreal for Mac. I also installed Unity and tested both. I actually preferred Unity as you can add any script to any object a concept that makes a lot of sense.

I picked Unreal for my app because I wanted to make a more complex first person game later down the track, so I thought this will be easy and get me into the software…two years later I don’t regret choosing Unreal.

Getting it working

I used version 4.17.2 of Unreal and version 9.0.1 of Xcode. I would find out versions matter:

  • Not all versions can open or build all assets on the Marketplace. In fact it’s so bad your lucky if assets work at all-even if they say they do and you have already paid for them. The same is true is of Unity. So try building as soon download any assets.
  • You might have to use an earlier version of Unreal as assets you have won’t work on the latest version. But then your version might not work with the latest version of Xcode.
  • Xcode might not work with your version of Unreal. In fact, Xcode never seems to work with your version of Unreal 🤷‍♂️.
  • Xcode might not build for the latest version of iOS, you will need to update Xcode or build for an outdated iOS.
  • Apple store may not accept your app for a bunch of reasons you won’t understand.

Recognise a pattern? Nothing seems to work first time, so build everything all the way to the device and upload to the App Store and test on your device through TestFlight Apples testing app.

Build as soon as you can, and never ever update you software, otherwise everything will break.

Here is an example: As of today, Apple will not accept my builds in Xcode 9.0.1 as it don’t build for the latest iOS, so I need to update Xcode, when I do Unreal breaks, so I need to update that. When Unreal updates it does not build the app as the integration with Xcode and the engine code breaks. So I can leave the app as it is, or spends months fixing errors hoping it will build again…this is not great.

It will save you months of endless error codes and googling old forums for help by building often. And you guessed it, the help you do find will be for another version or Unreal and won’t work for you 👨‍💻.

Get your app on a device, fast

Build early and test often, not for user testing just for compatibility! And never change the setting or update anything.

I got a prototype built fast. This was great and I totally recommend it.

It looked almost like the finial game.

Responsive app development, design on left, screenshots on right

I thought I was done. That was a year ago. Between fixing compatibility issues and exporting assets another year disappeared.

Creating assets

I started with working late nights, then on the train, then after work. Exporting screen after screen. It was exhausting and…fantastic fun.

Automate what you can:

  • Making assets is fun.
  • Exporting, naming and importing is not fun, try to automate this step.
Asset for level Modulator, this would later be recoloured to yellow
All the assets for each level
Re-colouring levels into stages with shared colour palette

Fixing errors

I’ve covered compatibility issues so I’ll just talk about Unreal errors.

Unreal errors make no sense. They have little to tell you what’s going wrong and mostly occur when exporting or building for iOS, so they are engine related errors. This is not great. So build very early on all the way to the device.

The errors that you can fix are the Blueprint errors. They tell you what’s wrong and it’s usually your own fault and so you can be sure you can fix them. The best part is, it’s almost fun, as it’s a visual coding interface. I didn’t hand code anything on the project so this was a very positive experience.

Example or my latest error (if you know why this is happening please reach out 😂 ):

UATHelper: Packaging (iOS): UnrealBuildTool: /Users/Shared/Epic Games/UE_4.17/Engine/Source/Runtime/CoreUObject/Public/UObject/UnrealType.h:3786:47: error: lambda capture ‘LocalSetLayoutForCapture’ is not used [-Werror,-Wunused-lambda-capture]
So many errors, so little time to fix them all
Blueprint for score and colour, this looks more complex then it is, I just had a lot of levels
Recolouring in Unreal, using sRGB

The Apple App Store

To get there you just build you app, upload it to the store and add a lot of information.

As I don’t live in the America it’s a little harder as you have to agree to things that don’t make sense or apply to you or your country. But the real time commitment comes with producing assets.

Here is what you need:

  • A description, this is the hardest part. After the 100 form fields it takes to get to this point it feels very difficult. So write it beforehand.
  • A set of screenshots for each size of iPhone and iPad.
  • A video for each size of iPhone and iPad

Everything else you will be able to do as you go, it’s the description and assets that take a long time. So take the time to get them right.

The verdict

Compatibility is a major issue, and not upgrading your software for months or years at a time can be frustrating.

I’ve decided not to use Unreal again. Mostly because of Xcode and Unreal compatibility don’t seem to update at the same rate or time.

I’ve uninstalled all my versions Unreal, and Xcode. Each version takes up serious hard drive space and the given stress of making the software work, it was a pleasure to uninstall them.

My game Minimal Match Three is on the App Store, however I can’t update it, as Xcode 9 can not be used anymore and updating breaking everything. So for now it’s stuck in its current version.

In retrospect I loved using Unreal. I like the interface and using visual coding with Blueprints is fantastic. I think I’ll go back to Unreal when I do start my first person game, but for now I’m moving on to other tools for my next game, let’s hope it takes less then two years!

Many articles.

Live, learn, focus.

Most read

Popular Topics

Read all articles