SoftBody2D - Plugin that adds deformable 2D soft body

Godot SoftBody2D


A SoftBody2D is defined by a set of RigidBody2Ds and Joint2Ds used to simulate it and a Skeleton2D used to deform the texture.


  • Automatic (Recommended): Download the plugin from the official Godot Asset Store using the AssetLib tab in Godot.

  • Manual: Download the source code and move only the addons folder into your project addons folder.


You can create multiple types of softbodies with this plugin, such as:

  • Bouncy SoftBody2D

  • Breakable/Deformable SoftBody2D

  • SoftBody2D with Hole

Video Tutorial


How this plugin creates a softbody

  1. Create polygon from texture around edge.

  1. Optionally do the same for hole texture.

  1. Create multiple regions of same size around polygon.

  1. Delete the regions the polygon or inside the hole polygon.

  1. Creates a Skeleton2D child. Creates a set of Bone2D nodes of the Skeleton2D, each having a region and assign correct weights to them.

  1. Creates a set of RigidBody2D nodes, one for each region with a CollisionShape2D child, a RemoteTransform2D child that targets the coresponding Bone2D position, and a set of Joint2D children that connect neighbouring rigidbodies. Also for each Bone2D node, make it lookat another neighbour node.

  1. When the joint length is too big, the joints breaks. Then, the weights for both bones are updated to no longer have weights in the other region.


A vibrant community for discussion, user support and showcases.


Godot SoftBody2D is distributed under the MIT license. See LICENSE for more details.

Uses parts of code from godot-chunked-voronoi-generator