GameMaker Companion is a cross-platform companion application and a Discord Rich Presence module for GameMaker series of game engines. It is a small application that can run in background to provide features useful to a GameMaker developer and supply a profile currently logged in Discord application with information specific to GameMaker while it is running:
It is a standalone application and does not interact with GameMaker itself. Information it gathers comes from the process list and window title of GameMaker IDE supplied by the operating system.
Made using .NET 8.0. and Avalonia UI, programmed solely in C#.
● Supported on Windows, macOS and Linux.
● Communicates with Discord API to supply the profile with Rich Presence:
• Displays current GameMaker session time and names of opened projects or the number of them, depending on configuration.
• Supports legacy and beta versions of GameMaker series of game engines.
• Includes information about whether the GameMaker IDE is currently executing its application. Applicable only when it has only one project is open.
● Creates an icon in system tray to provide configuration and additional tools:
• Configurable to start automatically when current user is logged into the operating system and to remove the icon from system tray.
• Provides a menu with shortcuts to main pages on GameMaker websites.
• Creates a notification displaying the total uptime time of GameMaker while this application was running.
Method of requesting the display is subject to cross-platform differences:
→ Windows: Single left-clicking on the icon in system tray.
→ macOS: Single-clicking an entry with subsidiary entries in system tray icon menu.
→ Linux: Double left-clicking on the icon in system tray.
GameMaker Companion is supported on Windows 10, macOS 12 Monterey, Linux Ubuntu 20.04 and later versions of these operating systems. While it may be able to launch on other systems of these platforms, they are not explicitly supported and some features might not work in effect of that. Also note that:
• This application is designed for default setups and default interface shells of above operating systems.
• Following permissions are required within the executing operating system for this application to work properly: File access, Internet connection, access to process information (part of "Screen Recording" permission in macOS), autostart and notification creation.
• While releases for processor architectures other than x64 are available, they are experimental and not explicitly supported.
Initialization is performed by following steps specific to each platform.
.7z
archive file with the release for processor architecture of the machine meant to execute GameMaker Companion..7z
file for the other architecture.GameMaker Companion.exe
from the location it was extracted to. The application should create an icon in system tray and Discord Rich Presence should be set when Discord and GameMaker IDE applications are running.GameMaker Companion.exe
file through Command Line and proceed by error messages output in it..dmg
image file with the release for processor architecture of the machine meant to execute GameMaker Companion..dmg
file for the other architecture..dmg
file by double-clicking it. It will display an icon for GameMaker Companion Application Bundle and a shortcut to the "Applications" folder. Extract GameMaker Companion Application Bundle by clicking and holding its icon to drag it to the "Applications" folder.GameMaker Companion
Application Bundle from the location it was extracted to. The application should create an icon in system tray and Discord Rich Presence should be set when Discord and GameMaker IDE applications are running.GameMaker Companion
file is not executable or executes as text file: Execute the following command in Terminal: chmod +x <path>
, where <path>
is the path of the GameMaker Companion
file. That file can be dragged into the Terminal to fill its path automatically.GameMaker Companion
file through Terminal and proceed by error messages output in it..tar.gz
archive file with the release for processor architecture of the machine meant to execute GameMaker Companion..tar.gz
file for other architecture.xdotool
, necessary for this application to access window titles, by executing the following command in Terminal: sudo apt-get install xdotool
GameMaker Companion
file from the location it was extracted to. The application should create an icon in system tray and Discord Rich Presence should be set when Discord and GameMaker IDE applications are running.GameMaker Companion
file is not executable: Execute the following command in Terminal: chmod +x <path>
, where <path>
is the path of the GameMaker Companion
file. That file can be dragged into the Terminal to fill its path automatically.chmod +x
on it: Execute it through Terminal. Autostart can be then set up for this application to launch automatically without use of Terminal.GameMaker Companion
file through Terminal and proceed by error messages output in it.Created, documented and maintained by Mtax.
Special thanks to creators and maintainers of dependencies used in this project:
● discord-rpc-csharp
● Avalonia UI
● xdotool
Special thanks to lithiumtoast for help in making the macOS port possible and for creating an example repository from which parts of code contained in this project were adapted.
GameMaker series of software, their logos and web resources are properties of YoYo Games.
Discord is a property of Discord Inc.
This is a free and open-source third-party project, not affiliated with either of them.
This application performs connections to Discord servers via their API, solely to facilitate Discord Rich Presence.
GameMaker Companion was previously named GMS2_RPC.