Charios
Docs/Export & integrate/Export to Unreal Engine 5

Export to Unreal Engine 5

PNGs + a Python script. Run it from inside UE5 and a posed PaperSprite Blueprint actor lands at /Game/<Project>.

UE5 .uasset is binary, so we ship sprite PNGs plus a Python script that runs inside the UE5 editor. The script imports textures, creates PaperSprites, and builds a Blueprint actor with each layer at its baked T-pose transform.

What's in the zip

folder<Project>/
├─ Sprites/
│   └─ <layer>.png            (one per visible layer)
├─ import_<Project>.py        (run inside UE5)
└─ README.txt

Prerequisites

UE5.x with two plugins enabled (both ship with the engine, free):

  • Paper2D — Texture2D + PaperSprite + PaperSpriteComponent.
  • Python Editor Script Plugin — runs the import script.

Enable both via Edit → Plugins, then restart the editor.

Importing

  1. Unzip the export anywhere on disk.
  2. In UE5, go to Tools → Execute Python Script…
  3. Pick import_<Project>.py. The script logs to the Output Log.
  4. On success: Texture2D assets land at /Game/<Project>/Textures/, PaperSprites at /Game/<Project>/Sprites/, and a Blueprint actor at /Game/<Project>/<Project>_BP.

Using the Blueprint actor

Drag the <Project>_BP Blueprint into a level. The character appears posed in T-pose with one PaperSpriteComponent per layer at the rest-pose transform. Each component has Translucency Sort Priority set to its layer index, so draw order survives.

Animation is static-only on UE5

Paper2D doesn't have a clean editor-script path for per-component animation curves — Sequencer would work but driving Sequencer from Python is verbose and fragile. The Charios export ships the posed actor; for animation you have two options:

  • Drive components from a Blueprint tick. Read your animation from a custom data asset and rotate / translate the PaperSpriteComponents per frame. Doable in 50 lines of Blueprint.
  • Lift into Control Rig. Once imported, parent the components to a Control Rig and animate via UE5's standard animation tooling. More work upfront, more flexible long-term.

Texture settings

The Python script sets every imported texture to SRGB = True and CompressionSettings = TC_EditorIcon for clean alpha. If your project uses premultiplied alpha or a different colour space, change these in the texture import settings before using.

Was this page helpful?