You are viewing a potentially older version of this package. View all versions.
ERRORMODS-ReplayMod-1.2.2 icon

ReplayMod

Full replay engine for RUMBLE with recording, buffering, playback controls, and mod extension support.

Date uploaded 2 weeks ago
Version 1.2.2
Download link ERRORMODS-ReplayMod-1.2.2.zip
Downloads 13
Dependency string ERRORMODS-ReplayMod-1.2.2

This mod requires the following mods to function

LavaGang-MelonLoader-0.7.1 icon
LavaGang-MelonLoader

The World's First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono

Preferred version: 0.7.1
UlvakSkillz-RumbleModdingAPI-5.1.2 icon
UlvakSkillz-RumbleModdingAPI

API to Help Modders Get Started and to remove the necessity of GameObject.Find

Preferred version: 5.1.2
Reverb_and___and_Spice-UIFramework-0.6.0 icon
Reverb_and___and_Spice-UIFramework

UI for MelonPreferences and more in Rumble VR

Preferred version: 0.6.0

README

Replay Mod

Replay Mod is a replay and animation system for RUMBLE VR. It records gameplay into a Brotli-compressed binary format and allows replays to be viewed in-game.

It can be used for:

  • Match analysis
  • Animation and cinematic capture
  • Debugging gameplay behavior
  • External analysis or tooling using the provided replay format

Multiplayer Maps In Single Player is highly recommended for this mod in order to
maneuver through the replays correctly.


How to use

Recording

You can start recording in two ways:

  • Automatic: Enable Auto Record Matches or Auto Record Parks in the mod settings.
  • Manual: Hold the custom hand gesture for 3 seconds. You'll hear a clicking sound along with a corresponding VFX when a recording starts.
    HandGesture

Doing the gesture again will stop and save the recording.


Replay Buffer

If enabled, the replay buffer continuously records the last few seconds of gameplay.

  • The duration of the buffer can be configured in the mod settings.
  • To save the current buffer, press both buttons on the controller side you've selected.
  • A pop sound and a haptic vibration (if enabled) will play when saved.

Replay Table

The Replay Table appears near the region selector in Gym.

  • Use the left/right arrows to scroll through saved replays.
  • Hold the Load button under the replay name to load into it's map and view the replay.
  • Replay names and metadata display according to the formats defined in:
    • UserData/ReplayMod/Settings/MetadataFormats
    • UserData/ReplayMod/Settings/AutoNameFormats/

These use tag-based templates. Tags are documented in the files themselves.

Crystals

Holding the Crystallize button on the side of the Replay Table will turn the currently selected replay into a physical crystal

  • Crystals can be held and placed anywhere in the Gym.
  • Throwing a crystal back onto the table will select the replay it contains.

Playback Controls

While a replay is playing, you can toggle the playback panel by doing the following gesture:
Playback Controls Gesture
This opens a control menu with:

  • A timeline that shows current time and total duration
  • You can scrub through the replay by dragging your finger along the timeline
  • Playback speed controls:
    • +0.1, -0.1, +0.1, +1
  • Play / Pause toggle
  • Stop replay
  • Exit scene

This panel can also be punched to toggle it off.

Alternatively, you can also do this gesture to toggle pause:
Pause Gesture


Timeline Markers

The timeline will show markers at key moments. These markers can be toggled individually in the mod settings:

  • Red: Large Damage
  • Black: Match Ended
  • Purple: Round Ended
  • White: Manual Marker

POV Mode

You can view the replay from any recorded player's perspective:

  • Tap the POV button on the Playback Controls to open the player selector.
  • A slide-out panel will appear with a list of players
  • Tap a player to switch to their perspective

You can also toggle Hide Local Player to remove your avatar while viewing through a player's POV.
The legacy camera must be enabled for POV mode to work.


Replay Settings Panel

Once a replay is selected, a second panel appears with tools for managing the file:

  • Timeline and duration display
  • The timeline here also can be dragged with your finger when the replay is loaded
  • Rename button (with keyboard input)
  • Copy path button
  • Delete button
  • Favorite button

And while a replay is playing:

  • POV Button (see above)
  • Hide Local Player
  • Open Playback Controls

Replay Explorer

When no replay is selected, a File Explorer is shown, allowing you to view multiple replays at once.
The top of the panel displays the current path, and below it is a list of replays and folders inside your
Replays Directory.

Opening a folder will add a .. entry at the top of the list, which allows you to move up a folder.

At the bottom of the panel, two buttons let you switch between pages of entries.


