Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser





Quick Information

A library for creating complex rope rigging.Halyard supports:- Fast Verlet rope simulation- Partial collision support with external RigidBodies.- Rendering as a textured tube or as a chain.- Dynamic resizing from either rope end.- Gizmo preview of state in editor.- Anchors for attaching the rope to objects.- Attachments for decorating the rope with nodes.- Subclassing, including `PullRope`, a rope for pulling on RigidBodies from the end.
Halyard: A Fast Verlet Rope Library
A high-performance, cross-platform rope simulation library using the Verlet integration method. For when you need rope, and you need it quickly.
Features
- Fast rope physics using Verlet integration.
- Supports arbitrary rope attachment points and anchors for complex rigging.
- Configurable rope length, stiffness, and segment count.
- Limitted collision detection and response.
- Bodies can collide with rope, modelled as a capsule chain.
- Rope can collide with bodies, but is modelled as points.
- Apply forces to an anchor with the PullRope class.
- Dynamically resize rope length for creating hoists.
- Render rope as a mesh tube or as individual chain links.
- Endcap and attachment support for rope details.
- TODO:
External RigidBodies can apply forces to ropesRopes can be infinitely stiff, like in metal chainsPullRopes can transfer forces through anchorsRopes preserve their orientation through anchorsRope positions can specify their own Basis
The attachment system can used to create complicated rigging arrangements like cargo nets, spider webs and ratlines. The anchors can be used to create the illusion of pulleys.
Installation
Install the build tools for your platform, same as you would for building godot. See: https://docs.godotengine.org/en/stable/contributing/development/compiling/introduction_to_the_buildsystem.html
Clone the repository to your addons folder:
git clone https://github.com/mikest/halyard.git
Initialize the submodules:
git submodule update --init --recursive
Build the library using SCons or CMake:
scons compiledb=yes
or for debug builds...
scons dev_build=yes compiledb=yes template_debug=yes
Reload your project.
Usage
- Import the library into your project.
- NOTE: On 4.3 you may encounter errors related to SVG images on the first load. It should succeed on the second load.
- NOTE: On OSX you will have to work through explicitly allowing the dylibs to open.
- NOTE: One Windows you may also need to do this.
- You can avoid this by building from source. The repo is designed to be checked out directly into your addons folder for this reason.
- Open the example scene and look around.
- Create a rope instance and configure its parameters.
- Attach rope ends to objects or positions. Rope details will be scaled to rope width, so model your attachments at 1:1 for a 1m thick rope.
Demo
See example.tscn
for an example of using this library to generate ship ratlines.
You can also find a variety of tests that demonstrate different capabilities in the `tests folder.
Some examples:
anchor_test.tscn
: Anchor placement.attachment_test.tscn
: Various attachment behaviors.chain_test.tscn
: Testing out chain link rendering.pull_test.tscn
: Test out thePullRope
class with an offset anchor on a RigidBodystretch_test.tscn
: Test out stretching behaviorsswing_test.tscn
: Test out a pair of PullRopes pulling on a RigidBody3D.vine_test.tscn
: Test out chaining ropes together in branching structures.web_test.tscn
: Test out weaving multiple ropes together with shared anchor and attachment resources.
Documentation
- API reference: See the built in documentation for the classes.
- Build instructions: See
SConstruct
Contributing
Pull requests and issues are welcome! Please see CONTRIBUTING.md
for guidelines.
License
This project is licensed under the MIT License. See LICENSE.md
for details.
A library for creating complex rope rigging.
Halyard supports:
- Fast Verlet rope simulation
- Partial collision support with external RigidBodies.
- Rendering as a textured tube or as a chain.
- Dynamic resizing from either rope end.
- Gizmo preview of state in editor.
- Anchors for attaching the rope to objects.
- Attachments for decorating the rope with nodes.
- Subclassing, including `PullRope`, a rope for pulling on RigidBodies from the end.
Reviews
Quick Information

A library for creating complex rope rigging.Halyard supports:- Fast Verlet rope simulation- Partial collision support with external RigidBodies.- Rendering as a textured tube or as a chain.- Dynamic resizing from either rope end.- Gizmo preview of state in editor.- Anchors for attaching the rope to objects.- Attachments for decorating the rope with nodes.- Subclassing, including `PullRope`, a rope for pulling on RigidBodies from the end.