Same machine
Two projects open on one computer find each other at once. Send, or copy in one Content Browser and paste in the other.
Nothing to set upPick assets in one Unreal editor and press Send, or copy and paste them into another editor's Content Browser. On the same machine, across the office, through a shared folder or with a code. You see what arrives before anything is written, and older engine versions get textures, meshes and materials rebuilt for them.
Two editors, two machines. Select SM_Crate and press Send, or copy with Ctrl+C and paste with Ctrl+V in the other Content Browser. Try Link and Edit & save, and switch an editor to UE 5.6.
Swipe sideways to see both editors.
A simplified copy of the plugin's logic, running in your browser with sample assets: what a selection takes along, the review, pairing, copy and paste, live links and the version bridge. The real thing moves real packages between real editors, as in the captures below.
Pick the way that fits. Every way ends in the same review, and nothing goes through a server of ours.
Two projects open on one computer find each other at once. Send, or copy in one Content Browser and paste in the other.
Nothing to set upEditors on other machines in the office or at home show up by themselves. Pair once with four check words.
Firewall: allow private networksThe dock: Google Drive, Dropbox, OneDrive or a network share. Leave a parcel, the other side takes it when ready.
Works anywhere the folder syncsThe receiver makes a code, the sender pastes it. Direct and encrypted, with no tridiART server in between.
A VPN like Tailscale, or a forwarded portMachines next to each other talk through speaker and microphone: material parameters, actor placement, a note, or a ticket for assets.
Two machines, side by sideCaptures of ta Ferryman in Unreal Engine 5.6, moving a crate with its material, textures and master material.
A newer .uasset can't load in an older Unreal. Ferryman sends a recipe along and the older editor rebuilds the asset with its own engine: a real native asset of that version.
Send to an older editor, or tick Also for older engines for files and the dock.
Source pixels and settings: compression, sRGB, LOD group, filter, address modes.
Every LOD's geometry, material slots, build settings and collision.
Parent and parameters. No parent there? A bridge material takes its place.
The review shows Rebuild for each asset. Land, and they are built and saved like your own.
Blueprints, master materials, levels, skeletal meshes and other types are marked Can't land, so nothing half-broken is written.
Every asset is marked New, Same (identical bytes) or Differs. Replace with a backup, keep yours, or keep both side by side. Land at the same paths, into a folder, or straight into the folder you're in, with references fixed up. If anything fails halfway, everything is undone.
Hard and soft references like Migrate, World Partition actor files, and the plugins and code modules it needs.
Ctrl+C in one Content Browser, Ctrl+V in another editor's. Ctrl+Shift+V always pastes from the other editor.
Every save sends the new version. Offline? The change waits until the other editor is back.
Machine keys, four check words on first contact, and X25519 with ChaCha20-Poly1305 on every connection.
One .ferry file for mail, chat or a USB stick. Drag it into a Content Browser to land it.
Pack, plan, land, send, link, dock and codes from scripts and Editor Utility Blueprints.
Everything the panel does is on one editor subsystem: find editors, send and link, pack parcel files, plan where they land and decide every conflict yourself.
Python & Blueprint docsimport unreal
ferry = unreal.get_editor_subsystem(unreal.TAFerrymanSubsystem)
# Every editor this one can see, with its engine version.
for peer in ferry.get_peers():
print(peer.project_name, peer.device_name, peer.engine_version)
# Send a folder (with what it uses) to another project.
ferry.send_to_editor("Island", ["/Game/Props"], "props for the dock scene")
# Or as a file, with recipes for older engines.
ferry.pack_parcel(["/Game/Props/SM_Crate"], "C:/Temp/crate.ferry", "", True)import unreal
ferry = unreal.get_editor_subsystem(unreal.TAFerrymanSubsystem)
Dest = unreal.TAFerrymanDestination
# Plan where a parcel lands, keep both copies on conflicts, then land.
plan = ferry.plan_arrival("C:/Temp/crate.ferry", Dest.INTO_FOLDER, "/Game/Incoming")
for i, item in enumerate(plan.items):
if item.state == unreal.TAFerrymanArrivalState.CONFLICT:
plan = ferry.set_arrival_action(plan, i, unreal.TAFerrymanArrivalAction.KEEP_BOTH)
result = ferry.apply_arrival(plan)
print(result.written, result.backup_folder)Sold on Fab under the Fab Standard License. Both licenses get the same plugin: every feature and the full C++ source, for Unreal Engine 5.6 – 5.8.
Ferryman is available on Fab now.
For individuals and companies with up to $100,000 in gross revenue in the last 12 months.
For companies with more than $100,000 in gross revenue in the last 12 months.
Need several seats or a studio agreement? Contact us.
The Fab Personal license is $19.99: individuals and companies with up to $100,000 in gross revenue in the last 12 months. Above that, the Professional license is $49.99. Both get the same plugin with every feature and the full C++ source.
Yes. Ferryman runs in both editors: one sends, the other reviews and lands.
Yes, in two ways. A shared folder (Drive, Dropbox, OneDrive, a network share) works everywhere, with an optional code lock. A connection code connects two editors directly; that needs a VPN such as Tailscale or ZeroTier, or a forwarded port on the receiver’s router. There is no tridiART server in between.
Not without you seeing it. Parcels from a machine you haven’t paired with, and any parcel that would replace something, wait for your review. Replaced assets are backed up, and if landing fails halfway everything is undone.
Partly. Unreal can’t load assets saved by a newer version, so Ferryman sends a recipe and rebuilds textures, static meshes and material instances in the older editor. Blueprints, master materials, levels, skeletal meshes and other types are reported as unable to land.
No. Assets travel, code doesn’t. Plugins and C++ modules the assets need are listed in the review so you know what to install.
Little: from about 11 to about 180 bytes per second. Enough for material parameters, actor placement or a short note; for assets, sound carries a ticket and the assets come over the network. Sound works between two machines, not two editors on one computer.
No. Ferryman is an editor plugin and isn’t packaged with your game. What lands is a normal asset of your project, with nothing that ties it to Ferryman.