Physic - Stellar-Blade-Modding-Team/Stellar-Blade-Modding-Guide GitHub Wiki
Important
In this document we will instroduce how to make physic with your custom model or modified it with in game model for Stellar Blade. There are two different methods for Physic editing which are Cloth System(Apex/nvcloth) and Bone physic(Kawaii/AnimDynamics). However the game is using chaoscloth In Unreal Engine, cloth simulations can be attached to bones of a skeletal mesh using the Chaos Cloth system. There are also spring controller for jiggle physic which will be covered as well in this document.
For Cloth Simulation it's an inbuild feature in UE which means you only need to have the engine installed.
For bone physic, we now have kawaii addon working for Stellar Blade also AnimDynamics which is also an inbuild feature in UE.
Note
In UE game development, both AnimDynamics and cloth systems are used for creating realistic movement, but they serve different purposes. AnimDynamics is a low-performance physics solver for secondary animation, while cloth simulation simulate the behavior of fabric, like clothing, often using more complex simulations. AnimDynamics is useful for items like necklaces or wires, while cloth systems are used for more complex, deformable objects like clothing. You can also use both methods to reach the result you want for your mods.
In game models often have everything parented and weighted properly since the game use both bone and cloth system as a combination. We will use CH_P_EVE_09 Diving Suit as example, the "wings" that were wrapped around the arms will lost physic during reimport in UE since its using Chaos Cloth. We will manually paint the physic back on the wings in UE to show you how it works with cloth simulation.
*Example CH_P_EVE_09
Desktop.2025.06.26.-.09.19.24.10.mp4
You will need to have your "ready for physic" mesh pieces parented to the Armature. If its for a dress for example, You are going to add cloth physics to main part of the dress later in UE . So, In blender you should assign the correct vertex weights and Hip bone on your dress since we need cloth physics below the hip 'Bip001-Pelvis. That means your dress will follow the movement of your characters Hip bones.

We have made a video to show you the process of making Clothing Simulation in UE. This doesn't include steps of making proxy mesh and collision setups with physicsasset since in game model already have collision prepared for you, and we will need proxy mesh most time for custom model. This is an simplified example for beginners and the painting was in a rush so try not to follow that part and test with different values and options yourself in clothing tab. We will cover more details in custom model physic section.
Desktop.2025.06.26.-.11.55.30.04.1.mp4
Once you imported model in UE, move everything to the right folder and make sure names are correct by Inpsecting asset info.
Double click on the skeleton mesh. Enable Select Section.
Select the mesh part you want to add cloth physic with> Right click and create cloth data from section
Right click again and Apply Clothing Data> Select the Clothing Data you created for your Skeleton Mesh> Assign PhysicsAsset in the tab if it didn't
Once its assigned with the Clothing Data, navigate to Clothing Tab and click Activate Cloth Paint
The paint value is the key to how the physic behaves in game. In tool settings, you can change Paint Value from 100 to 0. At the bottom of the wings it should be assigned with higher value since it doesn't attached to the body. From the top part of the wing it should have lower value since its getting closer to the actual body. For the part that gets directly attached to the body, you can leave it as not painted so it won't simulate with the cloth physic.
In visual we will use this image as example.

