VR Realms
Discord Wishlist

Build an Avatar

Avatar Physics

Tails, ears, hair, cloth and anything else that dangles. The kit sets all of it up for you when you press Prepare Avatar — this page is for when you want to change how it feels.

Where it lives

Next to your avatar, as an ordinary Animation Blueprint named ABP_<YourAvatar>_Physics. If your mesh is at Community/Avatars/heydar/, the physics is at Community/Avatars/heydar/ABP_heydar_Physics. It is already attached to the mesh as its Post Process Anim Blueprint, so there is nothing to hook up.

Double-click it and open the AnimGraph tab. You will see a row of Kawaii Physics nodes wired left to right. One node = one chain of bones. Six nodes means six things on your avatar move independently.

Working out which node is which

Click a node and look at Root Bone in the Details panel on the right. That is the bone the chain starts at, and it is how you tell them apart — the node rooted at Tail1 is your tail, the one at Ear1_L is the left ear. The node's title in the graph shows the same name, so once you know the pattern you can read the whole graph at a glance.

The settings that matter

Select a node and everything below is in the Details panel under Physics Settings.

Damping — default 0.1

How much the chain resists being accelerated. Lower means more swing and a longer time to settle; higher means it stops quickly. This is the first dial to reach for when something feels dead or feels frantic.

Stiffness — default 0.05

How strongly the chain is pulled back to the shape you modelled. Higher means it barely leaves its rest pose. A tail wants this low so it can trail; a chest wants it high so the motion reads as weight rather than wobble.

World Damping Location & Rotation — default 0.8

How much of your body moving through the world the chain is allowed to feel. This one is worth understanding properly because the number runs backwards from what you might expect:

  • 0 — your movement is fully reflected. Maximum sway.
  • 1 — the chain just follows you rigidly. No sway from movement at all.

The amount that actually gets through is 1 − WorldDamping, so the default of 0.8 lets 20% of your motion reach the chain. Location is for walking and running, Rotation is for turning your body. If a tail looks fine when you turn but does nothing when you walk, this is the pair to look at, not Damping.

Limit Angle — default 0 = no limit

A ceiling, in degrees, on how far any one joint may bend. Its job is stopping the ugly stuff: a chain folding back through the body, or whipping in a circle when you spin. If something is flailing, a limit angle fixes it more cleanly than cranking Damping, because it leaves the nice motion alone and only clips the extreme.

Collision Radius — default 3.0

How thick each bone is for collision purposes. Raise it and hair will sit further off the shoulders instead of sinking into them.

Turning it down without retuning anything

Every Kawaii Physics node has an Alpha pin on its left, set to 1.0. That is the strength of the whole node, and it is the quickest dial in the graph:

  • 1.0 — full physics, what you get by default
  • 0.5 — half. Same character of motion, half the travel
  • 0.0 — the node does nothing at all. The chain stays exactly as you modelled it

Alpha blends between the pose coming in and the pose physics produced, so it scales the whole result rather than changing how the chain behaves. That makes it the right control for "this is correct, just too much" — and the wrong one for "this settles too slowly", which is Damping.

It is also the honest way to calm one chain down while leaving the rest alone: drop that node's Alpha, leave every other node at 1.0. And because it is a pin, you can drive it from a variable or a curve later if you ever want it to change at runtime.

Want everything softer at once? Lower the Alpha on every node rather than editing five settings on each. Two minutes, and trivially reversible if you go too far.

What the kit already set for you

Prepare Avatar does not give every chain the same feel. It picks one of three presets based on what the chain is called and how many bones it has:

PresetUsed forDampingStiffnessWorld DampingLimit Angle
SwingyTails, hair, cloth — anything 3+ bones long0.100.050.800 (none)
SubtleChest, breast, belly0.300.350.9030°
LightShort stubs — ears, 1–2 bone accessories0.150.150.8545°

Those are starting points that look right on most rigs, not rules. If your tail is twice as long as the one these were tuned on, it will want different numbers.

How chains get chosen

Every bone chain that is not part of the core humanoid skeleton is considered, then filtered by name:

  • Gets physics if the root bone's name contains any of: tail, ear, hair, whisker, fluff, fur, floof, feather, fthr, breast, boob, chest, belly, cloth, skirt, dress, coat, cape, scarf, ribbon, wing, horn, antenna, tentacle, chain, strap, bell, tassel, jiggle, dyn
  • Never gets physics if it contains: eye, jaw, tongue, teeth, mouth, lip, brow, lid, nose, cheekbone, toe, finger, thumb, index, middle, ring, pinky, little, ik_, weapon, socket, attach, root — these are driven by animation, face shapes or IK, and physics on them looks broken
  • Otherwise, a chain of 3 or more bones is treated as decoration and gets the swingy preset. A chain of 1–2 bones with an unrecognised name is left alone.

The include list is checked first, on purpose — WhiskerNoseRoot_L contains both whisker and nose, and whiskers should move.

Something didn't get physics and should have? Two ways round it. Rename the bone in your 3D tool so it contains one of the keywords above (Chain_L → Chain_L_dyn works), re-import and press Prepare Avatar again. Or add the node by hand — see below.

Testing it

You do not have to upload anything to see your changes.

In the Blueprint, straight away

  1. Open ABP_<YourAvatar>_Physics. The preview viewport is on the left.
  2. Open the Asset Browser tab (bottom right, next to Anim Preview Editor) and double-click an animation — a walk, a run, or a turn.
  3. Your avatar plays it in the preview and the chains react to it live.
  4. Change a number, press Compile, and watch the same animation again.
Pick an animation that actually moves. A standing idle will show you almost nothing, because World Damping Location and Rotation only respond to your body travelling and turning. Judging a tail on an idle pose is the most common reason people think the physics is broken when it is fine.

The playback bar under the preview has a speed control (x1.0). Drop it to x0.1 to see exactly where a chain overshoots — at full speed a whip and a bounce look the same.

Seeing the shapes

While a Kawaii Physics node is selected in the AnimGraph, the preview draws that chain's bones, its collision spheres and its limit angles directly on the model. That is the fastest way to tell whether a Limit Angle is doing anything and whether your Collision Radius is anywhere near the body. Deselect the node and the drawing goes away.

In the game

Build and upload, then wear it and move around. Turn on the spot, walk, jump, look up and down. Some things only show up at real speed with a real head on.

If nothing moves in-game at all, check Settings → Comfort → Avatar Physics is on. Players can switch physics off entirely — for slower machines, or simply because they prefer it — and it is off for them, not broken for you. Your avatar must still look correct with it off, so never rely on physics to hold a shape together.

Common problems

What you seeWhat to change
Tail feels dead, barely trailsLower Damping and Stiffness. If it only fails while walking, lower World Damping Location instead.
Tail whips or spins when you turnSet a Limit Angle (start around 30°). Raise Damping a little only if that is not enough.
Chest or belly moves too muchRaise Damping and Stiffness, add a Limit Angle of 20–30°. You rarely want either at zero here.
Hair sinks into the shouldersRaise Collision Radius.
Long hair floats instead of hangingRaise Stiffness so it holds the modelled shape, or add downward Gravity on the node.
Everything jittersRaise Damping. Jitter is almost always too little damping rather than too much stiffness.

Change one chain at a time. It is far easier to judge a tail on its own than to work out which of six edits caused a problem.

Adding a chain by hand

  1. Right-click in the AnimGraph and add a Kawaii Physics node.
  2. Set its Root Bone to the first bone of the chain you want to move.
  3. Wire it into the row: the previous node's output into this node's Component Pose, and this node's output onward to the next.
  4. Compile.

Order along the row does not matter much for chains that do not touch each other, so adding yours at the end is fine.

⚠ Pressing Prepare Avatar again rebuilds this Blueprint from scratch and your hand tuning is lost. It has to — otherwise a second run would stack a duplicate node on every chain. So do your physics tuning last, and if you need to re-run Prepare Avatar (after re-importing a mesh, say), write your numbers down first. Re-running does not touch a physics Blueprint the kit did not create: assign your own Post Process Anim Blueprint to the mesh and the tool leaves it alone entirely.

Going further

Every setting here belongs to Kawaii Physics, which has plenty more in it than the kit uses — wind, external forces, bone constraints, capsule and box collision limits. The plugin's own documentation covers all of it: Kawaii Physics guides. Nothing there is off-limits; if you set it up in the Blueprint, it ships in your pak and works in-game.

Stuck on something? #workshop-support on Discord.

Found a bug with the docs? Click here to report it →Report a docs bug →