01
Hanging Cable
- Place two actors in your level (any actor works)
- Add a
Cable Point Componentto each actor - Hit Play. Nearby Cable Points auto-detect each other and spawn a cable between them. Or add the other actor to
ManualConnectionActorsfor an explicit connection.
02
Cable Web
- Place several actors with
Cable Point Components - Make sure
bAutoConnectNearbyis on (default) and they share the sameCableChannel - Adjust
AutoConnectRadiusandMaxAutoConnectionsas needed - Hit Play. Cables auto-generate between nearby points. Set one point as
bIsCableParentto flow its Cable Defaults to the entire network.
03
Player Tether
- Add a
Tether Componentto your player character - Place
Cableactors,Wrapping Cableactors, orTether Pointactors in your level - Call
TetherToCable(Cable),TetherToWrappingCable(Cable),TetherToActor(Actor), orTetherToPoint(WorldPos)to connect - A visual link cable appears between the player and the target
- Customize the link cable look with
LinkCableMesh,LinkCableMaterial, attach meshes, etc. - Call
Detach()to disconnect
04
Runtime Pinning
- On your
Cableactor, find theVerletCablechild component and setbAllowPinning= true - Add a
Cable Interaction Componentto your player character (setDetectionModeto Proximity or Aim) - Call
PinNearestCable()- finds the nearest cable, pins the closest particle, returns the index - Pins act as pulleys: rope slides through them, tension equalizes across sections
05
Zipline
- Place a
Zipline Cablein your level (a Cable Actor with ride physics pre-enabled) - In your player Blueprint, call
StartRiding(Character)on the Zipline Cable - The player rides along the cable with auto-direction and gravity influence
06
Rope Swing
- Add a
Swing Componentto your player character - Call
StartSwinging(PlayerCharacter)- it fires an aim trace from the camera and spawns a grapple rope to the hit point - Use
AddPumpInput()each tick from input to pump the swing. CallStopSwinging()to release with a launch - Or use
StartSwingingAtPoint(Character, PivotPoint)to swing from an explicit world position
07
Wrapping Cable
- Place a
Wrapping Cableactor in your level - Set
AttachStartToandAttachEndToto two actors (or use offsets for positions) - Assign a
CableMeshandCableMaterialunder Appearance - Hit Play. The cable sags between endpoints and automatically wraps around any geometry it touches
- To let the player grab it, add a
Cable Interaction Componentand callGrabCable()
08
Sweep Cut
- Add a
Cable Interaction Componentto your character - Set
bAllowCutting = trueon each cable's Verlet component - On attack start, call
StartSweepCut(). On attack end, callStopSweepCut() - Cables that enter the sweep radius while the player moves are sliced automatically
- Tune
SweepCutRadiusfor blade width andMaxSweepCutsPerFrameto limit frame spikes in dense clusters
09
Spawn at Runtime
- Call
SpawnCableBetween(StartActor, EndActor)from theTether Utilslibrary - CableLength 0 = auto-calculate with 20% slack. NumSegments 0 = auto from distance
- Pass
nullfor EndActor and useEndOffsetas an absolute world position - Returns the spawned
Cable Actor- store the reference for later manipulation
10
Vehicle Towing
- Add a
Tow Componentto the vehicle that tows (truck, crane, etc.) - Add a
Tow Target Componentto anything towable. SetAttachSocketfor a precise hitch point - Call
AttachTowToNearest()orAttachTow(TargetActor)to connect. A physics cable spawns between them - Tune
TowStiffness,TowDamping, andBreakForceunder Tow Physics
11
Pull Physics Objects
- Add a
Pull Componentto your player character - Call
PullObject(PlayerCharacter)- aim trace from camera, attaches rope to first physics object hit - The target is pulled toward the player automatically.
OnPullCompletefires when it arrives - Set
PullMaxMassto filter heavy objects.OnPullFailedfires with reason (NoHit, NotSimulating, TooHeavy)
12
Rope Climbing
- Add a
Climb Componentto your player character - On the cable, set
bClimbable = true - Call
StartClimbing(PlayerCharacter)- aim trace grabs the nearest climbable cable - Feed input with
AddClimbInput(Value)each tick. Positive = up, negative = down. CallStopClimbing()to release with a launch