Black is value 0 and white/grey is increased weight.
For the wings you can paint from bottom till the top for value 100 to 70 to 40 to 10 and so on.
Use value 10 to 0 where the cloth is directly attached to the body. Since it will have movement with shoulder bones we don't need it to have cloth physics assigned. So the cloth physics will mostly be noticeable for the rest part of the wings.
Once you finished Painting, Click Save and Click Deactivate Cloth Paint in cloth tab.
Warning
Make sure your PhysicsAsset is named properly for your Skeleton Mesh by Inspecting PhysicsAsset Info. We will need to assign it to PrimaryAssetLabel for collision data later. Make sure you changed Physic Type in PhysicsAsset to Kinematic following by this solution. Otherwise your model will behave as a ragdoll and sink under the floor.
Work in progress.
Note
The cloth system doesn't directly use bones for simulating cloth physics. Instead, it utilizes a particle-based system called Chaos Cloth, which simulates the behavior of cloth by treating it as a collection of interconnected particles. While bones are used for the underlying skeletal mesh and its animation, the cloth simulation itself is independent and interacts with the skeletal mesh through collision and influence.
You can create a proxy mesh (low poly object) for the part that's gonna uses for Cloth System as cloth asset. Later we need to assign it to the Chaos Cloth component in UE.
If there is no proxy mesh, you should be able to create the cloth data from the part you are trying to use chaos cloth on. (7th diving suit wings, for instance)
If there is a proxy mesh, you need to make sure that when you create the cloth data, you remove it from the mesh.
By using Cloth System it allows for realistic draping and movement of clothing on animated characters. The process involves creating a cloth asset, configuring its properties, and then binding it to a specific bone or set of bones within the character's skeleton.
Import or create a cloth mesh:
This can be a separate mesh or a part of an existing character mesh.
Alternatively, use the Clothing Tools in the Editor:
This workflow enables direct authoring of clothing assets within the engine.
Add a Chaos Cloth Component:
This component is added to the skeletal mesh actor in the level.
Assign the Cloth Asset:
You select the cloth asset you created earlier and assign it to the Chaos Cloth component.
Configure Collision:
You can set up collision between the cloth and other objects in the scene, including the character's own body.
Adjust Simulation Parameters:
The Chaos Cloth component provides various parameters for controlling the cloth's behavior, such as stiffness, damping, and collision settings.
Define Bone Influence:
The cloth simulation can be influenced by specific bones in the skeletal mesh. This is typically done through skin weights, which define how much each bone affects the cloth's movement.
Collision with Bones:
You can also set up collision between the cloth and individual bones, or groups of bones, to prevent the cloth from penetrating the character's body.
Simulate in Editor:
Use the editor's play mode to test the cloth simulation in real-time and make adjustments to the cloth asset or its parameters.
Optimize for Performance:
Consider optimizing the simulation for performance, especially for real-time applications. Techniques like LOD (Level of Detail) and caching can help.
By following these steps, you can effectively integrate cloth simulations into your UE projects, creating more realistic and dynamic character clothing for your mods.
Work in progress.
Note
In Unreal Engine's AnimDynamics, bones are used as reference points for applying simulated physics to objects, such as accessories or clothing on a character. The AnimDynamics node allows you to select a bone on a skeletal mesh and apply dynamic motion to it, controlling how it reacts to the character's animation and other forces. For that to work in the first place, you would need to have your mesh assigned with bones for physics.
*Example AP_CapeR02
Desktop.2025.06.21.-.12.53.20.11.mp4
AnimDynamics in UE relies on a character's existing bone structure to simulate dynamic secondary animations. It uses the bones as a framework for creating chains and applying constraints, allowing for realistic movement and collisions. As long the model have its "physics" part assigned with vertex weights and bones it will work in UE for AnimDynamics.
Tip
Here is a short introduction of every settings and options. Each options has its own roles within AnimDynamics in UE.
Reference Point: AnimDynamics uses a bone as a reference to determine where the dynamic motion should be applied. For example, you might select a character's arm bone as the reference for a dynamic shoulder pad.
Bounding Box: You can define a bounding box around the selected bone to control the area where the physics simulation will be active.
Local Joint Offset: This offset determines the reference point for the constraints applied to the dynamic object, relative to the selected bone's joint.
Constraint Settings: You can adjust constraint settings like stiffness and damping to control how the dynamic object reacts to movement and collisions.
Dynamic Motion: By adjusting these settings, you can create effects like clothing that reacts to wind or a character's movement, or a weapon that bounces realistically.
Continuous Dynamic Chains: You can also use AnimDynamics to create continuous dynamic chains of bones, where the motion of one bone affects the motion of the next.
Work in progress.
Spring Controller for Jiggle bone physic ( wrote by Misberave)
This is a tutorial on how to enable jiggle physics for breast and literally everything you want. It works universal for UE engine games so you can now use this method for Stellar blade.
Jiggle.Physics.Tutorial.mp4
-
First you need to create an animation Blueprint on your mesh which will be assigned to the skeleton automatically ONLY, you cannot duplicate or reuse it for another skeleton later, it is strictly bound to the one you created it for.
-
Then you create the nodes from the video, and one "Spring Controller" for each Bone you want to assign jiggle movement to.
The Jiggle will only affect the weight painted areas that are assigned to the bones
- After that you set up the values.
The Values for each Bone are as followed:
Spring Stiffness: The more, the stiffer
Spring Damping: Damps the jiggle, the higher, the sooner the jiggle will end, the lower, the longer the jiggle will "swing"
Max Displacement: Determines how far awar from the bone the mesh will move away from, best to set it to 1,5-3 max.
For Breasts you should start with 400 stiffness, 10 Damping and 3 max displacement. Brings good results in lobby and then adjust from there.
These are the only settings you need to change. Keep in mind for ingame you need to crank up the damping alot more cause the movement is way more than in the lobby. I set it to 120 for my Squirrel Girl mod.
-
After you created the nodes, you can test the jiggle a bit when you press "Compile" in the left preview window multiple times, thats the only preview you get in the engine.
-
The last step is to add the Blueprint as "post processing animation blueprint" inside the settings for your Mesh.
Make sure you package the animation blueprint with your mod and thats it.
Original unmodded model before import in game :
Stellar_Blade_2025.06.11_-_08.45.13.03.mp4
Imported model with missing physics on cloth in game:
Stellar_Blade_2025.06.11_-_08.43.08.02.1.mp4
Note
The model might missing some part of physics after importing to game since some part of the model are using chaoscloth for physics. This has nothing to do with either assigning AnimBP or PhysicsAsset.
The part of the missing physics might already have been rigged. However, being rigged doesn't mean that game devs can't use chaoscloth with it.

