Back to Portfolio
Music Remote PlayerUnreal Engine 5 Plugin · v1.1

Music Remote Player

Control any media player directly from the Unreal Editor — without ever leaving your project.

View on FAB

What You Need

The plugin works in two modes with different requirements.

Local Modezero setup

EngineUnreal Engine 5.4+
PlatformWindows 10/11 (Build 1809+)
Media PlayerAny app with Windows SMTC support
DependenciesNone — UE5 built-in only
💡
Local mode needs no account or setup. It controls any media player on your PC (Spotify, AIMP, foobar2000, VLC, YouTube Music in browser, etc.) through Windows System Media Transport Controls. Just install and go.

Remote ModeSpotify Web API

EngineUnreal Engine 5.4+
Spotify AccountPremium required
Active SessionSpotify must be open on at least one device
⚠️
Spotify Premium is required for Remote mode. The Web API playback control endpoints are not available on free accounts. Local mode has no such restriction.
⚠️
Windows only. This plugin has been developed and tested exclusively on Windows 10/11 (Win64). It is not supported on macOS, Linux, or other platforms.

Install from FAB

Music Remote Player is available on FAB, Epic's official plugin marketplace.

1
Get it on FAB
Visit the Music Remote Player listing on FAB and add it to your account.
2
Install via the Unreal Editor
Open the FAB plugin manager inside Unreal Editor (Edit → Plugins → FAB), find Music Remote Player, and click Install. The editor handles everything automatically.
3
Restart the editor
Restart when prompted. A music icon appears in the Level Editor toolbar.
💡
Verify installation: If the toolbar icon doesn't appear, go to Edit → Plugins, search for “Music Remote Player”, and enable it.

Spotify Setup

Remote mode currently supports Spotify as its streaming service. Additional services (such as YouTube Music) may be added in future updates.

Connecting requires a free Spotify Developer App — a one-time setup that takes about 3 minutes. Skip this section if you only plan to use Local mode.

Create a Developer App

