Launchers
Launchers Overview
A launcher is a desktop application that manages the installation, updating, and maintenance of a game or application. It also handles authentication and collects usage data. The launcher is one of the most important functionalities of PatchKit, providing a seamless experience for both users and developers.
PatchKit Launchers
PatchKit offers several types of launchers. Not all are available for every application, and some may require manual building.
Basic | SDK Launcher | Visual Editor Launcher | Android Launcher | |
---|---|---|---|---|
Sometimes also referred to as… | Unity-based, default | Electron-based | Electron-based, visual editor | Android-based |
Technology | Unity UI | Electron, based on PatchKit SDK | Electron, customizable by PatchKit Visual Editor | Flutter |
Operating System | Windows, macOS, Linux | Windows, macOS, Linux | Windows, macOS, Linux | Android |
Initial Size | ~30 MB | ~80 MB | ~80 MB | ~20 MB |
Customization | Through Unity Editor | Through SDK | Through Visual Editor | By code |
Self-Upgradeable | Using the Runner | Yes, by self | Using the Runner | Yes, by self |
Availability | Automatically built for all apps | Needs to be built with the SDK | Available for all apps when the Visual Editor is used | Built on request |
HTML5 Support | No | Yes | No | Yes (Flutter) |
Multiple Games Support | No | Yes | No | Yes |
Performance | May be slow for large applications (>10 GB) | Fast* | Fast* | Fast* |
Web2 Authentication | Yes (license keys and external) | Yes | No | Yes |
Web3 Authentication | No | Yes (uses Chrome extensions) | No | Yes |
Embedded Installer | No (deployed as a zip file, can be embedded in an installer) | Yes | No (deployed as a zip file, can be embedded in an installer) | Yes (APK file) |
* - These launchers include various optimizations that can be enabled or disabled, but most require a request and are not enabled by default. If you experience performance issues, please contact us.
Which launcher is best for me? The choice of launcher depends on your specific needs. All launchers can be used with any application, regardless of the game engine. If you’re unsure which one to choose, we recommend scheduling a demo call with our team. This will give you the opportunity to discuss your needs and get personalized advice. Click here to schedule a demo call.
Acquiring the Launcher
By default, you can click on the Get Launcher button on your application page to download the launcher to your computer. If there’s a separate launcher application (such as the SDK-based launcher or Android Launcher), navigate to that launcher’s page to download it using the download button.
The Basic launcher is built automatically for each application that has at least one published version. You can download it by navigating to your application page and clicking on the Get Launcher button.
Basic Launcher
Customization
For the Basic (Unity) launcher, you can freely customize it by downloading the source code from the GitHub repository and opening it in the Unity editor. You must use Unity Editor version 2018.4.x. You can download it from Unity Hub.
Perform all customization in the Patcher scene. Ensure you copy it and make modifications to the new copy. Otherwise, upgrading your launcher to the latest release from the source code may be challenging.
To build it, select Tools / Build / PLATFORM from the main menu, where PLATFORM is your platform of choice.
Do not build the launcher using the File menu. This could exclude the required manifest file from the target directory and result in a broken build.
Uploading
After building your customized launcher, upload it to your PatchKit account:
- Navigate to the publisher panel applications page.
- Click the New Application button, then choose New Launcher from the popup.
- Name your launcher in the new application form (e.g.,
My Launcher Windows 64
) and click Create. Your new application should now be visible. - Click the New Version button.
- Set the new version Label to, for example,
1.0
. - Click the Upload Content button.
- Compress the launcher’s directory into a zip file. Ensure the patcher.manifest file is located next to the launcher executable.
- Select the newly created zip file as your application content.
- Wait for the upload and version processing to finish.
- If there are no errors, click the Publish button.
- After publishing, navigate to your game’s page.
- In the Configuration panel, look for the Custom Launcher field. Click the Edit button next to it.
- From the dropdown, select your new launcher.
- Click the Save button.
Your game will now use your custom launcher instead of the default one.
Performance
The basic Unity Launcher is optimized for games up to 10 GB in size. For larger games, we recommend using the SDK Launcher or Visual Editor Launcher.
Troubleshooting
To troubleshoot the Unity-based launcher:
- Try following the steps on the Troubleshooting page.
- Contact our support team by creating a support ticket.
In both cases, it’s important to provide logs and the launcher’s version. Here are instructions on how to retrieve them.
Getting the Logs
To retrieve logs for troubleshooting the Unity-based launcher, access them in the following locations depending on the operating system:
- Press CTRL+SHIFT+D in the launcher window, then select Open Launcher log file location.
- Navigate to the following locations:
Windows
C:\Users\USERNAME\AppData\LocalLow\UpSoft\PatchKit Patcher\output_log.txt
GNU/Linux
~/.config/unity3d/UpSoft/PatchKit Patcher/Player.log
Mac OSX
~/Library/Logs/Unity/Player.log
If you’ve changed the Company Name and Product Name in the launcher settings, the log file location may differ. Refer to Unity’s documentation for more information.
Finding the Installed Version
To find the version of the installed Unity-based launcher:
- Locate the launcher log file (
output_log.txt
orPlayer.log
). - Open the log file.
- Find the version number in the first lines of the log file. It should look similar to this:
2022-03-16 11:12:01.154 +01:00 [ DEBUG ] <Patcher::Awake> patchkit-patcher-unity: v3.17.11.0
SDK Launcher
The SDK launcher can be customized using PatchKit’s Electron Launcher SDK.
Customization
To customize the SDK launcher, you need to use the SDK.
Performance
The SDK launcher is optimized for games of any size as it’s based on a streamed-installation algorhtm. There are some tips to follow to ensure the best performance:
- Optimize the numbers - The launcher works best with files that are not too small or too large. Too small files means that (at least on Windows), the launcher will spend a significant amount of time on file operations due to Windows file system limitations and hooking behavior. Too large files will cause the launcher to rewrite all of them even on a small update.
- Do not compress files - PatchKit takes care of compressing files on the server side. Compressing files on the client side will cause the binary diff algorithm to fail to work properly.
- Use the right delta binary algorithm - The launcher can use more than one binary delta algorithms. If you experience any excessive patching times, please contact us to review your case and possibly switch to a different algorithm.
Visual Editor Launcher
This feature is currently in beta. If you encounter any issues, please contact us.
Currently, only Windows and Mac games are supported. Support for Linux will be added in the coming weeks.
The PatchKit Launcher Visual Editor is a tool that allows you to customize the launcher without needing to write code. It’s available for all PatchKit users and can be accessed from the PatchKit Dashboard by clicking the Launcher Themes link in the left sidebar.
To create a new editor theme:
- Click the New Launcher Theme button.
- Click the Create Editor Theme button.
- Click the Open in Editor button.
Interface Basics
The visual editor is divided into several sections:
- A left toolbar that includes tools like Element Tree, Assets, Window settings, and all the elements that can be added to the theme.
- A right properties bar that allows you to change the properties of selected elements.
- A bottom states bar that lets you switch between different launcher states and define in which states the currently selected element should be visible.
- The main canvas where you can preview your theme.
Saving the Theme
When you’re finished working on your theme, select File -> Save to create a new version of the theme. You can view and revert to any of your past versions by selecting File -> Version History from the main menu.
Once the version is saved, navigate back to the theme page on the PatchKit Dashboard and associate it with your launcher app. Click the Assign button and choose your game from the list.
Download and run the launcher from your game’s page. When assigned, it should display your new theme in action.
Once assigned, your game will always use the latest version of the theme.
Android Launcher
The Android launcher is a Flutter-based launcher that can be used with Android games. It’s available on request. If you’re interested in using it, please contact us.
FAQ
Can I use the visual editor with a launcher created with the SDK?
No. The Visual Editor is designed to quickly create a launcher theme without needing to write any code. If you wish to use the SDK, you’ll need to create the theme manually using HTML, CSS, and JavaScript.
Can I use the visual editor with a Unity launcher?
No. The Visual Editor is built for the Electron-based launcher.
What happens if I delete a theme version?
If you delete the latest version, the launcher will revert to the previous version. If there’s no earlier version, the launcher will use the default theme.
My game is currently using a Unity (default or custom) launcher. How can I migrate?
Simply choosing a theme for your game application will prompt it to download the Electron launcher in place of the Unity launcher. If something goes wrong, you can easily switch back to your Unity launcher.
I’m missing a feature…
Please contact us and let us know which feature you’re missing. We’re constantly working on improving the visual editor, and your feedback is crucial to us.