Models - Stellar-Blade-Modding-Team/Stellar-Blade-Modding-Guide GitHub Wiki

Overview

[!IMPORTANT] Models from Stellar blade and other game's extracted mesh assets plays the main role of mesh modding. As one of the most popular section of modding category, you will need to understand the princple of model import and learn the basic of how to use blender and UE. We will be scripting the basic guide of import any in game meshes back to the game.

[!TIP] If you completed this guide, you can nagaviate to Custom Model Import Guide for advanced rigging tutorial.

Previewing and Exporting

[!NOTE] Follow the Extraction tips to find and preview your targeted mesh you planned to modify and export it from Fmodel.

For previewing, simply double click on the uasset that's for the model inside the subfolder it located. A 3D Viewport inside Fmodel will be opened and you can inspect the model.uasset details.

*example CH_P_EVE_09.uasset

Capture

Importing to Blender

[!NOTE] Keep in mind that .uemodel format from Fmodel works with some known bugs without neck seam because it's correct bone position upon export. So we will be mainly using .uemodel format as example for this guide. However we still included instruction for .psk import.

Required plugins

Blender UEFormat Addon (Recommended for correct bone position with model import)

Blender PSK/PSA Addon 4.0+ (Require fix with neck seam issue by incorrect bone position)

Blender FBX Exporter Fixes (Stellar Blade) (Recommended for fixing inverted bone bug upon export)

PS: Thanks to both Lemi21 and Njaecha for merging the updated FBX Exporter.

[!WARNING] Install the FBX Exporter manually by dragging io_scene_fbx folder from the zip into blender-4.x.x-windows-x64\4.x\scripts\addons_core. Make a back up of the default io_scene_fbx folder before you replace it.

Capture222

Step 1: Import Setting

Launch Blender. Remove object, camera and light from the default scene.

Before we import the extracted .uemodel/.psk file in blender, you need to have UEFormat and PSK plugin installed and finish import settings down below.

[!TIP] (UEFormat) If your blender scene doesn't show a drop-addon lists, click the < button which sits on the bordline in-between the object menu and main scene window.

(UEFormat) Find UEFormat tag in the dropped menu and click in > change the general scale from 0.01 to 1

(UEFormat) Tog off Import Sockets option in UEFormat tag

On the right side click in Scene> Units> change Unit scale from 1 to 0.01

451267215-da14ccf7-4277-4230-a249-3835b6883e8222

Step 2: Mesh Import

Once Import Setting is done you can start import your extracted asset into blender scene.

(UEFormat) Click Import Model in UEFormat Tag

(PSK) Go File> Import> Unreal PSK (.psk/.pskx)

Capture

Capture5

(UEFormat) Inside the new window the General Scale should have been 1 if you done everything correct in the previous step.

(PSK) Inside the new window the Scale should have been 1 by default.

Click Import/Import Model.

[!TIP] You can save your preset so the setting will always be applied when you launch your blender file.

Open new blender project:

Set units to 0.01

Import > UEFormat > Set scale to 1.00 > Cancel import

Files> Default> Save Startup File

image

Step 3: Mesh Export

Once model is imported in your blender scene, you will see the object carries the in game ID's in it's name. Double click on it and rename from its previous name to Armature. Remove 0.01 from model's name if it's there.

*example CH_P_EVE_09_LOD0_Skeleton> Armature for Skeleton(UEFormat)

*example CH_P_EVE_09_LOD0 for Model(UEFormat)

Capture33

*example CH_P_EVE_09> Armature for Skeleton(PSK)

*example CH_P_EVE_09.001> CH_P_EVE_09 for Model(PSK)

Capture1112

[!TIP] You can make any edits on the imported model in blender. However for the purpose of verifying if your model is successfully imported in game, we suggest you to make some obvious changes on the mesh such as removing vertices on capes, gloves or any parts of the model, or use sculpt brush to make a drastic deform on your model.

Once your finished mesh editing, It's time to export.

File> Export> FBX (.fbx)

[!WARNING] In export setting: Disable Add leaf bones in Armature section and change other settings as the image shows.

Capture Capture2

[!WARNING] If you are exporting head mesh with blendshapes (morph targets), you need to disable Apply modifiers.

image

If there's no other objects aside your game model in the blender scene, you can export it right away but make sure the name is identical as what the model.uasset uses.

