Wiggle Bones is a physics simulation add-on for Blender. It enables the bones to behave like dynamic springy rigid bodies, allowing for real time simulation of wiggly physics.
This project is based on jurassicjordan's fork of Labhatorian's fork of the original Wiggle 2 by shteeve3d
Wiggle Bones is a partial refactor of the original Wiggle 2 add-on, aiming to ensure compatibility with Blender 5.0 and newer and resolve some of the long standing issues it had, while maintaining the physics behavior of the original intact.
For a more detailed list of changes, check the Fixes section below.
Pinning allows a Wiggle Bone to follow an object affecting the whole chain.

Pinning on Armature for the armature.Pin Target from the Bone Tail settings.Different solvers provide different tradeoffs between simulation quality, pinning accuracy and performance.
Forward (default) - Original Wiggle solver. Fastest and preserves the classic simulation, but incompatible with pins. Used automatically when pinning is disabled.
Backwards - Prioritizes accurate pinning, especially on long chains, at the expense of different simulation behavior.
Mixed - Alternates between Forward and Backwards passes to balance pinning accuracy and simulation quality.
Dual - Runs both Forward and Backwards passes every iteration. Provides the strongest pinning but has the highest computational cost.



This feature pairs bones and together with full collision detection generates an invisible plane between them, which is then used for collisions.
Please note that this implementation is still experimental and might not work perfectly since it's a bit challenging to test and refine. You can explore the current code on the Bone Pairs branch.
Install and Enable the Add-on

Select an Armature Object

Enable Wiggle on the Armature

Select a Pose Bone

Enable Wiggle on the Bone

Configure Bone Physics

Set Up Collision


Utilize Global Utilities

Bake Wiggle

This version focuses on code cleanup, maintainability and compatibility with current versions of Blender. Below is a list of the principal changes introduced in this fork.
Migrated properties to be stored on Property Groups:
.blend file even when the add-on was not enabled.wiggle Property Group.Legacy data migration & cleanup:
Code cleanup & bug fixes:
Please check the upstream forks for more details on their changes over the original Wiggle 2.
| New Wiggle Bones (Blender 5.1) | Original Wiggle 2 (Blender 3.6) |
|---|---|
![]() |
![]() |
Motion: The Spark by Epic, converted to vmd by LeomarieMMD & Hulasemoos.
The following are two notable Wiggle 2 forks with different physics algorithms, each producing a distinct simulation.
Jiggle Physics by naelstrof. A fork of Wiggle 2 that implements a Verlet algorithm for the simulation.
Wiggle 2: RTX Edition by mayalhc. A complete rewrite of Wiggle 2, implementing a new physics system.
Wiggle Bones is licensed under the GNU General Public License, Version 3.
Individual files may have different, but compatible licenses.
This extension does not require special permissions.
I want to follow up what another user said: This doesn't seem to work in Blender 5 and up--"Repository found: 'extensions.blender.org' The extension dropped was not found in the remote repository. Check this is part of the repository and compatible with: Blender version 5.2.0 on 'windows-x64'."
Btw I have no idea what "Version" means, this is my first time posting anything, so ignore that foolishness.
That's the exact message I got when dragging and dropping from the site--hope this was helpful. Sorry if it's an issue on my end.
Currently Auto Sync Bones does not work with 5.1.2. Everything else seems to work fine but if you select multiple bones and adjust settings, only the active bone will be adjusted. You gotta do blenders native Alt + Click to set settings or enable bones for multiple selected bones.
It'd be a perfect 5 star addon if not for that. Haven't ran across any other bugs. yet.
Hello.
The feature should still work on Blender 5.1.2. It is disabled by default though, you just need to toggle it on, and changes to bone settings will be applied to all selected bones. Keep in mind that properties like enabling tail & head, and mute bone, are intentionally not synced.
If you've already enabled it and bone settings are still not being synced, please open an issue on GitHub, so i can give it a proper follow up.
So far the best version off wiggle I have come across.