You are viewing a potentially older version of this package. View all versions.
BellaModsGames-Swing_System-1.0.0 icon

Swing System

Adds a physics-based swinging mechanic to R.E.P.O. Attach to static surfaces and use momentum to traverse levels. Hold Grab to swing, release to jump off!

Date uploaded a year ago
Version 1.0.0
Download link BellaModsGames-Swing_System-1.0.0.zip
Downloads 1383
Dependency string BellaModsGames-Swing_System-1.0.0

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!

Features

  • Physics-Based Swinging: Uses a SpringJoint for realistic rope-like swinging.
  • Surface Attachment: Attach to walls, ceilings, and other static environment pieces within range.
  • Momentum Control: Use movement keys (WASD) to influence your swing's direction and build speed.
  • Integrated Visuals: Utilizes the existing PhysGrabber beam effect for the swing line.
  • Jump-Off Release: Releasing the swing automatically gives a momentum-based jump in your current direction.
  • Configurable Physics: Tune the swing distance, forces, and joint properties via the config file.
  • Seamless Input: Integrates with the default Grab key (Hold to swing, Release to detach).

Installation

  1. Ensure you have BepInEx installed for R.E.P.O.
  2. Download the latest release of this mod.
  3. Extract the contents (the .dll file) into your BepInEx/plugins folder within your R.E.P.O. game directory.
  4. Launch the game!

Controls

  • Hold Grab Key (Default: Left Mouse Button): Aim at a valid surface (wall, ceiling) and hold to attach and initiate swing.
  • WASD (while swinging): Influence swing direction and speed. Push forward/backward to increase/decrease arc, left/right to steer.
  • Release Grab Key (while swinging): Detach from the surface and perform a jump, conserving your current momentum.

Configuration

  • 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.
  • Use WASD actively during the swing to build and maintain momentum.
  • Timing your release (releasing the Grab key) is key to launching yourself effectively. Release at the peak or downswing for different trajectories.
  • Gain initial speed by sprinting before initiating a swing.

Known Issues

  • Physics might behave erratically if attaching very close to a surface or in tight corners.
  • The beam visual might sometimes clip through geometry depending on the angle.

Compatibility

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

  • Player movement input or physics.
  • The PhysGrabber's grabbing or beam activation 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.0

  • Initial functional release based on the discussed implementation.
  • Hold-to-swing, release-to-jump-off mechanic.
  • Uses existing PhysGrabber beam visuals.
  • Configurable physics parameters.