https://github.com/steamclienthomebrew/millennium
An open-source low-code modding framework to create, manage and use themes/plugins for the desktop Steam Client without any low-level internal interaction or overhead.
https://github.com/steamclienthomebrew/millennium
millennium patcher plugins-api reverse-engineering skins steam themes valve
Last synced: about 1 month ago
JSON representation
An open-source low-code modding framework to create, manage and use themes/plugins for the desktop Steam Client without any low-level internal interaction or overhead.
- Host: GitHub
- URL: https://github.com/steamclienthomebrew/millennium
- Owner: SteamClientHomebrew
- License: mit
- Created: 2023-04-30T18:06:18.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2026-03-31T17:44:38.000Z (about 2 months ago)
- Last Synced: 2026-04-03T01:12:23.280Z (about 2 months ago)
- Topics: millennium, patcher, plugins-api, reverse-engineering, skins, steam, themes, valve
- Language: C++
- Homepage: https://steambrew.app
- Size: 103 MB
- Stars: 3,254
- Watchers: 24
- Forks: 117
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README

Millennium is an **open-source low-code modding framework** to create, manage and use themes/plugins
for the desktop Steam Client without any low-level internal interaction or overhead.
If you enjoy this tool, please consider starring the project ⭐
## Installation
Installing Millennium is only a few steps. See [this page](https://docs.steambrew.app/users/installing) for a more detailed guide.
## Features
### Plugins
- **TypeScript ([React](https://react.dev/)) frontend** container in Steam
- **Lua backend** container in [usermode](https://en.wikipedia.org/wiki/User-Mode_Driver_Framework)
- **[Foreign function interface](https://en.wikipedia.org/wiki/Foreign_function_interface)** binding from **Lua** to **TypeScript** and vice versa
- **Hook modules in the Steam web browser**
- Overwrite/Modify HTTP requests
- Load custom JavaScript (Native) into web browser
- Load custom StyleSheets into web browser
### Themes
- Manage and load custom themes written in JavaScript and CSS.
- Inject JavaScript modules and CSS modules into specific Steam windows,
- Provide customizable color, style, and javascript options for your theme,
letting users personalize their experience without touching any code
## Official Plugin Repository
Millennium is designed to be fully extensible through plugins.
To ensure version compatibility and safety, we maintain a separate, curated [PluginDatabase](https://github.com/SteamClientHomebrew/PluginDatabase) repository.
All plugins in the PluginDatabase are versioned and reviewed to work seamlessly with the current Millennium release, reducing the risk of conflicts or instability when adding new features.
**For more related information, checkout the [plugin database](https://github.com/SteamClientHomebrew/PluginDatabase)**.
## Adding Languages
Only languages officially supported by the Steam can be added to the Millennium. Check the list [here](https://partner.steamgames.com/doc/store/localization/languages) in the `Full Platform Supported Languages` section.
To add your spoken language to Millennium, fork this repository and place your language json (based on the [english locale](./src/locales/english.json)) among the [current locales](./src/locales). Name the file `{your_language}.json` where `your_language` is the `API language code` from the [supported language list](https://partner.steamgames.com/doc/store/localization/languages) and append the target file to the `localizationFiles` in [this file](./src/frontend/utils/localization-manager.ts).
Millennium is only maintaining the english language, and if any changes are made to the english locales that don't reflect on a target language, contributors are responsible for updating them.
## Creating Plugins & Themes
Creating themes and plugins for Millennium is relatively straight foward. Our [documentation](https://docs.steambrew.app/developers) goes over the basics of both,
and we have examples for both [plugins](https://github.com/SteamClientHomebrew/PluginTemplate) and [themes](https://github.com/SteamClientHomebrew/ThemeTemplate)
## Platform Support
Supported Platforms:
- Windows (x86/x64/ARM) NT (10 and newer)
- Linux (x86/x86_64/i686/i386)
## Sponsors
|
| Free code signing on Windows provided by [SignPath.io](https://signpath.io/), certificate by [SignPath Foundation](https://signpath.org/) |
| :--- | :--- |