Engine Swap

Beta

Bidirectional cross-engine converter between Unreal Engine 5 and Unity. Convert project structures, assets, materials, components, and logic using an Intermediate Representation (IR) format.

Pricing

EngineSwap is available as a standalone addon or as part of The Forge Complete:

  • Standalone: $19.99 — requires BlueprintForge (Free) for both UE5 and Unity
  • Forge Complete: $249 Personal / $399 Professional — includes BlueprintForge + all add-ons for both engines

Requirement: EngineSwap requires both BlueprintForge and Manny to function, since it converts assets bidirectionally between UE5 and Unity.

Overview

Engine Swap is an addon module for the BlueprintForge suite that enables converting project assets and structures between UE5 and Unity. Rather than direct translation, it uses an engine-agnostic Intermediate Representation (IR) as a common format, allowing both engines to export to IR and import from IR.

Beta feature: Engine Swap is currently in active development. Core conversion pipelines are functional, but some complex asset types may require manual adjustments after conversion.

Architecture

Intermediate Representation (IR)

The IR format defines 60+ data structures that represent engine concepts in a neutral way. Each engine's exporter converts native assets to IR, and the importer on the other side reconstructs them using the target engine's equivalents.

IR Category Structures Examples
Actors / GameObjects IRActor, IRComponent, IRTransform Scene hierarchy, transforms, tags
Materials IRMaterial, IRMaterialParameter, IRTexture Shader properties, texture references
Physics IRCollider, IRRigidbody, IRPhysicsMaterial Collider shapes, mass, constraints
Animation IRAnimator, IRAnimState, IRTransition State machines, blend trees, clips
Input IRInputAction, IRInputBinding Action maps, key bindings
Logic / Events IREvent, IRDelegate, IRNode Blueprint nodes to C# methods

7 Mapping Databases

Shared JSON mapping files define equivalences between engine-specific concepts:

components.json

UE5 ActorComponents ↔ Unity MonoBehaviours

types.json

C++ types ↔ C# types (FVector ↔ Vector3)

events.json

UE5 delegates ↔ Unity events (BeginPlay ↔ Start)

nodes.json

Blueprint nodes ↔ C# method equivalents

materials.json

UE5 Material Expressions ↔ Unity shader properties

input.json

Enhanced Input ↔ Unity Input System actions

physics.json

UE5 physics settings ↔ Unity physics config

Session Management

Engine Swap uses sessions to track conversion progress. A session stores the source project path, target engine, conversion phase (scanning, exporting, converting, importing), and a manifest of all processed assets. Sessions support folder watching for incremental re-exports when source files change.

Available Tools

UE5 (BlueprintForge) — 5 Tools

Tool Description
engineswap_scan_project Scan the UE5 project and build a manifest of all exportable assets (Blueprints, materials, levels, animations)
engineswap_status Check the current session status, conversion progress, and any warnings or errors
engineswap_export_assets Export scene hierarchy, actors, and components to the IR format
engineswap_export_materials Export materials and textures to IR, mapping Material Expressions to neutral shader properties
engineswap_import_assets Import IR data from a Unity export, creating UE5 equivalents (Actors, Blueprints, materials)

Unity (Manny) — 2+ Tools

Tool Description
engineswap_scan_project Scan the Unity project and build a manifest of all exportable assets (scripts, prefabs, scenes, materials)
engineswap_import_assets Import IR data from a UE5 export, creating Unity equivalents (GameObjects, C# scripts, materials)
More tools coming: Unity export tools (export_assets, export_materials) and additional import tools are under active development.

Supported Conversions

Asset Type UE5 → Unity Unity → UE5 Notes
Scene hierarchy Supported Supported Actor ↔ GameObject with full transform
Components Supported Supported Common components mapped via components.json
Materials Supported Partial Basic properties; complex node graphs may need manual work
Static meshes Supported Supported FBX/GLB pass-through with reference mapping
Physics Supported Supported Collider shapes, rigidbody settings, physics materials
Input bindings Supported Supported Enhanced Input ↔ Unity Input System
Animation state machines Partial Partial States and transitions; blend trees require review
Blueprint logic / C# scripts Partial Partial Common patterns mapped; complex logic flagged for manual review

Getting Started

  1. Ensure both the BlueprintForge (UE5) and Manny (Unity) plugins are installed in your respective projects
  2. In the source engine, use the chat command:
    Scan this project for engine swap
  3. Review the scan manifest to see which assets will be exported
  4. Export assets:
    Export all assets for engine swap
  5. The IR files are saved to a shared exchange folder (configurable in Settings)
  6. In the target engine, import the IR:
    Import engine swap assets from [path]
  7. Review the import report for any warnings or items needing manual attention

Limitations

  • Custom shaders: Only standard/lit material properties are mapped. Custom shader graphs require manual recreation
  • C++ / native plugins: Engine-specific native code cannot be automatically converted
  • Niagara / VFX Graph: Particle systems are engine-specific and not currently supported
  • Networking: Replication (UE5) and Netcode (Unity) architectures differ significantly and are not mapped
  • Audio middleware: Wwise/FMOD integrations are not converted; only basic audio clip references are mapped
  • Skeletal mesh retargeting: Skeleton hierarchies are mapped but retargeting data may need manual adjustment
Best practice: Use Engine Swap for structural and asset conversion, then manually review and polish engine-specific features in the target project.