An open source video game library manager and launcher with support for 3rd party libraries like Steam, GOG, Origin, Battle.net and Uplay. Includes game emulation support, providing one unified interface for your games.
Screenshots are available at the Homepage
If you find Playnite useful please consider supporting the lead developer Josef Nemec on Patreon.
See the Homepage for the list of features.
Grab the latest installer or portable package from the download page. Playnite will automatically notify you about a new version upon release.
Requirements: Windows 7, 8 or 10 and .NET Framework 4.6.2
Playnite can be extended with plugins (written in .NET languages) or by scripts (PowerShell and IronPython are currently supported).
See the extensions portal for tutorials and the full API documentation.
Can be found on the wiki
The list of known issues and solutions can be found on the wiki.
Playnite doesn't store any user information and you don't need to provide any information to import installed games. Account connection process is usually done via official login web forms and only the web session cookies or tokens are stored, the same way when you login to those services via the web browser.
All information about your library is stored locally on your PC.
If you find a bug please file an issue and if relevant (crashes, broken features) please attach a diagnostics package, which can be created from inside the "About Playnite..." submenu.
General discussion lives on our Forum and Discord or you can follow @AppPlaynite for updates.
See the How to: Translations wiki page.
See the How to: Themes wiki page.
Please ask in the related issue first before starting implementing something to make sure that nobody else is already working on it. If an issue doesn't exist for your feature/bug fix, create one first.
Regarding code styling, there are only a few major rules:
- private fields and properties should use camelCase (without underscore)
- all methods (private and public) should use PascalCase
- use spaces instead of tabs with 4 spaces width
- always encapsulate the code body after if, for, foreach, while etc. with curly braces:
if (true)
{
DoSomething()
}
instead of
if (true)
DoSomething()
master
- default branch representing state of currently released build.devel
- development branch containing latest changes. All pull requests should be made againstdevel
branch.devel*
- development branches for specific features/versions.
You can see the planned versions with their features in the milestones overview.
See the wiki for info about building and setting up the development environment.