Developers

The replay format is documented here The documentation for the API is found here An example mod for using the API is written here

Tools:


Credits

ERROR - Development of ReplayMod

TacoSlayer - UI design help, logo design, and design feedback
Blank - Help with the binary format, GitHub workflow, and design decisions
MatsuNoKi - UI feedback and design decisions
ContagiousPow - UI design feedback, testing, and other design decisions
Kurama - UI feedback
Cxntrxl - UI feedback
UlvakSkillz - Code reference from MultiplayerMapsInSingleplayer
Dr.Rock - Lots of testing

Testing

Thanks to everyone who helped test ReplayMod and report issues:

boxyk9, Roydaboy27, Dr.Rock, MatsuNoKi, ContagiousPow, iListen2Sound,
Footi, Lemmi05, @pple, WillNinja08, Peanut, BlueEyedFox, Fjm12, Pep,
Hudnimynini, Yiak65, Grand, ChimmyTv, Alexderus117, and BIVN

Third-Party Libraries


And thanks to the rest of the rumble community for supporting me through this project!

CHANGELOG

1.2.3

I forgot to change the dll ugggghhhhh

1.2.2

Hey so like apparently the whole mod was broken for the past two months so:

  • Made replay clones not lag the game anymore and allowed replays to actually play correctly
  • Fixed VFX not showing up in replays
  • Fixed voices not working correctly on clones
  • Added compression level setting for replay files
  • Added a voice volume setting
  • Renamed Visuals Toggles to Playback Toggles
  • Fixed an issue with custom map recordings not changing the map when in the same scene
  • Fixed boulders spawning in Pit replays
  • Made saving recordings not play the success sound when an error happened
  • Made sure everything was cleared between recordings
  • Removed setting structureId for replay structures
  • Made replay clones voices stop playing when switching replays
  • Made sure pooled clones are reset correctly when switching replays
  • Allowed VFX to update when skipping frames
  • Added grounded friction VFX to the replays
  • Fixed some parts of replay clones not updating according to the replay
  • Made POV mode compatible with Custom Avatars
  • Added the healthbar to be visible and working in POV mode
  • Allowed more VFX types to be controlled by the replay
    • Explosions
    • Uppercut
    • Straight
    • Kick
  • Fixed position and rotation recording still adding data when not needed
  • Reduced the amount of arrays it has to make to serialize replay files
  • Made sure voices lined up with when players actually spoke
  • Added more safety checks around saving replay files
  • Made sure external mods couldn't error internal systems with the API

1.2.1

  • Actually added voice settings menu
  • Allowed custom scene replays to be loaded if in recorded scene
  • Fixed players sometimes being invisible because of null mesh.

1.2.0

  • Added MIT License to the project
  • Added Melon Color back (red)
  • Made recordings only serialize after scene loads to prevent errors
  • Made players not able to be null in infos anymore (hopefully)
  • Added voice recording and playback pipeline (wip)
  • Fixed corrupted files in the explorer making the game freak out and break
  • Made favorite icon disappear correctly if it's a folder entry
  • Added more transition states for recording icon
  • Made recording icon more persistent over scene loads
  • Fixed recorded replay clones not showing up in recordings
  • Removed all ModUI and ModUI+ references
  • Fixed crystal erroring when holding grip between scene loads
  • Fixed replay explorer not letting you change replays when the current page is all folders

1.1.1

  • Me when I forget to add the dependencies

1.1.0

  • Replaced ModUI with UIFramework

  • Added player pooling (improved performance and reduced lag)

  • ACTUALLY fixed images in readme this time

  • Fixed links to thunderstore wiki in readme

  • Changed timings for UI long press buttons.

  • Made recordings end on scene async load instead of onMatchEnd for more seamless back-to-back playback.

1.0.1

  • Moved replay tables to new "Multiplayer Maps in Singleplayer" button positions.

  • Changed 'Exit Scene' button to 'Exit Map'

  • Fixed playback controls opening in the wrong place when using the button.

  • Fixed pink background on the player selector.

  • Changed color of explorer path to be more visible.

  • Made sure to put the images actually in the zip file

  • Made sure the readme linked to the github/wiki pages instead.

  • Fixed errors with DebugLog

  • Fixed buttons not being visible sometimes.

  • Fixed shiftstones disappearing when loading back from a replay.

  • Fixed local healthbars appearing when a replay is loaded.

  • Fixed fistbump coin pool being named wrong.

1.0.0

  • Created

Need help? Join the Rumble Modding Discord. People there are happy to help.