44a55fc698
Bones whose parents are not present in the PSA will now simply use the actual armature parent bone instead of failing the look-up and treating the bone as a root bone. |
||
---|---|---|
.github | ||
io_scene_psk_psa | ||
.gitignore | ||
build.py | ||
LICENSE | ||
README.md |
This Blender addon allows you to import and export meshes and animations to and from the PSK and PSA file formats used in many versions of the Unreal Engine.
Compatibility
Blender Version | Addon Version | Long Term Support |
---|---|---|
4.0+ | latest | TBD |
3.4 - 3.6 | 5.0.6 | ✅️ June 2025 |
2.93 - 3.3 | 4.3.0 | ✅️ September 2024 |
Bug fixes will be issued for legacy addon versions that are under Blender's LTS maintenance period. Once the LTS period has ended, legacy addon versions will no longer be supported by the maintainers of this repository, although we will accept pull requests for bug fixes.
Features
- Full PSK/PSA import and export capabilities.
- Non-standard file section data is supported for import only (vertex normals, extra UV channels, vertex colors, shape keys).
- Fine-grained PSA sequence importing for efficient workflow when working with large PSA files.
- PSA sequence metadata (e.g., frame rate, sequence name) is preserved on import, allowing this data to be reused on export.
- Specific bone collections can be excluded from PSK/PSA export (useful for excluding non-contributing bones such as IK controllers).
- PSA sequences can be exported directly from actions or delineated using a scene's timeline markers or NLA track strips, allowing direct use of the NLA when creating sequences.
- Manual re-ordering of material slots when exporting multiple mesh objects.
Installation
- Download the zip file for the latest version from the releases page.
- Open Blender 4.0.0 or later.
- Navigate to the Blender Preferences (
Edit
>Preferences
). - Select the
Add-ons
tab. - Click the
Install...
button. - Select the .zip file that you downloaded earlier and click
Install Add-on
. - Enable the newly added
Import-Export: PSK/PSA Importer/Exporter
addon.
Usage
Exporting a PSK
- Select the mesh objects you wish to export.
- Navigate to
File
>Export
>Unreal PSK (.psk)
. - Enter the file name and click
Export
.
Importing a PSK/PSKX
- Navigate to
File
>Import
>Unreal PSK (.psk/.pskx)
. - Select the PSK file you want to import and click
Import
.
Exporting a PSA
- Select the armature objects you wish to export.
- Navigate to
File
>Export
>Unreal PSA (.psa)
. - Enter the file name and click
Export
.
Importing a PSA
- Select an armature that you want import animations for.
- Navigate to
File
>Import
>Unreal PSA (.psa)
. - Select the PSA file you want to import.
- Select the sequences that you want to import and click
Import
.
Note that in order to see the imported actions applied to your armature, you must use the Dope Sheet or Nonlinear Animation editors.
FAQ
Why can't I see the animations imported from my PSA?
Simply importing an animation into the scene will not automatically apply the action to the armature. This is in part because a PSA can have multiple sequences imported from it, and also that it's generally bad form for importers to modify the scene when they don't need to.
The PSA importer creates Actions for each of the selected sequences in the PSA. These actions can be applied to your armature via the Action Editor or NLA Editor.
Why are the mesh normals not accurate when importing a PSK extracted from UE Viewer?
If preserving the mesh normals of models is important for your workflow, it is not recommended to export PSK files from UE Viewer. This is because UE Viewer makes no attempt to reconstruct the original smoothing groups. As a result, the normals of imported PSK files will be incorrect when imported into Blender and will need to be manually fixed.
As a workaround, it is recommended to export glTF meshes out of UE Viewer instead, since the glTF format has support for explicit normals and UE Viewer can correctly preserve the mesh normals on export. Note, however, that the imported glTF armature may have it's bones oriented incorrectly when imported into Blender. To mitigate this, you can combine the armature of PSK and the mesh of the glTF for best results.