To get automatically notified about SDK changes, you can subscribe to change tracking issue on GitHub.
- Toolbox utility has been reworked and accepts different arguments then previously.
- Library plugins can now support extra capabilities.
- Added ImportGame methods to more easily add new games to the library.
- Added OpenPluginSettings method to open view with extension settings (also accessible via
OpenSettingsViewmethod inherited from
- Added StartGame.
- Added UriHandler for registering of custom URI method actions.
Featuresgame field and appropriate support for it in metadata plugins.
- Toolbox utility can now generate plugins and scripts.
- Toolbox utility can pack plugins and scripts into
.pextfile that can be used for easier distribution and installation.
- Removed reference to LiteDB package. You can remove it from your plugin project if it's present.
- Extension plugins are no longer created by inheriting plugin interface, but rather extending Plugin and LibraryPlugin abstract classes.
- IGameDatabase interface is completely changed and every object collection (Games, Genres, Tags etc.) is now accessible via appropriate
- Game changed dramatically. Fields like genres, tags and others are no longer part of the model itself but just ID pointers to appropriate database objects.
- Extended several API with new methods.
- Breaking Changes:
- Removed and added new APIs and API members.
- Game files are no longer stored in single database file. All game and media files are now accessible in their raw form even without user of database API.
- In order to unify terminology used in Playnite's UI and that in SDK, some classes and class members were renamed.
- Extensions (both plugins and scripts) have to provide extension manifest otherwise they won't be loaded.
- Various information about extension (author, version etc.) must be now stored in manifest file.
- Both plugins and scripts have to be stored in the same folder called
Extensions(rather then in separate
- Signature for default C# plugins has changed and they now have to implement
IGenericPlugininterface to be loaded.
New Plugin types. There are now two types of plugins that can be implemented:
- Static LogManager for easier log operations.
- Web Views API for creating web view windows or accessing offscreen browser.
- Resources API for getting application resources like localized strings.
- Paths API providing information about Playnite's application paths.
- Application Info API providing information about Playnite.
- GetPluginUserDataPath: Gets path dedicated for plugins to store user data.
- GetPluginConfiguration: Gets plugin configuration if available.
- LoadPluginSettings: Loads plugin settings.
- SavePluginSettings: Saves plugin settings.
- ExpandGameVariables: Expands dynamic game variables in specified game action.
- CreateLogger: Creates new instance of Playnite logger with name of calling class.