To bring the physic back from missing, you'll have to weight-paint that part of the mesh with this UE inbuild Acitive Cloth Paint feature.

By weight painting on the part that has physics missing in UE, it means the new physics you made wont have the same result as what the original physic game has on the mesh part. By making your own customized cloth sim physic on the cloth, it will at least not be static anymore.
You can find more details from Cloth Simulation guide.
Method 2: Assign dummy Animation Blueprints(found by Swood Aneue/kesshin7/Minervha)
The simple fix for missing cloth physic is by creating a dummy AnimBP and assign it to your skeleton mesh in UE. Do not assign chunk or add the dummy AnimBP in PrimaryAssetLabel. However, this method works only for bone based physics. For suits like Crimson Wings that use Chaoscloth which is a different physics implementation, you will have to create chaos cloth physics manually.
Desktop.2025.06.19.-.15.59.42.21.1.mp4
Import .uemodel with "Import Sockets" disabled
Export .fbx using Njaecha and ByLemi21's FBX importer (Invert Bones Fix enabled)
Import .fbx to UE
Right-click model and create new Animation Blueprint
Rename and move AnimBP accordingly (check for vanilla path and name in FModel)
Assign dummy AnimBP to model, do not assign it to PrimaryAssetLabel
Warning
If you assign dummy AnimBP to your Skeleton Mesh, you basically can't add your own post process physics so make your own choice what's good for your mods.
You can use JsonAsAsset to import the json of original clothphysics asset.
In Fmodel: Export the physicsasset by right click on the selected asset>
Save properties(.json)
Download JsonAsAsset and follow the installation steps from the tool page, install the plugin in your project.
This will help you to import the original clothphysic asset to your content browser. You can make any edits base on it. Keep in mind you still need to make dummy AnimBP and assign it to your skeletal mesh for bone based physics.
Heres an example to restore Cloth Physics on Black Kunoichi dress by Member Text-Document.
Create or import a finished mesh in Blender, export it and import it into UE.
Both the jacket and skirt (the non-proxy mesh one) use the MI_CH_P_EVE_16_Suit material, but when decomposed by material in Blender, they become separate objects.
(Since different objects reference the same material, it shows as 2)
BlackKunoichi has two skirt meshes: one for in-game display, and another for cloth simulation (often called a proxy, which is not visible in-game).
In UE, you must assign the proxy mesh's clothing data to the skirt (the non-proxy mesh one).
Therefore, rename the skirt part to something like MI_CH_P_EVE_16_Suit_001 and reassign the material to the mesh. This name can actually be anything.
The jacket remains as MI_CH_P_EVE_16_Suit.
Right-click in UE, create a Blueprint Class, place it in the Blueprints folder, and rename it to “CH_P_EVE_16_AnimBP” according to the Fmodel information.

Assign the CH_P_EVE_16_AnimBP you just created to the Skeletal Mesh.

Export CH_P_EVE_16_Cloth_Physics.uasset as a .json file in Fmodel.

Click the Execute JsonAsAsset button and select the JSON file you just output to create CH_P_EVE_16_Cloth_Physics.
As per the Fmodel instructions, rename the asset on the far right of the image from CH_P_EVE_16_PhysicsAsset to CH_P_EVE_16_Physics.

Place materials in the Materials folder.
Note the save location for MI_CH_Matgray.
Assign a material to the mesh.

Open CH_P_EVE_16.asset in Fmodel and search for proxy to find that the mesh assigned the MI_CH_Matgray material is a dummy mesh for cloth simulation (not visible).

