You find yourself in a situation where your game needs a launcher. You start your web browser and google “how to create a game launcher” to learn your options. You find some, but which one is the best? Based on my experience, allow me to get you through available options. I hope you find it a good resource for making your decision!
I need you to ask yourself what you expect from your launcher. Here are some question examples:
As you have the answers to all these questions, it would be much easier to decide. Let’s begin!
This one could be the most obvious - if you need something, build it! As easy as it sounds, it depends on your needs. If you need your launcher to do network operations, be prepared for a whoopin’. If you need to manage your installation content on the hard drive - now you’re wasted.
Why is it hard to manage network and hard disk operations? Primarily because of failures and a proper way to deal with those. Without the appropriate failure management, your launcher might work fine 95% of the time, but that remaining 5% may suck the blood of your life on your support center and Metacritic.
Technologies to consider:
Another way is to purchase a launcher (or a license to use a launcher) and customize it to your needs. It might still need some effort, like learning new technologies and tools. Still, you get something already tested with probably many users, and all you need to do is fit it to your requirements.
Let’s try running over some examples.
Unity game engine is well-suitable for creating a launcher. It’s because it’s based on Mono (free .NET implementation), allowing you to access the network and the filesystem as you like. Besides that, the Unity editor is pretty easy to use when it comes to interface design. Still, it requires some training.
Some well-known assets from the Unity Asset Store:
An interesting case is Game Launcher Creator, which is not written in Unity; it’s the only solution of this kind I’ve found out. It features a UI editor, networking, and content management features. It might be a good solution to start with. If it comes to distribution, it’s your responsibility, thus you receive a set of tools for your convenience.
The last type is launcher as a service. These launchers are usually backed up by a web service that allows configuration and management of most of the launcher-related tasks from the web browser. This includes game version publishing, user management, and purchases.
Some well-known examples:
In this article, I’ve taken the challenge of collecting the options of creating your own game launcher. As you can see, it mostly depends on your current needs and the amount of money you can spend. Each of the options has its pros and cons, and definitely, there’s no way to pinpoint a single solution as the best one. Yet, there’s an observable pattern that more expensive solutions tend to bring more to the table.