Skip to content

How to package a Motion project

Use this guide after the Motion demo path and your project character both work in PIE. The goal is to catch broken profile references, missing plugin content, invalid item configs, or late initialization warnings before shipping a packaged build.

Before packaging

  1. Run Quick start and confirm the shipped demo moves.
  2. Run your own character through Add Motion to a character.
  3. Confirm tuned component profiles point at /Game/... project assets, not edited plugin defaults.
  4. If the project uses native first-person items, equip and unequip the item in PIE.
  5. Fix Motion warnings before starting the cook.

Use the Gameplay Debugger and GAS overlay when the runtime state is unclear. During PIE, press apostrophe (') to open the Gameplay Debugger, then use the category key shown for Motion if that category is not already visible.

bash
showdebug abilitysystem
log LogMotionAbilitySystem Verbose

Reload before cooking

  1. Save all changed assets.
  2. Restart Unreal Editor.
  3. Reopen the map that uses your Motion character.
  4. Press Play in standalone mode.
  5. Walk, sprint, crouch, and jump once.

This catches setup that only worked because an unsaved editor object was still loaded.

Package from Unreal Editor

Use Unreal's standard packaging flow:

  1. Open Platforms in the editor toolbar.
  2. Choose your target platform.
  3. Run the normal package action for your project.
  4. Check the Output Log for Motion warnings or missing asset references.

Package from command line

For a Development Win64 package, run Unreal Automation Tool with your project path:

powershell
& 'C:\Path\To\UE_5.6\Engine\Build\BatchFiles\RunUAT.bat' BuildCookRun `
  -project='C:\Path\To\YourProject\YourProject.uproject' `
  -noP4 -platform=Win64 -clientconfig=Development `
  -build -cook -stage -pak -archive `
  -archivedirectory='C:\Path\To\YourProject\Saved\MotionPackage'

Adjust the engine path, project path, config, and archive directory for your project.

Expected result:

text
AutomationTool exiting with ExitCode=0 (Success)

Common packaging failures

SymptomCheck
Missing Motion assetsMotionCore is enabled and plugin content references are valid
Missing project profilesComponent Profile fields point at saved /Game/... assets
Character does not initializePlayerState or character exposes an Ability System Component
First-person item missingThe item config has one complete first-person/world mesh pair
Crouch, sprint, or jump differs after reloadTuning was made on transient component/runtime fields instead of the assigned profile or item config

Next steps

Motion - Advanced First Person Character Controller