Lesson 2.2Lesson 2.2 · Bringing CAD & BIM Into Unreal
Preparing Revit, Rhino & SketchUp Models
Clean the source model before you import - purge, hide, name, orient and control mesh density where the tools actually are
Datasmith is a faithful copier. Send it a clean model and you get a clean scene; send it a mess and you get a bigger mess, faster.
The single biggest predictor of a smooth real-time project is not your Unreal skill - it is the state of the model you import. Datasmith does not judge, tidy or optimise; it copies what you give it, honestly, down to every stray line, reversed face and cryptic layer name.
So the highest-leverage work happens before you press Export, back in Revit, Rhino or SketchUp - where the modelling tools actually live. Garbage in, garbage out. Ten minutes of preparation in the source app saves hours of untangling in Unreal, and turns import from a dreaded chore into a repeatable, boring step. This lesson is that preparation, tool by tool.
Ten minutes of prep in the source app saves hours of untangling in Unreal. Every time.
Why cleanup belongs in the source, not in Unreal
It is tempting to import first and clean up in Unreal, but that is backwards. Your source application is where the semantic tools live: Revit knows what a wall is, SketchUp knows what a group is, Rhino knows what a layer holds. Once geometry crosses into Unreal it is just meshes and actors - you have lost the parametric and organisational handles that make cleanup fast. Reversing a hundred faces is trivial in SketchUp and miserable in Unreal.
So adopt one rule: prepare in the source, refine in Unreal. Cleanup and organisation happen before export; lighting, materials, interactivity and polish happen after. The two figures in this lesson make the contrast concrete - a messy source produces a bloated, broken import no matter how good your engine skills are, because Datasmith mirrors the mess.
There is a second reason. Real-time has a hard performance ceiling that offline rendering does not - you are chasing 60fps on desktop and ~90fps in VR, and every unnecessary triangle, every hidden object, every duplicated component eats into that budget. A clean model is not just tidier; it is lighter, and lightness is what keeps a heavy building walkable. Preparation is your first and cheapest optimisation pass, long before you reach the profiling tools of Module 9.
There is a third reason that people discover the hard way: you will import the same model many times. A real project is not one import - the design changes, the model is reissued, and you re-import or sync again and again (lesson 2.4). Every bit of mess you leave in the source is mess you re-import on every revision, and every good name you set is a name that keeps paying off. So preparation is not a one-time tax; it is an investment that compounds across the life of the project. The ten minutes you spend now is multiplied by every future update - which is exactly why disciplined teams treat source hygiene as non-negotiable rather than optional polish.
Prepare in the SOURCE, refine in UNREAL. Never the other way round.
The universal cleanup pass - true for every tool
Some preparation applies whatever you model in. Run this checklist before every export.
Purge the unused. Every design tool accumulates junk - unused families, components, materials, layers and definitions that bloat the file. Revit has Purge Unused; SketchUp has Purge under model info / statistics; Rhino has the Purge command. Run it - and run it more than once, because purging can free up dependencies that a second pass then removes. Delete or hide what the camera will never see. Interior guts of an object, the far side of a site, mechanical systems inside walls - if it is not seen, it should not be exported. Remember Datasmith exports what is visible, so hiding is genuinely deleting-for-export without losing your model.
Name things like a human. Object17, Layer0 and Group#452 become folders and actors in Unreal that you then cannot find. Rename key layers, groups and materials to meaningful names - Ext_Wall_Brick, Glass_Curtain, Floor_Timber - and future-you, hunting for one surface in a 400-actor scene, will be grateful. Consolidate materials. If three near-identical greys exist, merge them to one; each unique source material becomes a unique Unreal material to manage. Set real-world scale and units. Confirm the model is at true size in real units before export, so it arrives correctly scaled and your camera, lighting and eventually VR all read as life-size. Do these five - purge, hide, name, consolidate, scale - every single time, and imports get dramatically calmer.
Per-tool traps: Revit, Rhino and SketchUp
Each application has its own characteristic problems worth pre-empting.
Revit tends to over-deliver. A federated model may carry every consultant's system, dozens of design options and worksets, and huge families full of hidden detail. Before export: use a dedicated 3D view with only the disciplines and worksets you want visible; set that view's detail level and turn off the fine annotation and analytical categories you do not need; turn off links you do not need; and be wary of ultra-detailed families (a fully modelled door handle with threads) that explode your polycount. A tip that saves headaches: keep a dedicated 'Datasmith export' 3D view in the Revit file, configured once, so every re-export sends exactly the same curated set rather than whatever happened to be on screen. Revit materials map reasonably, but plan to refine hero surfaces in Unreal.
Rhino is a NURBS modeller, and this is the big one: Unreal cannot draw NURBS, only polygons, so every smooth surface must be tessellated into a mesh on the way in. You control how finely via the mesh/tessellation settings - too coarse and curved surfaces facet visibly; too fine and the polycount balloons. Set a sensible density for the viewing distance, keep layers clean, and watch for tiny sliver surfaces and open edges. (Lesson 2.3 goes deep on tessellation.)
SketchUp is fast and loose, which is its charm and its trap. Two issues dominate. First, reversed faces: SketchUp faces have a front (white) and back (blue-grey), and a back face pointing outward may render dark, culled or full of holes in Unreal - reverse them before export (the figure shows exactly this). Second, organisation: raw loose geometry imports as a chaotic blob, so wrap things in named groups and components so they arrive as sensible, findable actors. Components have a bonus: SketchUp components map naturally to Unreal instances, so a row of identical windows built as one component imports lighter than the same row drawn as loose copies. Also purge unused components, which SketchUp hoards enthusiastically.
A cross-cutting point on materials for all three tools: assign materials in the source rather than leaving raw untextured faces, because a face with no material imports with a default you then have to hunt down and reassign. It is far quicker to give even a rough material in Revit, Rhino or SketchUp - the right base colour on the right surfaces - so Datasmith brings across a clean set of named materials you can upgrade to full PBR in Module 3. Untextured geometry is not just ugly on import; it is untraceable, because you cannot select-by-material something that has no material.
Rhino = tessellation. SketchUp = reversed faces + groups. Revit = hide disciplines + tame heavy families.
A pre-flight checklist you can actually run
Turn all of the above into a routine you run in two or three minutes before every export. Print it, tape it to your monitor, and it becomes muscle memory.
Purge unused families, components, materials and layers. Isolate the view: hide everything the camera will not see - other disciplines, interior guts, distant site, construction junk. Name your key layers, groups and materials meaningfully; kill the Object17 names. Orient faces correctly (SketchUp especially) - no reversed faces pointing out. Tessellate sensibly if you are in Rhino or another NURBS tool - set mesh density for the viewing distance. Scale to real-world units and confirm true size. Consolidate duplicate materials down to one each. Then, and only then, run the Datasmith exporter.
A quick word on where to draw the line. Preparation is not the same as optimisation for its own sake - you are not trying to build the leanest possible model, you are trying to send a clean, honest, well-labelled one. Do not spend an hour hand-reducing a mesh that Nanite will happily swallow, and do not agonise over a distant object nobody will inspect. The pre-flight is about removing genuine junk, fixing genuine errors and labelling things clearly, not about chasing an ideal polycount - that tuning happens later, in Unreal, where you can actually see the frame rate. Match the effort to what the camera and the frame budget will notice.
Here is the payoff, stated plainly. A prepared model imports as a light, well-organised, correctly oriented, sanely named scene that you can start lighting and dressing immediately. An unprepared one imports as a heavy, dark-faced, cryptically named tangle that you fight for an hour before any real work begins - and that you re-fight every time the design updates and you re-import. Preparation is not busywork; it is the difference between real-time archviz feeling effortless and feeling cursed. Do it once, do it every time, and the rest of this course gets easier.
Purge - Isolate - Name - Orient - Tessellate - Scale - Consolidate. Seven checks, ~3 minutes.
Purge Unused
Removing unused families, components, materials and layers
Available in Revit, SketchUp and Rhino; shrinks the file and stops junk crossing into Unreal.
Visible-only export
Datasmith exports what the source view shows
Hiding unseen geometry before export is deleting-for-export without losing your model - your first free optimisation.
Face orientation
Front versus back faces (normals) on a surface
Reversed faces - common in SketchUp - render dark, culled or holed in real-time; fix them at the source.
Naming convention
Meaningful names on layers, groups and materials
Cryptic names become unfindable Unreal actors; clean names survive every re-import and speed all later work.
Workshop — clean one model, then prove it imported better
Take a model you know is messy - most are - and run the full pre-flight pass, importing before and after so you can see the difference the preparation makes.
Unreal Engine 5; Revit, Rhino or SketchUp with the matching Datasmith exporter; any model you can edit at the source.
Goal: measure the effect of source preparation on an import Inputs: a real Revit/Rhino/SketchUp model; Unreal Engine 5 Time: ~45 minutes
- 1Import the model as-is with Datasmith. Note the pain points: dark reversed faces, cryptic actor names, a heavy triangle count, disorganised folders. Screenshot it.
- 2Back in the source app, run the seven-step pre-flight: purge, isolate/hide, name, orient faces, tessellate sensibly, scale to real units, consolidate materials.
- 3Re-export and re-import the cleaned model into a fresh level. Compare: are faces lit correctly, are actors named usefully, is the triangle count lower, are folders sane?
- 4In SketchUp specifically, deliberately find and reverse any back faces pointing outward, and wrap loose geometry into named groups or components before re-exporting.
- 5Write down the three preparation steps that made the biggest visible difference for your model - these are the ones to never skip again.
You’ll walk away with
Before-and-after screenshots of the same model imported messy versus prepared, plus a short note listing the seven pre-flight steps and the three that mattered most for your particular model and tool.
Three altitudes on the same idea
Read the band that fits you — or all three.
Your Revit model is authoritative but heavy - discipline at export is what keeps it usable in real-time. A dedicated 3D view showing only what you are visualising, links and worksets trimmed, and over-modelled families kept in check will do more for your frame rate than any engine setting. And because you are re-importing as the design develops, clean names and structure pay off on every single update, not just the first.
SketchUp is your friend and your foil. Its speed lets you iterate a room in minutes, but reversed faces and loose ungrouped geometry will haunt the import. Spend two minutes reversing stray faces, wrapping furniture and joinery in named components, and purging the component graveyard SketchUp accumulates - and your interior arrives in Unreal clean, lit-able and ready for the finish studies real-time does so beautifully.
This unglamorous discipline is exactly what separates a hireable archviz artist from a hobbyist. Anyone can press Import; the professional is the one whose imports are clean, light and organised because they prepared the source. Build the pre-flight checklist into your habits now, on your own projects, and you will be the person a studio trusts with the messy real-world model on day one.
“It does not matter how tidy my model is - I will just clean it up in Unreal after I import.”
Do it yourself
Answer from the source app's point of view.
- 1Why is it faster to fix reversed faces in SketchUp than in Unreal?
- 2What does 'Datasmith exports what is visible' let you do as a preparation step?
- 3In Rhino, why must smooth surfaces be tessellated before they can enter Unreal?
- 4Name three things the universal cleanup pass removes or fixes before export.
- 5Why does clean naming pay off on every re-import, not just the first import?
The one line to carry out
Peer-reviewed journals & authoritative standards
- 01Rhinoceros 3D — Wikipedia, 2026.
- 02SketchUp — Wikipedia, 2026.
- 03Datasmith Overview — Epic Games Developer Documentation, 2026.
- 04Polygon mesh — Wikipedia, 2026.
Even a well-prepared model needs its curves turned into polygons and its artifacts fixed inside Unreal. Next we go deep on tessellation, polycount, normals and the common import glitches - and how to clean them up.
The author
Amogh N P
Architect, interior designer, and creative polymath. Studio Matrx began in his notebooks — his vision of design made honest, useful, and open to everyone. Its Academy is written and taught in his memory, and free, forever.
More about Amogh →