[RELEASED] TENSIO - High-Performance DOTS Rope & Chain Physics

Asset Store Link: Tensio: Advanced Rope Physics
Documentation: Tensio Documentation

About Tensio: Tensio is designed for developers who need gameplay-critical physics stability without compromising framerates. By using Unity’s Burst Compiler and C# Job System alongside an XPBD (Extended Position Based Dynamics) Solver, Tensio completely eliminates common jitter issues and delivers extreme performance.

Core Features:

  • XPBD Solver: Stable simulation supporting both stretchy elastic ropes and rigid, non-stretching chains.
  • Multi-Threaded Performance: Zero-allocation runtime physics running on worker threads.
  • Two-Way Interaction: Ropes pull Rigidbodies, and Rigidbodies pull ropes with physically accurate forces.
  • Dynamic Cutting: Slice and divide cables at any point during runtime.
  • Visual & Audio Stress Feedback: Responsive procedural meshes physically thin out and change color as stress increases, paired with procedural creaking and snapping SFX.
  • Aerodynamics: Built-in wind simulation with air drag.

I will be using this thread to post updates, roadmaps, and answer any questions you might have. Feedback, feature requests, and discussions are highly welcome.

Thank you for your support!

TENSIO V1.1 UPDATE IS NOW AVAILABLE!

Release Notes - V1.1

NEW FEATURES & WORKFLOW

  • Unity Splines Integration: Draw and define ropes directly using Unity’s official Splines package for rapid level design.
  • Static Mesh Baking: Instantly freeze a simulated rope in the Editor and bake it into a standard Static Mesh for zero-performance-cost environment dressing.
  • Comprehensive Public API: Interact with ropes effortlessly via script using new methods like AddForce, AddExplosionForce, and symmetrical Vector3 getters.
  • Smart Splitting & Winching: Precisely cut ropes in runtime using SplitAtWorldPosition(worldPos) without raycast math, and smoothly reel ropes in or out using the new ChangeLength() helper.
  • Dynamic Pin Management: Attach, detach, or drop hanging weights instantly during gameplay using UnpinParticle() and UnpinAll().

CORE PHYSICS & XPBD OVERHAUL

  • True Angular Constraints: Completely refactored bending mechanics. Ropes now use isometric bending angles to resist unnatural folding, buckling, or collapsing under high compression.
  • Coulomb Friction & Restitution: Ropes now apply true XPBD friction based on penetration depth. They slide naturally across surfaces but physically “bite” and stop sliding when pulled tight against edges.
  • Fictitious Mass Scaling: Long, heavy chains now converge instantly without requiring massive sub-step counts, keeping the top segments completely stable under heavy loads.
  • Accurate Global Damping: Damping is now applied post-integration, allowing constraints to propagate energy perfectly. Ropes feel significantly heavier and more grounded.

STABILITY & INITIALIZATION

  • Perfect Zero-Pop Warmup: The editor pre-simulation now forces 0 velocity initialization. Combined with instant GPU mesh pushing, ropes wake up perfectly settled with zero start-up jitters or visual pops.
  • Teleportation Protection: Added a kinematic sync threshold to prevent the explosive “whip effect” when moving pinned particles rapidly via the Scene View or script.
  • Sub-step & Velocity Fixes: Implemented sub-step interpolation fixes and max velocity clamping for extreme physics stability.

ADVANCED AUDIO SYSTEM

  • 3D Spatialization for Long Ropes: Tension and wind audio now dynamically “slides” along the rope to stay closest to the player’s AudioListener, ensuring massive cables sound correct from any angle.
  • Impact Pooling: Multiple impact sounds can now overlap naturally without cutting each other off or causing spatial popping.
  • Mixer Routing & Thresholds: Route all procedural audio directly to your Unity Audio Mixer groups and fully customize the exact physical thresholds for max stress and impact velocities.