1
Open the Spotify Developer Dashboard
Log in at developer.spotify.com/dashboard with your Spotify account.
2
Create a new app
Click Create App. Name it anything. Check Web APIunder “Which API/SDKs are you planning to use?”
3
Add the redirect URI
In the Redirect URIs field, paste the URL below exactly and click Add.
http://127.0.0.1:8888/callback
💡
The default callback port is 8888, but you can change it in Project Settings → Plugins → Music Remote Player → OAuth Callback Port. If you change it, update the redirect URI in your Spotify app to match (e.g. http://127.0.0.1:YOUR_PORT/callback).
⚠️
Spotify may warn this URI is not secure. This is expected— it's a local address that never leaves your machine.
4
Add your email to User Management
Under User Management, add your Spotify account email. Developer apps support up to 25 users in Development Mode.
5
Copy your Client ID
From your app's settings, copy the Client ID. No Client Secret needed - the plugin uses PKCE for secure authorization.
💡
No Client Secret required. Music Remote Player uses OAuth 2.0 with PKCE (Proof Key for Code Exchange), the recommended flow for public clients. Credentials are stored locally and never leave your machine.

Getting Started

A setup wizard guides you through connecting. Choose your mode and you're ready to go.

Local Modeinstant

1
Open the player
Click the Music button in the toolbar (or go to Tools → Music Remote).
2
Select Local
The setup wizard appears with Mode Selection. Click Local. The plugin connects instantly and shows your current media playback.
💡
Local mode controls whatever media player is currently active on your PC. Start playing music in any app (Spotify, AIMP, browser, etc.) and the plugin detects it automatically. If multiple apps are playing, use the session selector in the status bar to switch between them.

Remote ModeSpotify Web API

Make sure you've completed the Spotify setup first.

1
Open the player
Click the Music button in the toolbar (or go to Tools → Music Remote).
2
Select Remote → Spotify
In the wizard, click Remote, then Spotify.
3
Enter your Client ID
Paste your Client ID and click Save & Continue. An integrated guide helps you create a Spotify app if needed.
4
Authorize in browser
Click Open Browser. Approve access in Spotify. The plugin captures the callback automatically. A manual URL paste fallback is available if needed.
After the first run, the plugin reconnects silently on every editor launch. Local mode reconnects instantly; Remote mode uses saved tokens that refresh proactively at 50% of their lifetime.
⚠️
If auto-capture fails(rare — usually a firewall blocking the callback port), a fallback field appears. Copy the full URL from your browser's address bar and paste it in. You can also try changing the port in Project Settings → Plugins → Music Remote Player → OAuth Callback Port.

Start Using

Use the transport controls (play, pause, next, previous) in the player panel or the toolbar.
In Local mode, switch between active media players using the session selector in the status bar.
In Remote mode, browse your playlists via the Browse button and switch devices via the device selector.
Switch between Local and Remote modes anytime via the gear menu in the status bar.

Key Features

🎛
Dual Mode
Local - control any media player via Windows SMTC (Spotify, AIMP, foobar2000, VLC, browser music). No setup needed.
Remote - full Spotify Web API integration with playlist browsing, catalog search, and device switching. Switch between modes anytime from the gear menu.
🎵
Full Playback Control
Play, pause, skip, seek, volume, shuffle (Off/On/Smart), and repeat (Off/Playlist/Track). Works in both modes.
📋
Playlist Browser
Browse owned & followed playlists, drill into tracks, play all or shuffle. Now-playing indicator, search/filter, track cache, and error recovery. Remote mode.
🎨
Now Playing
Album art, track info, and a smooth progress slider that interpolates locally between polls. Branded fallback art when no cover is available.
🔊
Device & Session Selector
Local: switch between active media sessions on your PC. Remote: switch between Spotify Connect devices. Both from the status bar.
Keyboard Shortcuts
8 fully customizable global shortcuts. Control music from anywhere in the editor without focusing the player.
🔧
Toolbar Integration
Music icon + inline transport controls (shuffle, prev, play/pause, next, repeat, browse) embedded directly in the Level Editor toolbar.
📐
5 Responsive Layouts
Mini, Compact, Normal, Wide, and Condensed. Dock anywhere and the UI adapts seamlessly with hysteresis to prevent toggling.
Auto-Pause During PIE
Pauses music when you hit Play In Editor and resumes when you stop. Works in both modes. Toggle on/off anytime.
🎨
Theme Customization
Customize all 14 UI colors through Project Settings. Changes apply instantly - no restart needed. Reset to defaults with one click.
🔔
Toast Notifications
Get notified when the track changes with a small overlay toast. Configurable position, duration, opacity, and album art visibility. Non-intrusive - click-through and never steals focus.
🖼
Album Art Shapes
Choose between Square, Rounded, or Circle album art thumbnails. Applied consistently across the player, playlists, search results, and toast notifications.
🔍
UI Scale
Global scaling factor (0.75× – 1.5×) for all Music Remote UI elements. Scales fonts, icons, and padding proportionally across the entire plugin.
🎭
Playback Accent Colors
Set different accent colors for playing vs. paused states. Applied to the progress bar, play/pause button, and status bar indicator.
Configurable Toolbar
Choose which buttons appear in the editor toolbar widget. Show or hide Shuffle, Previous/Next, and Repeat buttons. Changes apply live.

Tutorials

Image-rich walkthroughs covering every feature. Click a tutorial to jump to it.


← Back to Tutorials
Tutorial 1

Installation

Get the plugin installed and verify it loads correctly.
1
Install from FAB
Open the FAB plugin manager inside Unreal Editor or install the plugin through the Epic Games Launcher. Search for Music Remote Player and click Install.
💡
After installing, restart the Unreal Editor so the plugin is loaded.
FAB plugin manager showing the Install button for Music Remote PlayerFAB plugin manager with Music Remote Player ready to install
2
Enable Music Remote Plugin
Go to Edit → Plugins, search for “Music Remote Player” and make sure the plugin is enabled. A music icon should now appear in the Level Editor toolbar.
Plugin Browser with Music Remote Player enabledPlugin Browser with Music Remote Player visible, checkbox enabled

← Back to Tutorials
Tutorial 2

Quick Start - Local Mode

Go from zero to controlling music in under 30 seconds. Zero setup required.
1
Start a media player
Make sure a media player is running on your PC (Spotify, AIMP, VLC, a browser playing YouTube Music, etc.) and has something playing or recently played.
Desktop showing a media player with a track loadedDesktop showing a media player (e.g., Spotify) with a track loaded
2
Click the Music Remote Player toolbar button
In Unreal Editor, click the Music Remote Player button in the toolbar.
Toolbar with the music icon cursor-highlightedToolbar with the music icon cursor-highlighted
3
Select Local mode
The Setup Wizard opens. Click Local to select Local mode.
Setup wizard showing Local and Remote optionsSetup wizard at Step 0 showing "Local" and "Remote" options with the step indicator at the top
4
Connected!
The plugin detects your media player automatically and switches to the player view.
Player view - album art, track info, Connected (Local)Player view showing album art, track name, artist, transport controls. Status bar shows "Connected (Local)"
5
Use transport controls
Play/Pause, Next, Previous - all accessible from the player panel.
💡
Progress slider - drag to seek within the track.
Volume slider = adjust the playback volume.
Transport controls rowClose-up of the transport controls row (play/pause, next, prev, shuffle, repeat buttons)

← Back to Tutorials
Tutorial 3

Remote Mode Setup (Spotify Web API)

Connect the plugin to Spotify for playlist browsing, search, and device switching.
⚠️
Remote mode requires a Spotify Premium account. The Web API playback control endpoints are not available on free plans.

Part A - Create a Spotify Developer App

1
Open the Spotify Developer Dashboard and Create a new app
Go to developer.spotify.com/dashboard and log in with your Spotify account. Click Create App.
Spotify Developer DashboardSpotify Developer Dashboard landing page
2
Fill in the app details and save
Fill in the Create App form:

Name: e.g. “Music Remote Player”
Description: d e.g. “Unreal Editor Music Remote Player integration”
Redirect URI: http://127.0.0.1:8888/callback
API/SDKs: check Web API

Then click Save.
💡
The default port is 8888, but it can be changed in Project Settings → Plugins → Music Remote Player. If you use a different port, make sure the Redirect URI here matches the port set in the plugin settings.
Create App form with fields filled inCreate App form with fields filled in, Redirect URI highlighted
3
Copy your Client ID
Go to Settings and copy your Client ID.
App settings - Client ID visibleApp settings page with the Client ID visible

Part B - Connect in Unreal Editor

4
Open the setup wizard
Click the Music Remote toolbar button to open the setup wizard.
Setup wizard - Mode SelectionSetup wizard at Step 0 (Mode Selection)
5
Select Remote
Click Remote.
Wizard - Service SelectionWizard transitions to Step 1 (Service Selection). Step indicator shows progress
6
Select Spotify
Click Spotify.
Wizard - Credentials stepWizard at Step 2 (Credentials). Step indicator updated
7
Paste your Client ID
Paste your Client ID into the text field and click Save & Continue.
Client ID pasted, Save & Continue visibleCredentials step with Client ID pasted, Save & Continue button visible
8
Open Browser for authorization
Click Open Browser - your browser opens the Spotify authorization page.
Wizard - Authorization stepWizard at Step 3 (Authorization). "Open Browser" button and status text visible
9
Authorize in the browser
In the browser, click Agree to authorize the app.
💡
After authorizing, the browser tab closes automatically. Return to Unreal Editor.
🔒
The plugin does not store or use your Spotify data. It only reads playlist and track information and uses the Playback API to control the Spotify application.
Spotify authorization consent pageBrowser showing the Spotify authorization consent page
10
Connected!
The plugin is now connected. The player view appears with your current Spotify playback.
Player view - Connected (Remote)Player view showing album art, track info, status bar showing "Connected (Remote)"

← Back to Tutorials
Tutorial 4

Playlist Browser

Browse, filter, and play playlists from your Spotify library. Remote mode only.
1
Open the Playlist Browser
Click the Browse button in the toolbar widget or the playlist icon in the player.
Browse button highlightedToolbar widget with the Browse button highlighted
2
Browse your playlists
The Playlist Browser shows your Owned and Followed playlists with cover art.
Full playlist browser overviewFull playlist browser with Owned section showing playlists with thumbnails, names, track counts
3
Hover for quick actions
Hover over a playlist to reveal Play All and Shuffle Play buttons.
Playlist row - hover actionsA playlist row with Play All and Shuffle Play buttons visible on hover
4
Drill into the track list
Click a playlist name to view its tracks.
Track list viewTrack list view with album art thumbnails, track names, artists, durations. Back button and playlist header visible
5
Play a track
Click any track to play it. The now-playing indicator shows on the active track.
Track with now-playing indicatorTrack list with one track highlighted with a now-playing indicator
6
Filter tracks
Type in the filter box to search within the current playlist.
Filter box with filtered resultsFilter box with text entered, track list filtered to matching results

← Back to Tutorials
Tutorial 5

Layout Modes

The player adapts to different window sizes and docking positions automatically.
1
Normal
Default full layout with album art, track info, transport controls, progress slider, and volume.
Player in Normal layoutPlayer in Normal layout
2
Wide
Horizontal split: album art and track info on the left, controls on the right. Appears when the window is wider than tall.
Player in Wide layoutPlayer in Wide layout
3
Compact
Reduced height: smaller album art, single-line track info, condensed controls.
Player in Compact layoutPlayer in Compact layout
4
Mini
Minimal strip: just transport buttons and track name, no album art.
Player in Mini layoutPlayer in Mini layout
5
Condensed
Ultra-thin horizontal bar when height drops below 90px.
Player in Condensed layoutPlayer in Condensed layout as a thin strip

← Back to Tutorials
Tutorial 6

Keyboard Shortcuts

Configure and use global keyboard shortcuts for hands-free control.
1
Open plugin settings
Go to Project Settings → Plugins → Music Remote Player.
Project Settings - Music Remote Player selectedProject Settings tree with "Music Remote Player" selected under Plugins
2
Find the Keyboard Shortcuts section
Scroll to the Keyboard Shortcuts section.
Keyboard Shortcuts sectionKeyboard Shortcuts section showing the "Enable Keyboard Shortcuts" toggle (off by default)
3
Enable shortcuts
Enable the Enable Keyboard Shortcuts toggle.
Shortcuts toggle enabledToggle switched on, all 8 shortcut fields now editable
4
View default bindings
Default shortcuts:
Play / PauseCtrl+Alt+SpaceNextCtrl+Alt+RightPreviousCtrl+Alt+LeftVolume Up / DownCtrl+Alt+Up/DownMuteCtrl+Alt+MShuffleCtrl+Alt+SRepeatCtrl+Alt+R
💡
To customize a binding, click the shortcut field and press your desired key combination.
All 8 shortcut fields with defaultsAll 8 shortcut fields visible with their default key combinations

← Back to Tutorials
Tutorial 7

Theme Customization

Personalize the player's appearance with custom colors.
1
Open plugin settings
Go to Project Settings → Plugins → Music Remote Player.
2
Find the Style section
Scroll to the Style section showing all 14 color properties, including the new Playing Accent Color and Paused Accent Color.
Style section - all color swatchesStyle section with all color swatches visible (Background, Panel, Card, Border, Accent, Success, Warning, Error, Text, Muted, etc.)
3
Live preview
Open the color picker and choose a new color. The player updates in real time.
Player with custom accent colorPlayer reflecting a custom accent color (e.g. purple or orange instead of default cyan)

← Back to Tutorials
Tutorial 8

Device & Session Switching

Switch between media players (Local) or Spotify devices (Remote).

Local Mode

1
Open the session selector
With multiple media players running, click the device/session button in the status bar.
Status bar with device icon highlightedStatus bar with the device icon highlighted
2
View active sessions
A popup lists all active media sessions (e.g. Spotify, AIMP, Chrome - YouTube Music).
💡
Click a session to switch control to that player.
Session selector popup - multiple media appsSession selector popup showing 2-3 media apps with their names

Switching Modes

3
Switch between Local and Remote
Open the gear menu in the status bar and click Switch to Remote or Switch to Local to change modes instantly without restarting the editor.
Gear menu showing Switch to Remote / Switch to Local optionGear menu with the mode switch option highlighted

Remote Mode

4
Open the device selector
Click the device name in the status bar.
Status bar showing current Spotify device nameStatus bar showing the current Spotify device name
5
View Spotify Connect devices
A popup lists all Spotify Connect devices (desktop app, phone, web player).
💡
Click a device to transfer playback instantly.
Device selector - Spotify Connect devicesDevice selector showing 2-3 Spotify Connect devices with one marked as active

← Back to Tutorials
Tutorial 9

Auto-Pause During Play In Editor

Music automatically pauses when you test your game and resumes when you stop.
1
Verify auto-pause is enabled
Go to Project Settings → Plugins → Music Remote Player → Playback and verify Auto-Pause During PIE is checked.
Auto-pause checkbox highlightedPlayback section with the auto-pause checkbox highlighted and checked
2
Play music in the editor
Start playing a track. The player shows the track actively playing.
Player with track playingPlayer with a track actively playing (play icon in paused state = music is playing)
3
Start PIE
Click Play in the Level Editor toolbar to start Play In Editor. Music pauses automatically.
💡
When you stop PIE (click Stop or press Escape), music resumes automatically.
Editor in PIE - track pausedEditor in PIE mode. The player shows the track paused with a subtle "Paused (PIE)" indicator

← Back to Tutorials
Tutorial 10

Gear Menu & Mode Switching

Quick-access gear menu and how to switch between Local and Remote modes at runtime.
1
Open the gear menu
Click the gear icon in the player's status bar.
Gear icon highlighted in status barStatus bar with the gear icon highlighted
2
Browse menu options
The gear menu shows: Switch to Remote/Local, Auto-Pause toggle, Show/Hide Album Art, Show/Hide Track Info, Refresh Playback, Re-authorize, Clear Authentication.
Full gear menu expandedFull gear menu expanded showing all menu items
3
Switch modes
Click Switch to Remote (or Switch to Local) to change modes without restarting.
Mode transition - Local to RemotePlayer transitioning to the other mode (status bar changing from "Local" to "Remote")
4
Toggle display options
Click Hide Album Art to collapse the artwork area.
Before and after hiding album artPlayer before and after hiding album art

← Back to Tutorials
Tutorial 11

Toolbar Transport Controls

Inline transport controls embedded directly in the Level Editor toolbar.
1
Toolbar overview
Look at the toolbar area next to the Music Remote button. Inline transport controls are visible: Shuffle, Prev, Play/Pause, Next, Repeat, Browse.
Level Editor toolbar - inline transport buttonsClose-up of the Level Editor toolbar showing all inline transport buttons with labels/annotations

← Back to Tutorials
Tutorial 12

Toast Notifications

Get notified when the track changes with a small non-intrusive overlay.
1
Enable toast notifications
Go to Project Settings → Plugins → Music Remote Player → Notifications and enable Show Track Change Notifications.
Notifications settings with toast toggleNotifications section in Project Settings with the toast toggle enabled
2
Configure position, duration and appearance
Set Toast Position to your preferred screen corner (TopLeft, TopRight, BottomLeft, BottomRight). Adjust Toast Duration (2–10 seconds). Optionally adjust Toast Opacity (0.5–1.0) for semi-transparent toasts, and toggle Show Album Art on/off in the toast.
Toast position and duration settingsToast position dropdown and duration slider in Project Settings
3
See it in action
When the track changes, a smooth toast notification appears in your chosen corner with album art, track name, and artist. It fades in and out automatically and never interferes with your editor workflow.
💡
Toast notifications respect the Album Art Shape setting - if you have Circle shapes enabled, the toast thumbnail will also be circular.
Toast notification overlayToast notification showing album art, track name, and artist in the bottom-right corner

← Back to Tutorials
Tutorial 13

Album Art Shapes

Choose between square, rounded, or circular album art thumbnails across the entire UI.
1
Open display settings and select a shape
Go to Project Settings → Plugins → Music Remote Player → Display and find the Album Art Shape dropdown.
💡
Choose from: Square (default, sharp corners), Rounded (subtle rounded corners at 15% radius), or Circle (fully circular at 50% radius).
Album Art Shape dropdown in settingsDisplay section with the Album Art Shape dropdown showing Square, Rounded, and Circle options
2
Live update everywhere
The shape applies instantly across the Now Playing widget, playlist browser, track rows, search results, and toast notifications - no restart needed.
Album art shape applied across all widgetsAlbum art shape applied consistently across the player, playlist browser rows, and toast notifications

← Back to Tutorials
Tutorial 14

Playback Accent Colors

Set different accent colors for playing vs. paused states.
1
Open style settings
Go to Project Settings → Plugins → Music Remote Player → Style and find Playing Accent Color and Paused Accent Color.
💡
Both default to the main Accent Color - no visual change unless you explicitly customize them.
Playing and Paused accent color settingsStyle section showing Playing Accent Color and Paused Accent Color next to the main Accent Color
2
Set different colors
Click the color swatch for Playing Accent Color (e.g., green) and Paused Accent Color (e.g., amber). The progress bar, play/pause button, and status bar indicator update immediately.
Color picker open for accent colorColor picker open with a green Playing Accent Color selected
3
See the difference
When music is playing, the UI uses your Playing color. When paused, it transitions to your Paused color. This gives you a quick visual indicator of playback state at a glance.
Player in playing vs paused state with different colorsSide by side: player with green playing accent (left) and amber paused accent (right)

Changelog

All notable changes to Music Remote Player, organized by version.

v1.1.0Latest

Toast notifications, album art shapes, UI scale, playback accent colors, configurable toolbar

Added
  • newConfigurable Toolbar Widget - Choose which buttons (Shuffle, Prev/Next, Repeat) appear in the toolbar via Project Settings. Separators auto-hide. Changes apply live.
  • newAlbum Art Shapes - Square, Rounded (15% radius), or Circle (50% radius) thumbnails across all widgets.
  • newTrack Change Toast Notifications - Non-intrusive overlay with album art, track name, and artist. Configurable position, duration, opacity, and album art visibility.
  • newUI Scale (0.75× – 1.5×) - Global scaling factor for all Music Remote UI elements. Scales fonts, icons, and padding proportionally.
  • newPlayback Accent Colors - Different accent colors for playing vs. paused states on the progress bar, play/pause button, and status bar.
  • newToast Customization - Toggle album art in toasts and adjust toast opacity (0.5–1.0) for semi-transparent notifications.
Fixed
  • fixLive Color Propagation - All 14 style colors now update instantly when changed in Project Settings. Added Reset Style to Defaults button.
  • fixLocal Mode Refresh - Setup Wizard now rescans media sessions instead of reusing a stale cache.
  • fixAlbum Art Shape rendering - Switched to RoundedBox brush for proper rounded/circular corners. Live updates and transparent background fix.
  • fixReset Style to Defaults - Replaced non-functional CallInEditor with a proper Detail Customization Slate button.
v1.0.0

Initial release

Added
  • newOAuth 2.0 PKCE setup wizard (Remote) and Windows SMTC local mode
  • newFull playback controls: Play/Pause, Next, Previous, Shuffle, Repeat
  • newNow Playing display with album art, progress slider, and volume control
  • newPlaylist browser with Owned/Followed sections, search, and thumbnails
  • newToolbar inline widget and 5 responsive layouts
  • newAuto-pause during PIE, keyboard shortcuts, device selector, and full color theme customization

FAQ

The toolbar icon doesn't appear after installing
Go to Edit → Plugins, search for “Music Remote Player”, and enable it. Restart the editor if needed. Check the Output Log for compilation errors.
Local mode shows "No media session detected"
Make sure a media player is running and actively playing (or has recently played) on your PC. The plugin detects media sessions through Windows SMTC. Most modern players register automatically. Try starting playback first, then click Refresh Playback in the gear menu.
Local mode is controlling the wrong app
When multiple media players are running, the plugin attaches to the most recently active session. Click the session selector in the status bar to see all active media sessions and switch. Alternatively, disable Auto-Detect Media Player in Project Settings → Plugins → Music Remote Player → Connection and set Preferred Media Playerto the desired app's process name (e.g., “Spotify”, “AIMP”).
Can I use Local mode on Mac or Linux?
No. Local mode uses Windows SMTC, which is a Windows-only feature. This plugin is developed and tested exclusively on Windows 10/11 (Win64) and is not supported on other platforms.
"redirect_uri: Not matching configuration" error
The redirect URI in your Spotify app doesn't match the port configured in the plugin. Go to developer.spotify.com/dashboard → your app → Settings → Redirect URIs. The default is http://127.0.0.1:8888/callback. If you changed the callback port in Project Settings, the URI must match (e.g. http://127.0.0.1:YOUR_PORT/callback). No trailing slash, no https, no localhost.
Browser shows "This site can't be reached" after approving
This is not an error. Spotify redirects to your local callback address (default 127.0.0.1:8888). The plugin's local server captures the token automatically. The browser error just means the server already captured the token and shut down. If the plugin hasn't connected after a few seconds, use the manual fallback field.
"Access denied (HTTP 403)" when browsing playlists
Open your Spotify Developer Dashboard. Select your app → Settings. Under APIs Used, ensure Web API is enabled. Under User Management, make sure your Spotify account email is added. Then go to Gear Menu → Clear Authentication and re-authorize.
It says "not playing" but Spotify is open and playing
The Web API only controls the active Spotify Connect device. Make sure your computer is selected as the active device in Spotify's device picker. The plugin polls every few seconds so it may take a moment. Click the device selectorin the plugin's status bar to verify your device is listed.
Playback controls don't respond
Make sure your media player is actively playing on at least one device. The plugin controls an existing session - it doesn't create one. In Remote mode, try clicking the device selector to verify your device is listed and transfer playback to it.
Auto-pause isn't working
Check that Auto-Pause During PIE is enabled in Project Settings → Plugins → Music Remote Player, or toggle it from the gear menu. If music was already paused when PIE started, it won't resume on stop. Works in both Local and Remote modes.
Can I use this without Spotify Premium?
Local mode works without any Spotify account - it controls whatever media player is running on your PC. Remote mode requires Spotify Premium because the Web API playback control endpoints require it.
Port conflict during authorization
The OAuth callback server uses a configurable port (default: 8888). If another application is using this port (e.g., Jupyter), change it in Project Settings → Plugins → Music Remote Player → Playback → Callback Port. Important: if you change the port, you must also update the Redirect URI in your Spotify Developer Dashboard to match. Alternatively, use the manual URL paste fallback.
Plugin doesn't reconnect after restarting the editor
Saved tokens may have expired. Use Gear Menu → Re-authorizeto re-authenticate. Ensure your Spotify Developer App hasn't been deleted or modified in the Spotify Developer Dashboard.
How do I reset / re-authorize?
Open the player's gear menu and click Clear Authentication to remove saved tokens (Client ID is preserved). Use Re-authorize to clear everything and immediately restart the authorization flow.
Keyboard shortcuts don't work
Shortcuts are disabled by default. Enable them in Project Settings → Plugins → Music Remote Player → Keyboard Shortcuts → Enable Keyboard Shortcuts. Shortcuts only work when connected to a music service. If a shortcut conflicts with another editor action, change the key binding in the plugin settings.
Can I change the keyboard shortcuts?
Yes. All 8 shortcuts are fully customizable in Project Settings → Plugins → Music Remote Player → Keyboard Shortcuts. Click the field and press your desired key combination.
Does the plugin affect editor performance?
No measurable impact. The plugin is designed to be as lightweight as possible:

Local mode is entirely event-driven via Windows SMTC callbacks - it performs zero polling and reacts instantly to track changes.
Remote mode polls the Spotify API on a configurable interval (default every 5 seconds, adjustable from 1–30s in plugin settings). Each poll is a single lightweight async HTTP request that runs off the game thread.
Album art is downloaded asynchronously, cached in memory after the first fetch, and limited to 6 concurrent downloads. Subsequent requests for the same image are served instantly from the cache.
Progress bar interpolation is a trivial float increment in Tick - no API calls, no allocations.

The plugin runs exclusively in the editor and is never included in packaged builds. Polling is also automatically disabled in headless/unattended mode (e.g. -NullRHI, commandlets, automated tests).
Can I use both Local and Remote modes simultaneously?
No. The plugin operates in one mode at a time. You can switch between them instantly via the gear menu without restarting the editor.
Does album art work in Local mode?
It depends on the media player. Apps that expose thumbnail metadata through Windows SMTC (Spotify, AIMP, most browsers) will show album art. Some players (e.g., certain versions of VLC) may not provide artwork. A branded fallback image is shown when no cover is available.
Will my Spotify credentials be shared or uploaded?
No. Your Client ID and OAuth tokens are stored locally on your machine in a config file in your home directory (~/tp_music_remote_config.json).

• The plugin uses PKCE authorization (RFC 7636), so no Client Secret is needed.
• Credentials are only ever sent to Spotify's own API endpoints (accounts.spotify.com and api.spotify.com) - never to any third-party server.
• The OAuth callback listener binds exclusively to 127.0.0.1 (localhost).
Which media players are supported in Local mode?
Any application that registers with Windows System Media Transport Controls (SMTC). This includes Spotify, AIMP, foobar2000, VLC, Windows Media Player, MusicBee, YouTube Music (in browser), and most modern media apps. If a player shows transport controls in the Windows volume flyout, it will work with the plugin.
Disclaimer

This plugin is not affiliated with, endorsed by, or sponsored by Spotify AB. Spotify® is a registered trademark of Spotify AB. To use remote mode and access user playlists, each user must create their own Spotify Developer App. The plugin does not stream, download, or store audio content — it acts solely as a remote control. Use of the Spotify Web API is subject to the Spotify Developer Terms of Service.

The developer will endeavor to keep this plugin up to date, however third-party APIs and services may change at any time without notice and continued compatibility cannot be guaranteed.