Engine Swap
BetaBidirectional 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.
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:
UE5 ActorComponents ↔ Unity MonoBehaviours
C++ types ↔ C# types (FVector ↔ Vector3)
UE5 delegates ↔ Unity events (BeginPlay ↔ Start)
Blueprint nodes ↔ C# method equivalents
UE5 Material Expressions ↔ Unity shader properties
Enhanced Input ↔ Unity Input System actions
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) |
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
- Ensure both the BlueprintForge (UE5) and Manny (Unity) plugins are installed in your respective projects
- In the source engine, use the chat command: Scan this project for engine swap
- Review the scan manifest to see which assets will be exported
- Export assets: Export all assets for engine swap
- The IR files are saved to a shared exchange folder (configurable in Settings)
- In the target engine, import the IR: Import engine swap assets from [path]
- 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