Create ClothPhysics.
Display only the proxy mesh> right-click the mesh> create the Clothing Data.
The name can remain as the default. Check the box for Remove from Mesh. (The image shows work in progress for another mod, so ignore the non-default material assigned to the skin mesh.

Right-click the display skirt (the one that isn't a proxy mesh) and assign the Clothing Data you just created.

Select Window→Clothing

Looking at CH_P_EVE_16in Fmodel you'll find the following description.
Searching for terms like LinearDrag is recommended.
Set the same value for each clothing data entry.

In Config: change the Physics Asset to the CH_P_EVE_16_Cloth_Physics you just created.

Press Activate Cloth Paint to display only the proxy mesh. Select Clothing Data and paint. You can follow the video from Cloth Simulation guide to learn how to cloth paint in UE.
At last only assign Skeletal mesh and Physics Asset in the Data Asset.

Package your project by following this page
Stellar_Blade_2025.06.11_-_07.41.31.01.1.mp4
Note
If you have PhysicsAssset renamed correctly according to Fmodel and added it in your PrimaryAssetLabel from step of packaging mods, It might leads to ragdoll bug and being invisible most of time after model sunk underground in game.
Method 1: Kinematic Physic (found by Code Breaker Umbra)
The bug has been confirmed as to be tied with Physic Type setting in PhysicsAsset. What you need to do to fix this bug is to go in your Uproject and find your PhysicsAsset:
Click and open PhysicsAsset> Select all of the constraints (green circles on top left)> Find "Physic" tab on the right> Set the physics type to "kinematic"

Click Save in PhysicsAsset setting.
Click Save all in UE.
This will prevent it from ragdoll after you assigned PhysicsAsset in PrimaryAssetLabel. Make sure its assigned in your Skeleton Mesh as well.
Ponytail Clipping Fix (by Tentekehls)
If you've edited the size of your character's model from default, you may notice the ponytail will clip through your character's model like below:

This is due to the ponytail mesh file still pointing to the default collision groups in the Outfit's PonyTail PhysicsAsset. To fix this we will need to update the Ponytail PhysicsAsset's hitboxes to match our new mesh.
Required Tools:
FModel - to export the physics asset
Unreal Engine 4.26.2
JsonAsAsset Plugin in Blender
Optional Tools:
CNS CustomNanoSuit (This is not a guide on CNS as a whole. Review the CNS wiki for more information if you've never used it before)
First download the 4.26.2.rar package from JsonAsAsset's release page.
Once it is downloaded open your Unreal Project Folder. By Default this is in Documents > Unreal Projects > SB
Within this folder there should be a Plugins Folder. If there is not then create it.
Extract the Contents of the JsonAsAsset plugin into the plugins folder. There should now be a folder titled JsonAsAsset in the Plugins folder.
Open Unreal Engine and open your project.
In Unreal Engine, > select Edit > Plugins. Then search for JsonAsAsset. Make sure it is enabled. If it is disabled, enable it and close then reopen Unreal Engine.
Open Fmodel, and select and load your game files. Refer to Extracting Game Files for more information if you don't know how to setup FModel.
Within FModel Navigate to SB > Content > Art > Character > PC
Within this folder is all of the outfit meshes for the game. If you know which outfit you are replacing, select the folder matching your original outfit mesh.
For the purposes of this tutorial we are going to be using the default NanoSuit: CH_P_EVE_09.
Once you have selected the appropriate outfit folder. Open Packages in the top.
Within this list you will see many assets for this outfits including:
CH_P_EVE_09_PonytailPhysicsAsset
CH_P_EVE_09_TypeB_PonytailPhysicsAsset
CH_P_EVE_09_TypeC_PonytailPhysicsAsset
It does not matter which asset you start with, for this example I am using CH_P_EVE_09_TypeB_PonytailPhysicsAsset.
Right Click on the Chosen PonytailPhysicsAsset and select Save Properties (.json)
With the physics asset now extracted, Let's import it into Unreal Engine.
In your Unreal Engine Project, Select the new JsonAsAsset Icon from the top as seen in the screenshot below:
In the File Selector that comes up, navigate to your FModel Export folder and then find your saved json physics asset. This path will match the one extracted from Fmodel.
For me this was located at: \FModel\Output\Exports\SB\Content\Art\Character\PC\CH_P_EVE_09\CH_P_EVE_09_TypeB_PonytailPhysicsAsset.json
Select the file and click Open. This will automatically load the physics asset at the correct directory with the original name.
DoubleClick on the new physics asset to open it.
You will immediately get the following warning:
"Warning: Physics Asset has no skeletal mesh assigned. For now, a simple default skeletal mesh (SkeletalMesh/Engine/EngineMeshes/SkeletalCube.SkeletalCube) will be used. You can fix this by opening the asset and choosing another skeletal mesh from the toolbar."
Select Ok
You will then be given another Warning saying there is no corresponding bones in the Skeletal Mesh.
IMPORTANT: Click Cancel.
If you click OK then the bones will be deleted and you will have to reimport.
If done correctly you will now see a very unassuming cube in the Physics Asset Editor.
At the top of the Physics Asset Editor, select Preview Mesh and select your custom character mesh.
You will now see your mesh file and can see the collision boxes for the ponytail on your outfit.
On the left in the Skeleton Tree you will see the following bone structure. Next to each I have included a description and the number of shapes part of each bone:
Root (1 Box, Ground)
Bip001-Pelvis (1 Capsule, Butt/Hips)
Bip001-Spine (1 Tapered Capsule, Torso)
Bip001-Spine2 (2 Capsules, 0-Chest, 1-Traps/Back)
Bip001-Neck (1 Tapered Capsule, Neck)
Bip001-L-UpperArm (1 Capsule, Left Shoulder/Bicep)
Bip001-L-Forearm (1 Sphere - "Do Not Touch", 1 Tapered Capsule - Left Forearm)
Bip001-R-UpperArm (1 Capsule, Right Shoulder/Bicep)
Bip001-R-Forearm (1 Sphere - "Do Not Touch", 1 Tapered Capsule - Right Forearm)
Bip001-Head (1 Sphere - Skull/Top of Head, 1 Capsule - Face)
Bip001-L-Thigh (1 Tapered Capsule, Left Thigh)
Bip001-L-Calf (1 Tapered Capsule, Left Calf)
Bip001-R-Thigh (1 Tapered Capsule, Right Thigh)
Bip001-R-Calf (1 Tapered Capsule, Right Calf)
Out of these the most likely ones to need to be changed are:
Bip001-Spine2 - Capsule 0
Bip001-Pelvis
If you prefer to do this via Interactive Transformations, here are some helpful keybinds:
W - Move
E - Rotate
R - Scale
Further Documentation on Transformations in Unreal Engine from the developer guide here
I personally prefer to change these assets via Manual Transformations.
To do this select your bone in the Skeleton Tree and navigate in the details pane to the Body Setup Tab.
Under this you will see Primitives, Expand this array and you will see the shapes making up this Bone Group.
For this example let's edit the chest.
Select Bip001-Spine2 in the Skeleton Tree
In the Details Pane navigate to and expand capsule 0 under Body Setup in the Details panel as seen below.
Under this Capsule you will see Center, Rotation, Radius, and Length.
For directional Reference (Based on Character Mesh's Left / Right):
X: + = Right, - = Left
Y: + = Down, - = Up
Z: + = Forward, - = Back
Center will adjust the position of the Capsule
Rotation will adjust the Roll (X), Pitch (Y), and Yaw (Z)
Radius: The base size of the Capsule
Length: How long the Capsule is. For most shapes this increases the width in the Character Mesh
Play with the values until the capsule's shape more closely matches the Character meshes actual size.
It is recommended the capsule's shape be slightly bigger than the mesh to ensure no clipping occurs. Do not be afraid to move the position of the bone group if needed. These only control the PonyTail Collision and do not affect other Assets.
Repeat on the needed shapes until you are happy with the match. For my mesh this meant editing the Position, Size and Length of the chest capsule (0 in Bip001-Spine2) and the Pelvis Capsule (Bip001-Pelvis).
Finished Physics Asset:
If you are replacing base outfits in game: Duplicate your Physics Mesh twice and name each of them to match the 3 original PonyTailPhysics Assets:
CH_P_EVE_09_PonytailPhysicsAsset
CH_P_EVE_09_TypeB_PonytailPhysicsAsset
CH_P_EVE_09_TypeC_PonytailPhysicsAsset
Then package your mod as normal and place in the appropriate folder in game.
PonyTail clipping should no longer be occurring.
If using Custom NanoSuit: Package your mod as normal for CNS with the new PonyTail PhysicsAsset in your Outfits folder in the OutfitMods folder.
Navigate to and open your dekcns.json file.
Under OutfitPaths, add a line for PonyPhysics with the path to your PonyTail Physics Asset.
This should look something like this:
PonyPhysics": "/Game/OutfitMods/TestPhysics/CH_P_EVE_09_TypeB_PonytailPhysicsAsset.CH_P_EVE_09_TypeB_PonytailPhysicsAsset"
Save your dekcns.json file and clipping should now be fixed in game.
Note that you can only have one PonyPhysics reference per outfit.
If you have multiple Outfits with different mesh sizes in OutfitPaths then you will need to split them up into separate outfits, each with their own UniqueFitID or use OutfitData.
If any parameter in OutfitData is used, including PonyPhysics then OutfitPaths is ignored and you must fully configure OutfitData.
Guide on using OutfitData here
Final Result: