BiologicalController generates bone physics controllers for CUA (Custom Unity Asset) models with one click. The controller concept is inspired by Stopper's CUA controller, and the plugin is mainly made to better fit my own CUA assets.
The plugin has built-in multi-language support for:
2. Creature Type — choose the preset that matches your creature's body feel.
3. Creature Weight — adjust the overall bone mass (higher = heavier and more stable).
4. Check the options you need (Create Rigidbodies / Create Joints / Create Leaf Controllers / Disable Self-Collision).
5. Click Create Controllers.
6. Fine-tune with Controller Visibility, Bone Scale, and Collider Editor.
The plugin has built-in multi-language support for:
Regular Users
Features
- One-click bone physics — automatically generates Rigidbody + ConfigurableJoint + FreeControllerV3 for every bone in the skeleton.
- 7 physics presets + Custom — Mechanical / Rigid / Stiff / Normal / Soft / Elastic / Jelly, each tuned for a different feel, plus a Custom mode when you start tweaking parameters.
- Custom Properties — fine-tune linear drag, angular drag, joint spring/damper/max force, and choose Bone Joint Mode (Default / Rope / Fixed) for how joints resist being pulled. Switch on Override Rigidbody and Disable Kinematic for models that ship with existing physics. It has its own save/load presets.
- Bone Scale — resize individual bones to fix clipping or shape the model.
- Collider Editor — visually adjust collider sizes (Sphere / Box / Capsule) with X-ray style previews, plus independent collider presets.
- Ignore Neighbor Collision — one slider to make neighboring bones ignore each other's collisions, preventing jitter in dense collider models. Cannot be enabled at the same time as Disable Self-Collision.
- Self-collision control — toggle bone self-collision off; it automatically detects and locks the model's own `Self_Collision` configuration.
- Collision sync — bone collision follows the `Physics Object → Collision` toggle in real time.
- Controller Visibility — show or hide any bone controller, node by node.
- Material conversion — auto-converts Unity Standard Shader materials to the `Custom/Subsurface/GlossNMCull` shader for correct rendering.
- Color settings — diffuse, specular, and subdermis color pickers.
- Animation control — speed animation up to 5× or disable it completely.
- Other settings — Prevent Disappearance, Skinned Motion Vectors, Dynamic Occlusion, and Hide Control Atom.
- Plugin presets — save and load the whole configuration as a JSON file, with an auto-generated thumbnail.
- Multilingual — built-in English and Chinese, plus external language files (Japanese, Korean, German, French, and more).
- Scene persistence — every controller state is saved and restored with the scene.
Usage
Add the `BiologicalController.cslist` plugin to a CUA model that has a bone hierarchy.Notes
The first time you click Create Controllers, a hidden helper Atom named `CustomUnityAsset#BoneControllers` is created. Do not delete it — deleting it breaks the controllers. You can hide it from the scene list with Hide Control Atom in Other Settings.Quick Start
1. Root Node — select the bone that is the root of the hierarchy you want to control.2. Creature Type — choose the preset that matches your creature's body feel.
3. Creature Weight — adjust the overall bone mass (higher = heavier and more stable).
4. Check the options you need (Create Rigidbodies / Create Joints / Create Leaf Controllers / Disable Self-Collision).
5. Click Create Controllers.
6. Fine-tune with Controller Visibility, Bone Scale, and Collider Editor.
Creators
Tentacle Bone Chain Setup (Experimental)
The plugin automatically detects bone chains whose names start with `_Tentacles` or `_Tails` (for example `_Tentacles` → `_Tentacles.001` → ...; the leading-dot suffix is no longer required). To use it:- In Root Node, select a bone that starts with `_Tentacles` or `_Tails` as the root.
- Click Create Controllers.
- Mass, drag, and collider radius gradually decrease from root to tip, making the tentacle tip lighter and more agile.
- The root zone (first 20%) has limited joint angles for stability; the middle and tail zones rotate freely for natural sway.
- Controllers are created following the same rules as a normal chain (root, branch bones, and optionally leaf bones), and the Bone Joint Mode setting applies to the chain's joints.
- Adjacent bones automatically ignore each other's collisions, preventing long chains from intersecting themselves.
Setting the Self-Collision State
- In the Unity Asset model, create an `HM_Config/Self_Collision` path using empty GameObjects. The plugin detects it automatically and locks the toggle (it cannot be changed manually), so it follows the model's own collision settings.
- Bone collision state follows the scene's Physics Object → Collision toggle in real time.
Ignore Neighbor Collision - INC_*
- "INC_" UnityAsset config path. Inside the UnityAsset scene asset, create an empty object path `HM_Config` and add an `INC_` object under it, e.g. `HM_Config/INC_4`. When the CUA with the plugin loads the asset, the plugin automatically reads the "Ignore Neighbor Collision" slider parameter from it.
- When bones are set up with joint links, rigidbodies can cause physical collision deformation issues after CUA is loaded but before the script takes effect. My approach is:
- In Unity, locate the rigidbodies on the bone segments where collisions occur, and enable "Is Kinematic" on them. This effectively prevents physical collision problems after CUA loads. However, enabling "Is Kinematic" may not work well in the controller. To address this, when creating the controller with the "BiologicalController" plugin, find "Custom Properties > Disable Kinematic" and enable it. This will turn off "Is Kinematic" on the rigidbodies at controller creation time.