You are viewing a potentially older version of this package.
View all versions.
DesktopBuddyRuntime
Runtime payloads for DesktopBuddy, including FFmpeg, tunnel, virtual camera, and virtual audio setup files.
| Date uploaded | a day ago |
| Version | 1.0.0 |
| Download link | DevL0rd-DesktopBuddyRuntime-1.0.0.zip |
| Downloads | 18 |
| Dependency string | DevL0rd-DesktopBuddyRuntime-1.0.0 |
README
DesktopBuddy
DesktopBuddy brings your Windows desktop into Resonite as native-feeling world-space panels. It is built for people who want their real desktop, monitors, and application windows available inside a world without turning the experience into a flat screen overlay.
Features
- Spawn full desktops, monitors, or individual application windows as grabbable curved panels.
- Interact with windows using VR controller, hand tracking, or touch input.
- Fully gpu accelerated WGC desktop capture.
- Stream panels to other users through local encoding and remote HTTPS tunnel support.
- Virtual video camera drivers for windows so you can do video calls from within resonite.
- Virtual microphone driver for windows so friends can hear you in calls in resonite.
- Use privacy controls for hiding or limiting what other users can see.
- Adjust capture, streaming, audio, culling, viewer, and debug options from the in-world settings panel.
- Keep game-side and renderer-side work separated through the shared texture bridge.
Credits
Special thanks to the projects and libraries DesktopBuddy builds on.
| Project | What DesktopBuddy uses it for |
|---|---|
| BepisLoader | Game-side BepInEx loader |
| BepisResoniteWrapper | Resonite engine-ready startup hook |
| InterprocessLib | Control messages between the game plugin and renderer bridge |
| BepInEx.Renderer | Renderer-side BepInEx loader |
| RenderiteHook | Renderer-side hook support |
| FFmpeg | H.264/HEVC encoding libraries in DesktopBuddyRuntime |
| FFmpeg.AutoGen | C# bindings for FFmpeg, packaged in DesktopBuddyRuntime |
| cloudflared | Bundled Cloudflare Tunnel client for public HTTPS stream URLs |
| SoftCam | DirectShow virtual camera filter |
| VB-Cable | Virtual microphone driver; no public source repository is provided by VB-Audio |
| Harmony | Runtime patching |
| CsWinRT | Windows Runtime interop support used by Windows.Graphics.Capture |
License
AGPL-3.0 - see LICENSE.
CHANGELOG
1.0.15 - 2026-05-18
Build And Packaging
- Fixed zip layout.
- Split runtime payloads into a separate
DesktopBuddyRuntimeThunderstore package.
1.0.14 - 2026-05-16
Settings And UI
- Added a dedicated General settings tab after Viewers.
- Added General toggles for showing DesktopBuddy in the context menu and enabling throw-to-destroy.
- Moved experimental spatial audio from Devices to General.
- Changed the settings panel title to show
DesktopBuddy - version. - Replaced the generated context-menu Desktop icon with the packaged transparent DesktopBuddy icon.
Streaming And Audio
- Fixed remote stream audio playback being tied to the owner's local stream preview state.
- Kept stream audio volume local to each user instead of resetting it from shared stream settings.
- Removed the global Audio tab volume slider to avoid confusing shared/local audio control.
- Fixed the remote stream visual missing the current panel curvature on spawn.
Visual Fixes
- Reworked quick-menu blur so it attaches to the actual quick-menu curved mesh like the settings panel blur.
- Fixed quick-menu blur sizing so it follows the current rounded menu width during expand/collapse and resize.
- Removed custom render-order/render-queue overrides from blur effect materials where they were not needed.
Build And Packaging
- Packaged and deployed
icon_transparent.pngwith the game plugin so runtime UI can use the same icon asset as documentation. - Kept Thunderstore/package metadata in sync with the new version.
- Disabled Thunderstore publishing while keeping the package layout for GitHub release zips.
- Updated GitHub releases to attach the install zip and show manual Gale/manual BepisLoader install paths before the changelog.
- Moved in-game update links and checks to GitHub releases.
1.0.12 - 2026-05-15
Loader And Distribution
- Converted DesktopBuddy from Resonite Mod Loader to BepisLoader/BepInEx.
- Added Thunderstore-first package metadata with BepisLoader, BepisResoniteWrapper, InterprocessLib, BepInExRenderer, and RenderiteHook declared as dependencies.
- Removed the legacy RML manifest, RML deployment paths, RML config handling, bundled RML/BepInEx reference DLLs, and manual InterprocessLib source copy.
- Added GitHub Actions support for Thunderstore publishing and changed GitHub releases to point users to the Thunderstore package page instead of uploading a second install zip.
- Added a separate Thunderstore README focused on what DesktopBuddy is and what it does.
First-Run Setup
- Added an in-world DesktopBuddy setup panel that appears from the Desktop context-menu item when local Windows setup is missing or outdated.
- Setup now checks only the Windows pieces DesktopBuddy owns: SoftCam registration, VB-Cable installation, VB-Cable loopback, and the local streaming URL ACL.
- Setup asks for administrator permission only after pressing Install, then refreshes the panel status and waits for Close before continuing startup.
- The setup panel can be closed to continue loading DesktopBuddy even when optional setup is skipped.
- Added packaged setup payload hashes so SoftCam and VB-Cable setup can be rerun when those bundled payloads change.
Organization And Maintenance
- Reworked DesktopBuddy into a feature-sliced modular monolith with focused App, Configuration, Sessions, Streaming, Capture, Input, UI, Networking, VirtualDevices, Win32, and Utilities areas.
- Split the old DesktopBuddyMod, SessionLoop, SessionSpawner, SettingsPanel, FfmpegEncoder, WgcCapture, and WindowInput monoliths into smaller responsibility-focused files.
- Added shared UI primitives for curved panels, scrollbars, stick scrolling, and common styling.
- Cleaned up naming around SoftCam, VB-Cable, Cloudflare tunnel handling, stream servers, and port forwarding.
- Added
CODE_ORGANIZATION.mdguidance for keeping future changes dry and organized.
Streaming And Runtime
- Moved shared stream ownership, release, refcount, and cleanup behavior into shared stream lifecycle/registry helpers.
- Split session update behavior into resize, cleanup, virtual device ticking, window polling, and event processing services.
- Improved built-in stream startup and delayed remote URL binding so stream URLs are attached when the encoder and public URL are actually ready.
- Kept Cloudflare tunnel support as the built-in remote HTTPS path while leaving external MediaMTX mode available for users who configure it.
Settings And UI
- Broke the settings panel into focused tab, layout, primitive, style, viewer row, culling preview, update, and debug modules.
- Kept the current DesktopBuddy visual style while making settings controls reusable and less duplicated.
- Updated README and package documentation for BepisLoader, Thunderstore, current build scripts, and the new release flow.
Build And Packaging
- Replaced batch build/package scripts with PowerShell scripts.
- Build and package scripts now generate
DesktopBuddySetupPayloads.md5from the setup payloads. - Packaging now uses the Thunderstore layout directly and includes
CHANGELOG.mdplus the Thunderstore README. - Local build/deploy supports Gale profile selection while defaulting to the
Defaultprofile. - Removed old setup scripts and no longer packages
INSTALL.txt.
1.0.10 - Previous Release Notes
DesktopBuddy got a major in-world control upgrade in this release, with a new curved Settings panel, a redesigned quick menu, richer streaming controls, and cleaner release/install tooling.
Highlights
- Added a curved DesktopBuddy Settings panel that matches the main panel shape and opens directly in-world.
- Redesigned the bottom quick menu as a compact hover pill with the new purple-to-blue visual theme.
- Added tabbed settings for viewers, stream quality, networking, virtual devices, debug logs, and update info.
- Added viewer-aware stream controls with per-user enable toggles and live culling status.
- Added frustum and distance-based viewer culling with an in-world preview guide.
- Added local-only stream playback gating so viewers outside the culling area stop receiving the stream while the panel itself remains visible.
- Added a short grace period when viewers leave the culling area so streams do not flicker on brief boundary crossings.
- Added stream presets for resolution, FPS, bitrate, encoder preference, and preferred GPU selection.
- Added network controls for Cloudflare, port forwarding, automatic external IP detection, manual host entry, and stream port settings.
- Added virtual device status cards for SoftCam, VB-Cable, virtual camera, virtual mic, and experimental spatial audio.
- Added a rounded virtual camera preview on the devices page.
- Added an in-game update/info page with project info, GitHub access, current version, changelog display, and reset-to-defaults.
- Added a combined debug log export that includes DesktopBuddy and renderer-side logs.
- Added an in-game debug log viewer that keeps the newest lines visible.
Streaming And Audio
- Stream audio now plays at full source volume and is controlled locally by each user.
- Owner stream preview uses the same stream playback path as remote viewers.
- Stream playback now starts and stops per user instead of disabling shared panel visuals.
- Stream quality changes are applied through the runtime stream pipeline instead of requiring broad manual resets.
Visual Polish
- Settings and quick-menu surfaces now use rounded blurred backdrops that match the curved DesktopBuddy panel.
- Controls, section headers, toggles, sliders, text fields, status badges, and scroll areas have been rethemed for a cleaner premium look.
- Status badges have been standardized across network and virtual-device pages.
- Viewer rows now use a cleaner list presentation with avatar-style icons.
Build, Install, And Packaging
- Build scripts now refresh game-side and renderer-side dependency DLLs from the installed game where appropriate.
- Harmony and game/render-side references are refreshed from the local Resonite install.
- Packaging and installer scripts were updated for the dependency layout at the time.
- Release automation includes the changelog artifact used by the in-game update page.