Written by the founder of BreezeConvert — a creative director working across set design, game 3D, Unreal/VFX and AI content pipelines. More about the author.
I've spent a lot of time moving 3D between worlds that weren't designed to talk to each other — architectural and set models built in SketchUp, real-time scenes assembled in Unreal, game levels in Unity. SketchUp is wonderful for blocking out a space quickly, but it was built for design, not for real-time rendering, and that gap is where models break. Almost every problem people hit is one of the same handful, and once you know them the whole thing becomes routine. Here's the pipeline, in order.
Step 1: get out of the .skp format
Neither Unreal nor Unity reads SketchUp's native .skp directly, and you shouldn't want them to — it carries design-tool baggage a game engine has no use for. Export an open interchange format instead. From SketchUp, File → Export → 3D Model gives you COLLADA (.dae) and OBJ even in the free/web tiers. From there I convert to GLB, which is the format modern engines are happiest ingesting. You can do that conversion locally with our SketchUp-to-GLB tool — drop in the DAE or OBJ, get a GLB, no upload.
Step 2: understand why GLB usually wins
You'll see FBX recommended a lot for engines, and FBX is fine — but it's an Autodesk format that's fiddly to produce cleanly outside Autodesk software. glTF/GLB was designed from the start as the "JPEG of 3D": an open, engine-neutral format that packs geometry, UVs, PBR materials, and textures into one self-contained file. Both Unreal (via the glTF importer / Datasmith workflows) and Unity (via glTF packages) import it well. The single-file part is the quiet hero here — a .gltf that references external .bin and texture files loses them constantly when you move the model around; a .glb can't, because everything is inside it.
Step 3: fix the normals before you export
This is the number-one cause of "why is my model black / see-through in the engine." SketchUp is relaxed about face orientation — a face can point inward and still look fine in SketchUp's own viewport. Game engines are not relaxed about it: they cull back-faces by default, so an inward-facing surface renders as invisible or solid black. Before exporting, turn on monochrome/back-color view, find every face showing the back colour on its outward side, right-click, and Reverse Faces. Two minutes here saves an hour of confusion in-engine. It's the single highest-value habit in the whole pipeline.
Step 4: sort out scale and units
SketchUp models in real-world units; engines have their own idea of a unit (Unreal is centimetres, Unity is metres). A model can import at 1/100th size or 100× depending on the chain, so set your SketchUp units deliberately before export and check the model against a known reference once it's in-engine — drop in a standard 1.8 m character capsule and eyeball it. Getting scale right early matters more than it sounds, because lighting, physics, and camera behaviour are all tuned to real-world scale; a mis-scaled scene fights you on all three.
Step 5: budget the geometry
SketchUp loves to generate dense geometry — every arc and rounded corner becomes many segments, and imported components can carry hidden duplicate faces. That's invisible in a design tool but expensive in real time. Before you bring a model in as game-ready, think about polygon budget: simplify curves, delete interior faces the camera will never see, and remove duplicated geometry. For a background prop it may not matter; for a hero asset the player walks around, it very much does. This is the mental shift from "design model" to "real-time asset," and it's the one most design-side people skip.
Step 6: handle materials realistically
SketchUp materials are simple colours and tiled textures; engine materials are physically based (PBR), with roughness, metallic, and normal channels. A conversion carries your base colours and texture assignments across, but it can't invent PBR data that was never in the SketchUp file. So treat the imported material as a starting point: the model arrives correctly mapped, and you re-author the surface properly in the engine's material editor. Expecting the model to look final on import is the mistake; expecting it to arrive correctly mapped and ready to re-surface is the right frame.
The pipeline, condensed
Export DAE or OBJ from SketchUp; reverse any inward faces first; convert to a packed GLB; import into Unreal or Unity; check scale against a known reference; simplify heavy geometry for real-time; and re-author materials as PBR in the engine. Follow that order and a SketchUp model lands in-engine clean and predictable instead of black, inside-out, and mysteriously enormous. And because the format conversion in the middle runs entirely in your browser, an unreleased set or level design never has to touch someone else's server to make the trip.