UAsset Editing: Adding New Weapons (WIP)
Tutorial Provided by 0w0-Yui
Requirements
UAssetGUI/Asset Editor (Reccomend use both to get higher efficiency)
UModel/FModel (Recommend UModel Here, FModel includes bugs will affect the modding)
python (Optional)
JSON Viewer (Optional, I use VS Code)
[UE5.3] UassetGUI and FModel now need a Mappings.usmap for full functionality
Getting Start
Preparations
- You need a weapon replacement mod first.
- I will list some definitions before the tutorial start. It will be easier to understand.
- Save IDT and UI using UModel “Save selected packages”.
- Navigate to “Game\Blueprints\Items\WeaponRevised”, and export the blueprint of the weapon you’re replacing.
Defined_Name | Description |
---|---|
IDT | “Game\Blueprints\DataTables\ItemDataTable.uasset” |
UI | “Game\ReadyOrNot\UI\Planning\ItemData.uasset” |
WP-BP | “Game\Blueprints\Items\WeaponRevised”(UAssets Exported from this Location) |
AT-BP | “Game\Blueprints\Items\WeaponRevised”(UAssets Exported from this Location) |
Index | The index of weapon in DataTable. (You will need to come up with your own index to replace the Index in the Tutorial, make sure there are no index with the same name in the IDT) |
Understanding How the Blueprint Work
Data include in .uasset, I call it headers
- Name Map/Header List: Include all object names used in this Blueprint.
- Import Data/Linked Class: To link other file (Blueprint, Model, Skeleton, etc.) to this Blueprint.
- Export Data/Code Blocks: Manage external file access to this Blueprint.
Data include in .uexp
- Export Data/Block 1: This is where the data acutally saved.
.uasset point to .uexp, if you rename the file, they will broken. The right way is open the editor, and use “save as” to rename.
Tutorials
- Close the UAssetGUI open before.
- Launch the Asset Editor, choose 4.25 at top right. Open IDT.
- Find the weapon you are replacing at “\Code Block\Block 1\DataTable<WeaponName>”, select it at the left side, and export sub (Edit->Export Sub)
- Choose one method
- Go to the exported sub open it, rename the “\CoreItem\NameString” and “CoreItem\SubTypeString” to Index
- Import the sub (Edit->Import sub), rename the index at “\Code Block\Block 1\DataTable”. (You can skip next step 5 if you choose this method)