BellaModsGames-Swing_System icon

Swing System

Adds physics-based swinging to R.E.P.O.! Hold RMB (configurable) to swing from surfaces (if LMB not held). Release RMB to jump off with momentum.

Last updated 2 weeks ago
Total downloads 4142
Total rating 2 
Categories Mods Tools Misc Client-side
Dependency string BellaModsGames-Swing_System-1.0.1
Dependants 1 other package depends on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

Swing System for R.E.P.O.

Adds a physics-based swinging mechanic to R.E.P.O., allowing you to attach to static surfaces and traverse levels with momentum! Uses the default grab beam visual for the swing line.

Features

  • Physics-Based Swinging: Uses a SpringJoint for realistic rope-like swinging physics.
  • Surface Attachment: Attach to walls, ceilings, and other static environment pieces within range using a dedicated key.
  • Momentum Control: Use movement keys (WASD) while swinging to influence direction and build speed.
  • Integrated Visuals: Utilizes the existing PhysGrabber beam effect for the swing line visual while swinging.
  • Jump-Off Release: Releasing the swing key while swinging automatically gives a momentum-based jump.
  • Configurable Physics: Tune swing distance, forces, and joint properties via the config file.
  • Dedicated Swing Key: Uses a separate key (Default: Right Mouse Button) for swinging, independent of the primary Grab key (Left Mouse Button). Swing only activates if Grab is not held.

Controls

  • Hold Swing Key (Default: Right Mouse Button): Aim at a valid surface (wall, ceiling) and HOLD to attach and swing. This only works if the Grab key (Left Mouse Button) is NOT held.
  • WASD (while swinging): Influence swing direction and speed. Push forward/backward to increase/decrease arc, left/right to steer.
  • Release Swing Key (while swinging): Detach from the surface and perform a jump, conserving your current momentum.
  • Hold Grab Key (Default: Left Mouse Button): Performs the standard R.E.P.O. grab action (unaffected by this mod, unless you are actively swinging).

Configuration

After running the game once with the mod installed, a config file will be generated at BepInEx/config/com.BellaModsGames.reposwingsystem.cfg (or matching your GUID).

  • [Controls]
    • SwingKey: The key to hold down to initiate and maintain a swing. (Default: Mouse1 / Right Mouse Button)
  • [Physics]
    • MaxSwingDistance: Maximum distance the swing line can attach from. (Default: 30)
    • SwingForceMultiplier: How strongly WASD input affects your swing momentum. (Default: 50)
    • UpwardsForceMultiplier: Additional upward boost when pressing 'W' while looking up during a swing. (Default: 10)
    • JointSpring: The springiness/tension of the swing line joint. Higher values = stiffer. (Default: 8.0)
    • JointDamper: How much the swing resists oscillation (damping). Higher values = less bounce. (Default: 5.0)
    • JointMassScale: How much the joint connection ignores the player's mass. Higher values make the connection feel stronger/less affected by player weight. (Default: 5.0)

Tips

  • Aim high on walls or ceilings for longer, more effective swings.
  • Actively use WASD during the swing to gain significant momentum.
  • Time your release (letting go of the Swing Key) to control your launch trajectory.
  • Remember you cannot start a swing if you are already holding the Grab key (LMB).

Known Issues

  • Physics might behave erratically if attaching very close to a surface or in tight corners.
  • The beam visual (borrowed from PhysGrabber) might sometimes clip through geometry.
  • Swinging is primarily designed for single-player; behaviour in multiplayer is untested and likely unsynchronized.
  • Rapidly switching between holding LMB and RMB might occasionally cause unexpected beam visual states (though patches attempt to prevent this).

Compatibility

This mod patches PlayerController and PhysGrabber. It may conflict with other mods that heavily modify:

  • Player movement input or physics, especially related to the grab keys.
  • The PhysGrabber's beam activation/deactivation logic.
  • Gravity application.

Credits

  • Mod created by BellaModsGames

Commissioned Mods

I take commissions for custom mods! If you have an idea for a mod you'd like to see created, feel free to contact me:

  • Discord: bellamodsgames

I can create custom gameplay mechanics or systems tailored to your specific requirements.

Version History

1.0.1 (Current based on our iterations)

  • Changed swing activation to use a dedicated key (Default: RMB).
  • Swing only activates if the primary Grab key (LMB) is not held.
  • Releasing the Swing key performs a momentum jump-off.
  • Uses the game's default PhysGrabBeam for visuals during swing.
  • Refined activation/deactivation logic to minimize theoretical conflicts with standard grabbing.