*example CH_P_EVE_09.fbx

IF you have other objects exists in the scene you must delete those before processing this step.

Selective Export:

Alternatively you can also do selective export in blender.

Select your armature and actual model in the scene >

Go in export setting > Include> limit> Tog on selected objects> Click "Export FBX"

Capture555

This will ensure blender only export fbx file for the selected objects from the scene.

Inverted Bone Fix Export:

[!NOTE] Use Blender FBX Exporter Fixes and tog on Inverted Bone Fix option to export fbx for Stellar Blade. This exporter will fix inverted bone bug upon export. Tog off the option if you want the setting back to default exporter.

Capture2

Importing to UE

[!NOTE] First make sure you completed the step of Creating Uproject

Once it's done, you need to start building folder structure inside your Uproject. Right click on Content folder and start creating new sub folders each by each. The structure has to follow what the game file uses for your imported asset to be loaded up in game.

*example Art\Character\PC\CH_P_EVE_09

Make sure the name of each subfolder in Uproject is identical as the game file has.

image

To import your model.fbx inside Uproject, you can simply drag and drop it to the correct filepath or click manual import button to navigate to your exported fbx file.

Keep the import setting window as what the image showed below:

Capture4

[!NOTE] Keep in mind that if its your first time import fbx file in UE, there won't be any existed Skeleton in the option to assign because you first need a mesh in unreal for the skeleton to be generated. You can continue without skeleton in option menu for the first time.

[!WARNING] For head mesh import from Stellar Blade you need to have Import morph Targets option togged on or the shapekeys on head mesh will be missing during import in UE (static facial animation in game).

Capture666

Click "Import All"

There should be your model (skeletal mesh), a skeleton asset and materials which been generated in UE. There will also be a physicsasset.

[!TIP] If your cant find your imported model on the floor as the first sight of preview in UE, follow this solution to fix it.

Asset Inspection

Inspect Skeleton info

In Stellar Blade, all costumes for Eve shared the same skeleton so it can be assigned with any of your imported asset in UE. You can inspect the skeleton details and the correct filepath for it with Fmodel. Rename your Skeleton to the correct one in UE if names are miss-matched. Move it to the right filepath.

Capture

*Example for CH_P_EVE_09

Click on the model.uasset and click on objectpath under "ObjectName": "SkeletalMesh'CH_P_EVE_09'".

Capture2

In new opened page find "ObjectName": "Skeleton'CH_P_EVE_01_Skeleton'"

You will see "ObjectPath": "/Game/Art/Character/PC/CH_P_EVE_01/CH_P_EVE_01_Skeleton.101".

Capture3

This contents skeleton name and filepath information. Rename your skeleton in UE to what been said there and move it to it's correct folder.

Inspect PhysicsAsset info

Capture

Click on the model.uasset in Fmodel and you should be able to find PhysicsAssset in the output window. You can also do Ctrl+F and search Physic to navigate to the related info. Rename and move it to the correct folder in UE according to Fmodel.

Ctrl+F >Type Physic and search

Capture23

[!WARNING] If you are not planning to assign PhysicsAsset in PrimaryAssetLabel then don't rename it and leave it as named as CH_P_EVE_09_Physics, otherwise your model will be invisible in game.

Inspect Animation Blueprints info

Click on the model.uasset in Fmodel:

Ctrl+F >Type anim and search

Capture2

Right click on your Skeletal Mesh in UE> Create> Anim Blueprint

Capture2

Rename the created dummy AnimBP following by inspecting in fmodel.

*example CH_P_EVE_01_Skeleton_AnimBlueprint> CH_P_EVE_09_AnimBP

Capture

Assign the created AnimBP with your Skeletal Mesh.

Double click on Skeletal Mesh> Find Skeletal Mesh In Asset Details> Post Process Animation BluePrint> Select your created ABP> Save All

Capture3

Move it to Blueprints folder.

[!WARNING] If you assign dummy AnimBP you basically can't add your own post process physics, for example making physics with spring controllers. However for reimport original model from the game, you need to create a dummy AnimBP for your Skeletal Mesh and assign with it. Otherwise your mesh will have missing bone physics in game. But this wont bring back physic from the model that's using chaoscloth. Make sure to follow the name and filepath for your dummy AnimBP if you just want to reimport original models. Make your own choice what's good for your mods and decide if you want to assign it or not.

Inspect Materials info

Material name in UE should match with what you see in Fmodel. Rename your materials that came with to the correct one in UE if names are miss-matched. Move it to the right filepath.

Capture2

The best way is still inspecting from model.uasset so you wont miss any materials that might store in other ID's filepath.

Ctrl+F >Type MI_ and search

Capture

You can also review the material name and it's filepath with Fmodel by inspecting the output window after you navigated to "Materials" folder in Fmodel. But some model might not have all the materials stored in the same filepath. So keep in mind this might not be the best way to find filepath if some materials are located in other ID's folder.

*Example for CH_P_EVE_09

Capture

Alternatively you can also find the correct material name in blender when you inspect material proprieties on the model.

Capture2

Example for inspecting material instance :

Click on the Material.uasset in Fmodel.

Find "ObjectName": "Material'MA_CH_P_EVE_09'"

You will see "ObjectPath": "/Game/Art/Character/PC/CH_P_EVE_09/Materials/MA_CH_P_EVE_09.0".

Capture5

[!WARNING] Inspect any possible spelling errors on names or filepath mistakes for everything in UE before you continue.

Click Save All once done.

[!NOTE] Next we will move on to the Packaging Mods

Known Bugs and Issues

Inverted bone with incorrect flipped weight & solution:

image222

For stellar blade eve's body models, no matter you export the asset as in .uemodel or .psk format, it comes with issue that causes some part of the model deformed by the corresponded bones when imported it back to game.

[!NOTE] You can now download the FBX Exporter to fix inverted bone bugs. follow the instruction from here to install the plugin and tog on Inverted Bones Fix in export setting. Export your model.

Legacy Method 1: Animation Blueprints fix (found by koenji)

[!TIP] This method only works for fixing model deformation during gameplay and pause menu. It doesn't prevent model to get inverted bones in Photo Mode. For the new definitive solution that fix both Inverted Bone Bug and Photo Mode Bug use the FBX Exporter .

[!NOTE] Animation Blueprints are specialized Blueprints that control the animation of a Skeletal Mesh during simulation or gameplay, we can run this in Blueprints or in Skeletal Meshes as a Post Process Animation Blueprint.

In Stellar Blade, Post Process Animation Blueprint are used in Skeletal Meshes primarily for simulating cloth like physics with a plugin called Kawaii Physics. If we're making a custom outfit, we don't really need the animation blueprint that is running in the original outfit (unless we're rigging directly to those bones that are being simulated by Kawaii Physics). Additionally we can still use things like NVCloth for creating actual cloth physics anyway.

This is where we can use our own Animation Blueprint in the process to correct some errors that are currently happening with the Stellar Blade Pipeline.

Step 1: Create Animation Blueprint

Creating a Custom Post Process Animation Blueprint to Flip our Bones.

  1. Right Click your Model(Skeleton Mesh) and create a new Animation Blueprint, alternatively you can Right Click in your Content Browser, then go to Animation > Animation Blueprint and then select the SB Skeleton.

Rename the created ABP to what the game has for your model. Assign it to the Skeleton Mesh.

Step 2: AnimBP Workflow

Capture

  1. Double Click AnimBP. Right Click in any empty space on your newly created Animation Blueprint and type Input Pose. An Input Pose is required otherwise your animations will not work.

  2. Drag off of your Input Pose and type Local To Component.

  3. Type in Transform and select Transform (Modify) Bone.

  4. In the Details Panel on the right update Scale Mode to Add To Existing.

  5. In the Transform (Modify) Bone node itself, update the Scale to be -1.0, -1.0, -1.0.

  6. In the details panel for the Bone To Modify add the first bone that is present on this list:

Ab-L-AX1

Ab-L-AX2

Ab-L-BrochiUp

Ab-L-Venter

Ab-R-AX1

Ab-R-AX2

Ab-R-BrochiUp

Ab-R-Deltoid

Ab-R-Venter

Ab_09Gear_L0

Dm-R-AX2

Dm-R-Breast-Point

Dm-R-Trape

[!NOTE] Skip Ab-L-AX1 and Ab-L-AX2 if you are replacing Nier DLC Suits.

  1. Make a copy of the Transform (Modify) Bone node and change the Bone To Modify for the other remaining bones in the list.

Capture3

Click Save in AnimBP setting.

Click Save all in UE.

If done correctly your bones should be inverted back in-game.

Step 3: Fixing The Bones For the Pause Menu

In the Pause Menu some bones may be flipped around, most notably Dm-R-Breast-Point. A method of correcting this effect when the game is now paused has been figured out.

Capture

  1. Open up the EventGraph in your Animation Blueprint and find Event Blueprint Update Animation, if you cannot find it you can create it by typing for it by right clicking the empty graph and searching for it.

  2. Right Click the empty graph and type Is Game Paused, create the node.

  3. Right Click the red side of the newly created node and create a new Boolean variable, name it whatever, I went with bIsGamePaused.

  4. Now head to your AnimGraph and find a Translation (Modify) Bone node that affects Dm-R-Breast-Point or any other problematic bones that get inverted when you pause.

Capture4

  1. Right Click where there's empty space and type in the name of your created Boolean variable, you want to get a reference for it.

  2. Drag off of your Boolean variable and create a select node (can use either Select Float, or the Select node).

[!NOTE] The goal is to make it toggle between 0 or 1 (No Flip or Flip) depending on if the game is paused. If your Select Node says Index set False to be 1.0 and keep True to be 0.0. However, if your Select Node says Pick A keep A to be 0.0 and set B to be 1.0.

Click Save in AnimBP setting.

Click Save all in UE.

If done correctly, the problematic bones that fix themselves in the character select screen will not be flipped when the game is not paused, and be flipped when the game is paused.

Video Guide Version by koenji

[!NOTE] The Select Node being used is the Wild Card Select Node which is just called Select (not Select Float)

[!TIP] The list of the Transform Modify Bone List would be the same as above.

https://github.com/user-attachments/assets/2f495fa2-eef5-4db7-9b25-048c87c5527d

Install fixed AnimBP for your project:

[!NOTE] If you don't want to create fixed AnimBP yourself, you can download the fixed AnimBP.uasset from here.

Extra the AnimBP.uasset file from downloaded.zip>

Move it to Unreal Projects/YourProjectname/Content/Art/Character/PC/CH_P_EVE_09/

NVIDIA_Overlay_Ygxk8B2Uy7

Launch your Uproject> Right click on any asset> Click "Show in Explorer"

image22

Find the AnimBP in UE and move it to Blueprints folder, or put it aside of Skeletal Mesh>

Rename the AnimBP in UE to what it supposes to be called which reference for your Skeleton Mesh

NVIDIA_Overlay_YKwbMpwjlm

Double Click on Skeletal Mesh> Find Skeletal Mesh In Asset Details> Post Process Animation BluePrint> Select your renamed AnimBP

[!NOTE] Follow this page to create PrimaryAssetLabel and add the AnimBP in the list.

Click Save all and Package project.

Photomode bug with model explosion & solution:

During mode reimport from blender, game asset will lose its negative scale value for bones and causing the game lose it's direction with wrong valued bones during animation which leads to what you see in the scene below.

https://github.com/user-attachments/assets/328b2768-aa62-44ca-8a64-ca600fc5776d

[!NOTE] You can now download the FBX Exporter to fix inverted bone bugs in Photo Mode. follow the instruction from here to install the plugin and tog on Inverted Bones Fix in export setting. Export your model.

If you are using UEFormat plugin, make sure you togged off Import Sockets option before importing your model as .uemodel in blender.

If you are using PSK then select Don't Export Bone Sockets in Model Setting for Fmodel.

If you are using cloth physic then its not fixable yet with the explosion bug in Pose mode. Game snap vertices back to its original position during pose. We are still looking for a solution for mods that have cloth physics added.

Legacy Method 1 : Vertex weight mix transfer (found by Insider)

[!TIP] This method also fixed the known Inverted Bone Bug. But its modifying the vertex weights which isn't perfect. For the new definitive solution that fix both Inverted Bone Bug and Photo Mode Bug use the FBX Exporter .

Since the bone assigned with its vertex weight group, this solution is to bypass all the issued weights and rework it by mix it with other weights for the functional bones.

In other word, simplify the rigging and remove any problematic weight or mix it to another functional weight.

Transfer the problematic Weight A into a close Weight B that doesn't deform that much and that is also close to it, then clear Weight A entirely. The following weights can be mixed with no visible issues.

Ab-R-Breast > Ab-L-Breast

Ab-L-BrochiUp > Ab-L-UpperArm-Tw1

Ab-R-BrochiUp > Ab-R-UpperArm-Tw1

Ab-L-Deltoid > Ab-L-Trape1

Ab-R-Deltoid > Ab-R-Trape1

Use vertex weight mix modifier to combine the two vertex groups.

click on the model in blender scene> find modifiers tag and click> add vertex weight mix modifier

image11111

After combining you can remove the previous vertex group that was assigned to the issued bone.

The result would be both mesh parts with the combined vertex weight assigned will have their movement affected by the single functional bone. For example the right breast after combining would be controlled by Ab-L-Breast Bone in the game.

image2211

Mix Vertex Weight Transfer Script (by Lemi21)

[!NOTE] This blender script is an improved version that's based on the mix weight transfer solution for the Inverted bone bug and Photo mode bug. The script deleted the Ab-L-Deltoid and Ab-R-Deltoid vertex weights instead of mixing it. The rest would be the same as before.

image21

You can check the difference from the image below. The deformation on shoulder looks better.

6F191204-8236-4B84-935E-09685B1E0AF42

Download the Script from here and copy the text from it :

Open blender text editor

Paste the script

Select your mesh object

Hit the play button and Done

https://github.com/user-attachments/assets/72e9b5c5-5013-4b89-9908-2b255ece74ba

To be sure if the script worked, just check the Ab-L-Breast vertex group and it should be like the image showed below:

E183BA17-AB8D-4FAF-927F-81E6A3A38CF1

Floating model in Unreal Editor preview & solution:

Desktop_Screenshot_2025 06 11_-_00 17 11 5822

Once imported your fbx in UE, you will see the scene being empty from the first sight during the model is being positioned to the sky above as image showed.

The reason here is because one bone from model was way below the floor in the psk/uemodel exports from Fmodel. It will take your view of the model in UE from how it looks high up in the sky to. Model wasn't actually floating, root was still at 0,0,0. It was just the floor moved down to the bottom socket bone.

image

https://github.com/user-attachments/assets/f10a0ba0-bf65-4f25-b331-3456e7232c3c

[!NOTE] This only happens when you imported your model with socket bones. If you imported a model without socket bones it will appear normal on the floor in UE.

If you are using UEFormat plugin, make sure you togged off Import Sockets option before importing your model as .uemodel in blender.

If you are using PSK then select Don't Export Bone Sockets in Model Setting for Fmodel.

Legacy Method 1: Remove FX_GunFire_Rail_End bone (found by Ridog and Salt)

Delete the bone in blender before exporting to fbx . The model will be positioned on the ground once imported in UE.

Object Mode> Select Armature> Select FX_GunFire_Rail_End bone> Edit Mode> Press X and Delete

https://github.com/user-attachments/assets/60cc1f1c-dc88-4841-b26b-e1e1b93e9f9d

Now the model in UE preview should be placed on the floor as in the right position.

Desktop_Screenshot_2025 06 11_-_00 18 14 502

Legacy Method 2: Turn off Auto align floor to Mesh (found by Salt)

Turn of the setting showed above will disable UE align floor to the bottom bone of model.

To disable the automatic floor alignment to mesh in Unreal Engine, navigate to the Viewport's View Options dropdown and uncheck the Auto Align Floor To Mesh option. This feature, when enabled, causes the preview scene to dynamically adjust the floor based on the mesh's lower bounds.

Here's how to turn it off:

Open the Level Viewport: Go to the viewport where your 3D scene is displayed.

Locate View Options: Find the "View Options" dropdown menu, usually located in the top left corner of the viewport.

Disable Auto Align: Within the View Options, locate and uncheck the "Auto Align Floor To Mesh" option.

https://github.com/user-attachments/assets/499d8343-3f73-4e4e-8d3c-fb20d92d47a4

By turning this off, your mesh will no longer automatically adjust its position relative to the floor based on its bounds. You can also adjust the position of the mesh along the Z-axis manually if needed after disabling the auto-alignment.

Umodel PSK model neck seam bug & solution (found by Lemi21)

After having issues with seams in the neck area between the Head and Body model, it's been found out that the Armature that is generated by the PSK Importer, is not quite accurate to the game one, while the one from UEFormat(.uemodel) Importer seems do a better job, we are not certain why the PSK Importer armature is not aligned, but here's a tricky hack to fix this manually.

First of all make sure you extracted both .psk from Umodel and .uemodel from Fmodel. Follow this page for extraction.

1

What we going to do is very simple, we import both skeletons using UEFormat and PSK Import, After importing, make sure they're both same scale, then we going to use a custom script, to copy and transfer the position of the bones from the .ueodel to the .psk armature/skeleton bone positions.

Step 1: Import setting

Before you import any asset in the blender scene make sure scene unit scale set to 0.01

PSK Importer with scale of 1

UEFormat scale with scale of 1

4

Step 2: Align two Skeletons and run Skeleton Position Transfer Script

With both Skeletons/Armature aligned by correct import setting, we going to use the script to copy the position from Skeleton A to B.

Object Mode:

First select .uemodel Skeleton

Hold Ctrl and select .psk Skeleton

Open new Text Editor and past script in there then click Run button

3

Video version down below:

https://github.com/user-attachments/assets/8064e4c0-81d1-48f9-b82c-b8cc9e22ffbb

Download the script from here.

For reference, here's the same bone from both armature, very small difference in their locations, but enough to have visible seams in-game.

Capture22

Once done you can remove .uemodel armature.

Seams on model when import in UE & solution:

image2

Method 1: Enable Import Normals (by Salt)

When you import a uemodel/psk into blender, the mesh has it's vertices ripped along all UV seams (this is normal for game engines). It looks seamless in Blender because the mesh normals hide the seams. You can either merge all vertices in blender, or just import the normals in Unreal. But you probably want to import normals anyways because it affects the neck seam with the head mesh in game.

When import your model in UE , change the Normal Import Method from Compute Normals to Import Normals

Capture2

Method 2: Merge split vertices (by Salt)

When you export/import a model to unreal engine (or any game engine) the model is split along it's UV seams. If it wasn't split, the textures would stretch between UV islands from the vertices be in 2 different coordinates. When making the model it's safe to merge those seams, they were merged when the original artist worked on it.

Here's a video we made to show how to merge vertices in blender.

https://github.com/user-attachments/assets/c355b3fc-9eda-46c6-a800-a9b9e12d4673

Select your model> Edit Mode> Press A(Select all)> Go Select> Select Loops> Select Boundary Loops>

Capture

You will see all the unmerged vertices display in yellow.

To visualize merged and unmerged vertices with red color in Blender, you need to use Mark seam feature in Edit mode.

After boundary loops are selected, Ctrl + E and select Mark Seam. It will mark the unmerged vertices as red.

Capture5

After the seams are selected, You can do Merge By Distance for those selected vertices. If you want to be extra safe you could separate your model by material first.

Select your model> Edit Mode> Press A to Select all> Go Select> Select Loops> Select Boundary Loops>

Mesh> Merge> By Distance

Capture3

Method 3: Vertex Snapping twice (by Kirisame_Morisa)

image

You might have already done everything correct as said below but it still have seams when try to import a body to align with head in game.

Imported to Blender using .uemodel>

Exported with FBX Exporter Fixes (selected Face Smoothing under Geometry settings)>

Imported to UE with 'Import Normals' enabled

This method essentially requires exporting and moving vertices twice. It might seem tedious, but it works. You need to have the head mesh in blender scene for reference.

This is the default positioning after importing the original body and head models without any modifications.

image4

  1. In Blender, enable Vertex Snapping and snap all torso vertices connected to the neck onto the neck vertices to ensure perfect alignment.

https://github.com/user-attachments/assets/04d04d19-00dd-4e6f-8253-5d265369dd33

An example of adjusted vertices position:

image5

Export as FBX → Import to UE → Package the mod via standard workflow.

  1. Place the packaged mod in the game's /Paks folder → Use FModel to extract this mod's mesh.

  2. Re-import to Blender you will see the seam came back.

image6

Repeat Step 1: Snap torso vertices to neck vertices again (You can see it's moved by -0.000234 mm)

image7

Export FBX and import to UE> Package

You will see the vertices still won't fully align, but the offset distance will be significantly smaller than the first attempt.

image3

A proof that the first import doesn't applies the adjustment from vertex snapping, but the 2nd import saved the adjustment, you can extract the mod file once again and import the mesh back to blender. We will see the adjustment from your 2nd attempt is saved.

image7

As image showed the result is same as the second import, still shifted by -0.000234 mm