Skip to content

Add Steam Custom Artworks - #269

Open
SpaceEnergy wants to merge 1 commit into
SteamClientHomebrew:mainfrom
SpaceTheme:add-steam-custom-artworks
Open

SpaceEnergy wants to merge 1 commit into
SteamClientHomebrew:mainfrom
SpaceTheme:add-steam-custom-artworks

Conversation

@SpaceEnergy

Copy link
Copy Markdown

Steam-Custom-Artworks

Installs and updates the Steam-Custom-Artworks for the games in your library, so the whole library shares one consistent artwork style.

  • Automatic updates: on Steam start and every 6 hours, artworks for owned games in the collection are installed or updated. A Steam notification with a progress bar shows the progress.
  • Rendered locally: the artwork repository only stores source images, game details and an HTML/CSS template. The plugin renders capsule, header and hero on the user's PC (SVG foreignObject → OffscreenCanvas) and applies them with SteamClient.Apps.SetCustomArtworkForApp. No restart, no file system access.
  • Color themes: pick one of 62 color themes in the settings, with previews rendered from one of your own games before applying.
  • Game page banner: custom heroes are shown completely on the game page and downloads page instead of cropped, framed in the chosen color.
  • Request from the library: right-click a game → Request artwork / Change artwork opens the request form of the artwork repository with the App ID filled in.
  • Settings: status, storage used, color, auto update, check now, reinstall, remove all artworks (restores Steam's defaults).

Frontend only, no Lua backend. Network requests go only to raw.githubusercontent.com/SpaceTheme/Steam-Custom-Artworks (manifest, template, colors, source images) and fonts.googleapis.com / fonts.gstatic.com (the template's font). Nothing is sent anywhere, and no user data is collected.

Without Millennium, the artworks are available as a one-time download on spacetheme.net/artworks. The plugin adds automatic updates, color selection and the game page fixes.

AI disclosure: The Steam-Custom-Artworks project itself (the artwork design and template, the artwork collection and the original request workflow) was made by me without AI. Most of this plugin's code, which builds on that project, was written with the help of generative AI (Claude). I reviewed and tested it live in Steam and maintain it.

Screenshots Progress notification Settings Settings – color preview Context menu

Task Checklist

Developer

  • My plugin complies with the plugin submission guidelines
  • I am the original author or an authorized maintainer of this plugin.
  • I have complied with all license requirements for the libraries used, including providing appropriate notices where necessary.
  • My plugin is fully open source and does not depend on any external paid services, except for widely trusted and well-known platforms. Additionally, neither I nor anyone associated with me profits from any such services.
  • Generative AI was used for most of the plugin's code.

Plugin Functionality

  • I have tested the plugin on both the Stable and Beta Steam update channels.
  • My plugin is unique, or provides additional or alternative functionality to plugins already on the store.

Backend Configuration

  • I use a standard Millennium Lua backend in my plugin.
  • I use custom binaries that or rely on other FOSS projects that aren't written directly using Millennium's Lua backend.

Community Contribution

  • I have tested and left feedback on two other plugin pull requests.
  • I have added links to those feedback comments in this PR.

Testing Instructions

  • Verified by a third party on Steam Client Stable.
  • Verified by a third party on Steam Client Beta.

@github-actions github-actions Bot changed the title Steam-Custom-Artworks plugin Add Steam Custom Artworks Oct 15, 2026
@Hiwoee

Hiwoee commented Oct 16, 2026

Copy link
Copy Markdown

works as it should on Steam Client Stable.

there are a few not great artworks but the plugin makes it easy to create a request for changes or request new artworks.
{5B5C7083-C192-499D-BCE6-FD1EC15C8C2C}
{83E7237E-A04B-49B3-8372-9BF96486A741}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants