Void Presence Docs

Learn how to install, configure and debug your Discord Rich Presence.

Getting started

Install the desktop client, create a Discord application, then configure your first Rich Presence profile in the main window.

Need the app?

Download the latest Void Presence build on the download page and follow this guide to configure it.

If buttons or images are missing in Discord, open the status page to check setup, RPC connection and common issues.

Read setup & troubleshooting

Overview

Void Presence is an advanced Discord Rich Presence manager with customizable button pairs, text cycles, image rotation and profile management via drag and drop.

Quick usage

ACTIVE SESSION
IdleWaiting for Discord
client id
update(sec)
Details & State
left column · text rows
images
center/right · large / small keys (small image and hover text are optional)
button pairs
bottom block · button 1 / button 2
  1. Open Discord desktop and keep it running. In Void Presence, the status chip at the top of the main card (same as in the mini preview above) will switch from “Waiting for Discord” once the RPC connection is ready.
  2. In the Discord Developer Portal, New Application, give it a name and choose an App icon. This icon will be used as the avatar of your activity when you are in a Discord voice or text channel.
  3. On the application page, copy the APPLICATION ID and paste it into the rounded client id field at the top of the main card in Void Presence (see the first row in the preview). Then click the save button on the right of this row.
  4. In the row below, set update(sec) – this is how often Void Presence will move to the next entry in your cycles (for example, 30 seconds for a slow rotation).
  5. In the Details & State block on the left side of the main card (first small block in the preview), click + DETAILS & STATE. In each new row that appears, type the top line into the first pill input (Details) and the second line into the lower pill input (State).
  6. In the images block (middle block in the preview), click + image. For each row, fill the large image key, and optionally the small image key and hover texts – these fields can be left empty if you only need one image without captions.
  7. In the button pairs block (bottom block in the preview), click + pair. In each row, type the label and HTTPS URL for Button 1 and optionally Button 2; if Button 2 is empty, only the first button will appear in Discord.
  8. When all fields are filled, click the Save and Restart Presence button under the main card in the app to apply your configuration. The current payload panel at the bottom of the window will show exactly what is being sent to Discord.

Click Save and Restart Presence after each change – the app will automatically save your configuration and restart the active Rich Presence session with the updated details, images and buttons.

How cycles work

Internally, each list (text, images, buttons) is an ordered array of rows. On every tick, Void Presence moves an index forward and uses the row at that position for the next Rich Presence update.

  • Text cycle – rows from the Details & State list are used for the main and secondary lines in Discord.
  • Image cycle – rows from the images list control large/small image keys and their hover texts.
  • Button cycle – rows from the button pairs list control the two clickable buttons; missing second button is simply ignored.
  • If a list has only one row, the same values repeat on every step while other lists still rotate through their own rows.

Cycles UI demo

This example mirrors the Details & State section in the desktop app: a label row, a rounded “+ Details & State” button and a vertical list of draggable rows inside the cycles-list area.

Details & State

In the real app, each row in the cycles-list is draggable: on drag it darkens, gets a glow border and shadow, and you can drop it above or below other rows to change the order in which statuses appear in Discord.

Payload & logs

Below the main card, the current payload block shows the Buttons, Object, State and Uptime fields that match what is currently sent to Discord, and the logs tab collects a scrollable list of update entries.

current payload
ButtonsSupport · WebsiteObjectvoid_presence_activity_v2StateIdle · Desktop clientUptime00:12:34
last update: OK · 3 cycles
logs3 entries
Presence updated
OK · 18:32:10
Presence updated
OK · 18:31:40
Discord not detected
WARN · 18:30:02

Profiles & cloud sync

Profiles store your cycles, images, buttons and client settings so you can quickly switch between different setups.

Profilessave / load presets
name
author ID
saved configs
Tarkov · Stream
3 text, 2 images, 2 buttons
Dev · Website
2 text, 1 image, 1 button

Export and import use JSON files that match exactly the buttonPairs, cycles and imageCycles structures from the desktop client, so shared profiles behave the same on another machine.

Features

  • Custom button pairs – Multiple button sets with labels and URLs; leave the second empty if you only need a single button.
  • Status cycles – Rotate multiple details and state texts on a timer, independently from images and buttons.
  • Image rotation – Cycle through large and small Rich Presence images; shorter image lists are reused automatically.
  • Profiles with drag & drop – Create and reorder presence presets.
  • Config import / export – Move setups between machines via JSON.
  • Auto-launch & auto-hide – Optional start on boot and to tray.