Game Launcher Detector
A single batch file that detects every game on your Windows machine — Steam library, Roblox player, Minecraft install, Epic Games launcher — and shows you how to combine them into an e# playable game.
Supported launchers
Steam
Reads steamapps/libraryfolders.vdf and lists every installed game.
Roblox
Detects RobloxPlayerBeta.exe in %LOCALAPPDATA% and reports the version.
Minecraft
Finds .minecraft/launcher_profiles.json and counts the profiles.
Epic Games
Reads Epic's LauncherData.dat and lists the installed titles.
Run it
Download game-launcher-detector.bat, double-click it, and the batch file writes a games.json file you can pass to e#.
What the batch file does
When you double-click game-launcher-detector.bat, it runs in three phases:
Phase 1 — Detect Steam
→ Read %PROGRAMFILES(X86)%\Steam\steamapps\libraryfolders.vdf
→ Parse every steamapps/manifest_*.acf file
→ Output: Steam games list + install paths
Phase 2 — Detect Roblox & Minecraft
→ %LOCALAPPDATA%\Roblox\Versions\RobloxPlayerBeta.exe ← Roblox installed?
→ %APPDATA%\.minecraft\launcher_profiles.json ← Minecraft installed?
→ Output: Roblox version, Minecraft profiles
Phase 3 — Detect Epic Games
→ %PROGRAMFILES(X86)%\Epic Games\Launcher\Data\Manifests\*.item
→ Output: Epic installed titles
Phase 4 — Write games.json
→ Write a JSON manifest of every detected game to .\games.json
→ Print a copy-paste e# snippet that uses Steam::library().pick(title)
Sample output
API Board — Game Launcher Detector v1.4
========================================
[1/4] Detecting Steam games...
→ C:\Program Files (x86)\Steam\steamapps
- Portal 2 (appid 620)
- Stardew Valley (appid 413150)
- Hollow Knight (appid 367520)
- Cyberpunk 2077 (appid 1091500)
Found 4 Steam games.
[2/4] Detecting Roblox...
→ C:\Users\gefrus112\AppData\Local\Roblox\Versions\version-abc123\RobloxPlayerBeta.exe
Roblox installed: version 2.654.321
[3/4] Detecting Minecraft...
→ C:\Users\gefrus112\AppData\Roaming\.minecraft\launcher_profiles.json
Found 2 Minecraft profiles: "gefrus112", "creative"
[4/4] Detecting Epic Games...
→ C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests
- Fortnite (Namespace: fn)
- Fall Guys (Namespace: fg)
Found 2 Epic Games.
========================================
Writing games.json... done.
Total games detected: 8 (4 Steam · 1 Roblox · 2 Minecraft · 2 Epic)
Pick any of them with e#:
use api_board::Steam;
game! Mashup {
scenes: [
Scene::from(Steam::library().pick("Portal 2")),
Scene::from(Steam::library().pick("Stardew Valley")),
Scene::from(Steam::library().pick("Hollow Knight"))
.overlay(position: TopRight, alpha: 0.6),
],
}
Combining games & running the test
Once you have games.json, write your .esharp program that picks games by title, then build + run:
# Build the .game bundle
esharp build mashup.esharp
# Run it to test
esharp run mashup.game
# If everything works, you'll see:
✓ Build OK
✓ Runtime launched · 60 fps · 0 errors
✓ Scenes registered: Portal 2, Stardew Valley, Hollow Knight
No administrator rights needed
The detector batch file does not require admin elevation. It only reads files in user-writable locations: %LOCALAPPDATA%, %APPDATA%, and the user's Steam directory. It does not modify any files.