Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

I Built a Spotify Desktop Pet as My First Godot Project, BelPet! Here's how I did it.

Description and use

BelPet is a transparent, always‑on‑top desktop pet built in Godot 4 that doubles as a Spotify controller, handling playback, volume, track navigation, and album art via Spotify Web API and Web Playback SDK. It requires a Spotify Premium account and a custom Client ID.

Problem

Create a lightweight desktop pet that also serves as a Spotify controller without constantly opening Spotify.

Outcome

BelPet provides a convenient desktop Spotify controller with drag‑and‑drop pet animation, synchronized playback, and album art display, all built in Godot 4 with C# and a WebView.

Workflow

  • 1. Set up Godot 4 project with C#.
  • 2. Create transparent, borderless, always‑on‑top window and mouse‑passthrough regions.
  • 3. Add simple gravity to let the pet fall to the taskbar area.
  • 4. Integrate Spotify Web Playback SDK via a WebView using godot_wry.
  • 5. Use Spotify Web API to poll playback state when another device is active.
  • 6. Implement UI controls: play/pause, next/prev, seek, volume via hover, album art display.
  • 7. Package the application for desktop distribution.
  • 8. Test functionality with Spotify Premium account and active device.
  • 9. Publish source on GitHub under MIT license.

Evidence

BelPet uses both the Spotify Web API and Spotify Web Playback SDK, but they serve slightly different purposes.

Source

I ended up using godot_wry to embed a WebView inside the application.

Source

BelPet works normally when BelPet itself is selected as the active Spotify playback device.

Source

  • Record date: 2026-09-21T21:00:15.288Z