

True to its promise, Galaxy 2.0 is a flexible system that integrates the libraries of most PC platforms, and even a couple of console ones. The Luxury Of A Single Library Is Undeniable It shows promise, but also has some significant hurdles to overcome.

This past week GOG launched the beta for this project, dubbed Galaxy 2.0, and we spent the last several days playing around with the system. During this span, GOG has quietly been developing a potential solution for wrangling all your games and friends in one place. Though Epic Games Store is the most recent target for dismay, the move away from a central PC game destination has been developing for several years. The frustration with this fractured ecosystem is evident any time you see the predictable online backlash to another Epic Games Store exclusive. Instead of having all your games and friends under one roof, we're now tending to an unwieldy collection of game launchers from the likes of Steam, Epic Games Store,, EA Origin, Uplay, Discord, and Xbox, each with its own library, friends list, and storefront. Obligatory JSON file to be placed in an integration folder.The diaspora of PC platforms in recent years has done players no favors when it comes to quality of life. When debugging, inspecting the other side of communication in the Galax圜lient.log can be helpful as well. Root logger is already setup by GOG Galaxy to store rotated log files in: ~/Library/Application Support/GOG.com/Galaxy/plugins/installed %localappdata%\GOG.com\Galaxy\plugins\installed Beside all the Python files, the integration folder must contain manifest.json and all third-party dependencies. In order to be found by GOG Galaxy 2.0 an integration folder should be placed in lookup directory. The client has a built-in Python 3.7 interpreter, so integrations are delivered as Python modules. # run plugin event loop if _name_ = "_main_": SinglePurchase))Ĭreate_and_run_plugin( PluginExample, sys. Game( 'test', 'The Test', None, LicenseInfo( LicenseType. # required async def get_owned_games( self): Return Authentication( 'test_user_id', 'Test User Name') # implement methods # required async def authenticate( self, stored_credentials = None): Test, # choose platform from available list "0.1", # version reader, types import Authentication, Game, LicenseInfo, LicenseType class PluginExample( Plugin):ĭef _init_( self, reader, writer, token): plugin import Plugin, create_and_run_plugin from galaxy.

Supported methods like :meth: ~.get_owned_games should be overwritten - they are called from the GOG Galaxy client at the appropriate times.Įach of those methods can raise exceptions inherited from the :exc: ~.Ĭommunication between an integration and the client is also possible with the use of notifications, for example: :meth: ~.update_local_game_status. List of possible Platform IDs Basic usageĮach integration should inherit from the :class: ~ class. Each integration must declare which platform it's integrating.
