moving 3d assets between roblox, unity and unreal

a mesh is portable. almost nothing attached to it is. if you might ship the same art in more than one engine, the decisions that matter are made before anyone starts modelling, not after you try the import.

craft3 min read

what actually transfers

the geometry and the uvs travel fine. so do the texture images themselves, as files. that is the good news, and it is most of the asset by weight.

travelsdoes not travel
mesh geometry and topologymaterials and shader graphs
uv layoutslighting setups and post-processing
texture image filesphysics, collision volumes, constraints
skeletons, broadlyanimation retargeting, without work
blend shapes, usuallyparticle systems and vfx, entirely

so a prop moves almost for free. a rigged, animated, vfx-laden character is a rebuild in everything but the mesh.

the three that catch people

scale and units

roblox studs, unity metres and unreal centimetres are three different rulers. an asset authored without a stated unit imports at some arbitrary size and everyone fixes it by eye, differently, in each engine. agree the unit in the brief and have the source file authored in it.

the up axis

z-up and y-up disagree, and the fix applied at import bakes a rotation into the transform that follows the asset around for the rest of its life. it is a two-minute problem at authoring time and a permanent irritation afterwards.

materials

no engine reads another engine's material. what does transfer is the texture set — base colour, normal, roughness, metallic — as image files with a named convention. ask for the maps, not the material, and rebuild the material in each engine.

how to commission for more than one engine

  1. say so in the brief. "roblox now, unity later" changes how the piece is built, and it costs nothing to say up front and a lot to discover afterwards.
  2. ask for the source file, not just the export. a .blend can be re-exported for any engine; an .fbx that has already been through roblox's importer has decisions baked into it.
  3. name your unit and your up axis. one line, and it removes an entire category of import bug.
  4. ask for the texture set as loose maps at a stated resolution, in addition to whatever the engine-ready export contains.
  5. keep the rig simple. a skeleton that maps cleanly onto r15 will retarget into other engines; a bespoke 90-bone rig will not, without an animator.

every bevel delivery includes the .blend source alongside the game-ready .fbx or .rbxm, for exactly this reason: the export is what you use today, the source is what you re-export from in two years when the engine changes.

when not to bother

if you are shipping on roblox and only roblox, do not pay for portability you will never use. author to the tightest constraint, take the game-ready export and the source, and move on. multi-engine authoring is worth it when there is a real second destination, not as insurance against a future you have not decided on.

  • game-ready
  • process
  • briefs

need this built?

tell us what you need. plan, price and delivery date back within a day.

what you need, in your own words. we reply within a day.

saved as a brief. no list, no spam.