Smart Replay Mover
The Ultimate Zero-Config Organizer for OBS
Automatically organize your Replay Buffer clips, Recordings, and Screenshots into game-specific folders.
Stop messing with Python installations, libraries, and version conflicts. Smart Replay Mover is a native Lua script designed for maximum performance and ease of use. Just add it to OBS, and it works immediately.
Unlike other scripts that rely solely on OBS internal hooks, this tool uses Windows API (via FFI) to intelligently detect what you are actually playing directly from the OS. This ensures your clips land in the right folder every time — even if you use Display Capture, Borderless modes, or play games with strict Anti-Cheat systems.
DOWNLOAD
GitHub Releases: https://github.com/SlonickLab/Smart-Replay-Mover/releases
Check the releases page for the latest version, changelog, and download links.
WHY CHOOSE THIS OVER PYTHON SCRIPTS?
- Zero Dependencies — No Python. No Tkinter. No complex setup.
- Superior Detection — Works flawlessly where standard "Game Capture" hooks fail.
- Native GUI — Configure everything directly in OBS. No editing text files.
- Visual Notifications — Know instantly when your clip is saved without alt-tabbing.
- Anti-Cheat Compatible — Works with Sea of Thieves, Marvel Rivals, Valorant, Fortnite, and other protected games.
- Performance — Runs natively inside OBS without external overhead.
KEY FEATURES
1. INTELLIGENT GAME DETECTION (Windows API)
We don't just ask OBS what it's recording; we check what Windows is focusing on.
- Works with: CS2, Valorant, Marvel Rivals, Sea of Thieves, Dota 2, Elden Ring, and 1800+ built-in games
- Auto-Pattern Matching: "minecraft_1.20.exe" -> Saves to "Minecraft"
- Window Title Fallback: When anti-cheat blocks process name, we detect via window title
- Smart Fallback Chain: Active Process -> Window Title -> OBS Hook
- Result: 99.9% accuracy in sorting files
2. NOTIFICATION SYSTEM
- Visual popup notifications when clips are saved
- ShadowPlay-style dark popup in top-right corner
- Smooth fade-in/fade-out animations
- Click-through design (doesn't block your game)
- Custom sound support (place "notification_sound.wav" next to script)
- Smart Fullscreen Detection: popup in Borderless, sound-only in Exclusive Fullscreen
3. FLEXIBLE CUSTOM NAME SYSTEM
Three matching modes for any situation:
Code:
FORMAT DESCRIPTION
---------------------------------------------------------
CS2 > Counter-Strike 2 Exact process match
+Warhammer Marine > SM2 Keywords (AND logic)
*Space Marine* > SM2 Contains (partial match)
- Import/Export your custom rules with one click
- Share configurations with friends
4. FULL RECORDING SUPPORT
- Organizes Replay Buffer clips
- Organizes regular recordings (Start/Stop)
- Organizes screenshots
- Handles file splitting for long recordings
5. ANTI-SPAM & DUPLICATE CLEANUP
Did you panic-press your save hotkey during a clutch moment? The script analyzes timestamps and automatically deletes duplicate files created within seconds of each other.
6. ORGANIZATION & HYGIENE
- Case-Insensitive: Won't create "Call of Duty" AND "call of duty"
- Date Sorting: Optional monthly subfolders (2025-06/)
- Safety Ignore List: 230+ non-game programs filtered
- Unicode Support: Full support for non-English characters and paths
TROUBLESHOOTING
Clips save to "Desktop" instead of game folder?
Some games with anti-cheat protection (Easy Anti-Cheat, Vanguard, etc.) block the script from reading the process name. If the game isn't in our built-in list, it will fall back to "Desktop".
Solution: Add a Custom Name mapping:
1. Open OBS -> Tools -> Scripts -> Click on the script
2. In CUSTOM NAMES section, enter:
- Game:
Code:
*Your Game Name*
- Folder:
Code:
Your Game Name
Examples:
Code:
*Sea of Thieves* > Sea of Thieves
*New World* > New World
*PUBG* > PUBG
The
Code:
*pattern*
EXAMPLE DIRECTORY STRUCTURE
The script automatically organizes your output folder:
Code:
Videos/
|-- Counter-Strike 2/
| |-- CS2 - 2025-06-15 14-30-01.mp4
| +-- CS2 - 2025-06-15 14-35-22.png
|
|-- Valorant/
| +-- Valorant - 2025-06-16 20-10-55.mp4
|
|-- Sea of Thieves/
| +-- Sea of Thieves - 2025-06-17 18-45-00.mp4
|
|-- Desktop/ (Fallback)
| +-- Desktop - 2025-06-17 09-00-00.mp4
|
+-- Minecraft/
+-- 2025-06/ (Optional Date Subfolder)
+-- Minecraft - 2025-06-18 11-22-33.mp4
INSTALLATION
- Download the latest release from GitHub
- Extract the archive (Right-click -> Extract All)
- WARNING: Do NOT load the .zip file directly into OBS!
- Move "Smart Replay Mover.lua" to a safe folder (e.g., Documents)
- Open OBS -> Tools -> Scripts
- Click [ + ] and select the .lua file
- Done!
CONFIGURATION
Click on "Smart Replay Mover.lua" in the Scripts list to see settings:
FILE NAMING
- Add game name prefix to filename
- Fallback folder name (default: Desktop)
CUSTOM NAMES
- Game identifier (process, +keywords, or *pattern*)
- Folder name
- Add mapping button
- Your mappings list (edit/delete existing)
BACKUP
- Import custom names from file
- Export custom names to file
ORGANIZATION
- Create monthly subfolders (YYYY-MM)
- Organize screenshots
- Organize recordings
SPAM PROTECTION
- Cooldown between saves (0-30 seconds)
- Auto-delete duplicate files
NOTIFICATIONS
- Show visual popup (Borderless/Windowed only)
- Play notification sound (works in Fullscreen too)
- Popup duration (1-10 seconds)
CUSTOM NOTIFICATION SOUND
Want your own notification sound?
- Find a short sound (1-2 seconds recommended)
- Convert to WAV format if needed
- Rename to:
Code:
notification_sound.wav - Place next to Smart Replay Mover.lua
- Reload the script - done!
Code:
C:\obs-scripts\
|-- Smart Replay Mover.lua
+-- notification_sound.wav <-- Your custom sound
️ VIDEO THUMBNAILS (FFMPEG)
Show gameplay frames as file icons in Windows Explorer instead of generic media player logos. Works great with Icaros.
1. Download FFmpeg
- Go to gyan.dev
- Download ffmpeg-release-essentials.zip
- Extract it to a permanent folder (e.g., C:\Program Files\ffmpeg)
2. Configuration in OBS
- Open OBS Studio -> Tools -> Scripts -> Smart Replay Mover
- Scroll to Advanced (FFmpeg) section
- Enable "Enable Thumbnails"
- Click Browse for FFmpeg Path and select ffmpeg.exe (inside the bin folder)
USE CASE EXAMPLES
PROBLEM: Game shows as "Warhammer 40,000 Space Marine 2 CLIENT v11.2.799056" and changes with every update
SOLUTION: Add custom name:
Code:
*Space Marine 2* > Space Marine 2
PROBLEM: I want to know when clips are saved without alt-tabbing
SOLUTION: Enable notifications in script settings!
- Visual popup in Borderless/Windowed mode
- Sound plays even in Exclusive Fullscreen
PROBLEM: I have many custom rules and want to share them
SOLUTION: Use Export button in BACKUP section to save rules to a text file. Share with friends, they can Import with one click!
COMPATIBILITY
- Windows 10 / 11
- OBS Studio 28.x or newer
- Anti-Cheat Games: Fully supported (Valorant, Marvel Rivals, Sea of Thieves, Fortnite, etc.)
- Tech: Pure Lua + Windows FFI (No external DLLs needed)
CHANGELOG
For the full changelog and release history, visit the GitHub releases page:
https://github.com/SlonickLab/Smart-Replay-Mover/releases
LICENSE & SOURCE
GPL v3 License | Open Source
GitHub: https://github.com/SlonickLab/Smart-Replay-Mover
Made with love by SlonickLab
I am glad you like using this script.