Datasmith Overview

Choose your OS:

Datasmith Overview

Datasmith is a collection of tools and plugins that help you bring content into Unreal Engine 4.

Part of the Unreal Studio offering, Datasmith is designed to solve the specific challenges faced by people outside of the game industry who want to use the Unreal Engine for real-time rendering and visualizations — in industries including architecture, engineering, construction, manufacturing, live training, and more. But it also may be of interest to game developers who share similar problems in their asset pipelines.

How Datasmith Helps

Datasmith has some very ambitious goals:

  • To bring entire pre-constructed scenes and complex assemblies into Unreal, regardless of how large, dense or heavy those scenes may be. Rather than forcing you to deconstruct your scenes and assemblies into individual chunks, then pass each chunk to the game engine separately through an FBX import pipeline, then re-assemble the scene in the Unreal Editor, Datasmith re-uses the assets and layouts that you've already built for other purposes in other design tools.

  • To support the widest possible range of 3D design applications and file formats. It already works with a huge variety of sources, including Autodesk 3ds Max, Trimble Sketchup, Dassault Systèmes SolidWorks, and more with each release.

  • To handle the tricky problem of bringing in changes that get made in source material that you've already imported, without requiring you to re-do all the work that you've done to those Assets in Unreal. (To read more about this, see About the Datasmith Reimport WorkflowNEW! .)

  • Currently, Datasmith is focused on translating your design content into forms that Unreal Engine can understand and render in real-time. Longer-term, the aim is to add more intelligent data preparation, tailoring the imported content for maximum runtime performance in the game engine, and adding smarter runtime behaviors.

The Datasmith Workflow

Datasmith currently uses a file-based workflow to bring your designs into Unreal.

  • You save or export your design data in a format that Datasmith can handle. Datasmith reads the native file format of many common CAD applications. For some applications, including 3ds Max and SketchUp Pro, you'll need to install a special plugin, which you'll use to export files with the .udatasmith extension. (See the Datasmith Supported Software and File TypesNEW! .)

  • In the Unreal Editor, you use the Datasmith Importer to bring the saved or exported file into your current Unreal Engine Project. At this point, you can control what data you want to bring in from that file, and set a few parameters that control the translation process. (See the Datasmith Import OptionsNEW! .)

What You Get After Import

After you use Datasmith to import a file, the first thing you should see is all the elements of your source scene appearing in the Unreal Editor viewport. They may not look amazing yet — you'll handle lighting and look development later — but at this point your Unreal Level should be already be assembled exactly the way it was in your source application.

datasmith_overview_viewport.png

You'll also see that many new Assets are created in your Project's Content Browser (1), and new Actors are placed in the current Level (2).

Static Mesh Assets

For many reasons, Datasmith avoids bundling everything in your source scene into a single mesh in Unreal. Overly large, complex meshes are typically very hard to light and render smoothly with good performance, and restrict you from being able to work with the various parts of your scene individually in Unreal.

Instead, Datasmith creates a set of separate Static Mesh Assets, each of which represents a building block for the scene: an individual chunk of geometry that can be placed into a Level and rendered in the Engine. In dividing the scene up into Static Meshes, Datasmith does its best to respect whatever object organization you've already set up in your source application.

Datasmith places each of these Static Mesh Assets into the Geometries folder:

Static Mesh Assets generated by Datasmith

If your source scene contains multiple copies of the same geometry, Datasmith usually creates only one Static Mesh Asset for that object. It uses multiple instances of that Asset in the Level, each with its own position, rotation, and other properties. This typically reduces memory use at runtime and increases performance. For example, in this scene, there are many hanging lights, but only one Static Mesh Asset (L_Globe_01).

To read more about Static Meshes in Unreal, see Static Meshes .

Material Assets

Every Static Mesh in Unreal needs to be assigned one or more Material Assets, which describe the way its surfaces interact with incoming light. For each different type of surface Datasmith identifies in your source scene, it creates a new Material Asset in the Materials folder, and assigns it to the Static Mesh Assets that need to use it.

Material Assets generated by Datasmith

To read more about Materials and Unreal's physically based rendering system, start here: Materials .

Texture Assets

If your source application uses any textures to define the colors or other physical properties of the scene's geometry, Datasmith imports each of those textures into a Texture Asset in the Textures folder, and sets up the corresponding Material to refer to the new Texture Asset. If necessary, Datasmith may also convert your source image file to a format that Unreal recognizes.

datasmith_overview_textures.png

For information on working with Textures in Unreal, see Textures .

The Datasmith Scene Asset

Finally, Datasmith creates a single Datasmith Scene Asset, named according to the file you imported. This new kind of custom Asset is a key part of the Datasmith import strategy. Its job is to contain everything needed to re-assemble your original scene in the Unreal Editor from the Static Mesh building blocks that were imported along with it, and the built-in object types provided by the Unreal Engine.

  • It stores references to all the Static Mesh, Material and Texture Assets that were imported with it.

  • It stores the import settings you used to create it.

  • Most importantly, it contains a hierarchy or tree of all the types of objects in your original scene that Datasmith supports, including geometry objects, lights, and cameras. Each of these scene elements stores its position, rotation and scale in 3D space relative to its parent. In addition, each different type of element maintains a set of information that Datasmith was able to convert from your source application.

You can drag and drop the Datasmith Scene Asset into any Level to place a fully assembled representation of your original scene or CAD assembly into the Level. This recreates its full scene hierarchy automatically in your Level, using Unreal Engine equivalents for the information it brought in from your source file. See the next section for details.

Level Actors and the Scene Hierarchy

Finally, when all of your new Assets are ready, Datasmith places an instance of your Datasmith Scene into your current Level, replicating inside your Level the entire scene hierarchy that Datasmith was able to convert from your source application or file format.

Each element in the scene hierarchy is represented by a type of Unreal Engine Actor.

Datasmith Scene with child Actors

  • Geometry objects are typically represented by Static Mesh Actors, which reference the Static Mesh Assets in your Content Browser.

  • If your imported scene contains lights, these will typically be represented using one of the Light Actor types built in to Unreal, such as a Point Light or a Spot Light. See Types of Lights .

  • If your imported scene contains any cameras, these will typically be represented by an Unreal Camera Actor or CineCamera Actor .

  • At the root of the imported scene hierarchy you'll find a Datasmith Scene Actor, which references the Datasmith Scene Asset that was used to create it.

  • Often you'll see other kinds of Actors in the scene hierarchy, such as Lift_C or Lift_R in this image. Datasmith typically creates one of these Actors any time the parenting hierarchy in your source scene has a parent that is not associated with a particular geometry object.
    These Actors typically don't have any Static Meshes, lights or other objects assigned to them. However, these Actors can still be handy to use when managing your scene. Because the transforms of children are relative to their parents, as you move a parent Actor around in the scene, all of its children automatically follow.

Tracking and Handling Overrides

The Datasmith Scene keeps track of certain kinds of changes, or overrides, that you make to your imported Assets and Actors in Unreal. This has two main benefits:

  • You can selectively roll back the changes that you make to an Asset or Actor in Unreal. This returns all of the information Datasmith tracks about those selected Assets or Actors to the way it was when you first imported your content through Datasmith.
    Right-click the Asset in the Content Browser, or right-click the Actor in either the Viewport or the World Outliner, and select Datasmith > Reset Overrides.
    Datasmith Reset Overrides

  • When you reimport a Datasmith Scene, you don't lose any of the tracked overrides you've made in Unreal. For example, if you've moved an Actor to a new position in the scene, or set a different Material for an Actor, Datasmith preserves those changes after you re-import the scene.
    For more information, see About the Datasmith Reimport WorkflowNEW! .

Properties Tracked as Overrides

In general, changes you make to any information that Datasmith brings into Unreal from your source application are tracked as overrides. Changes that you make to additional Unreal-specific properties are not tracked as overrides.

For example:

  • For each Actor that Datasmith creates in your Level, it brings the transform of that Actor in 3D space into Unreal from your source application. If you move or rotate an Actor in your Level, Datasmith tracks that change as an override.

  • On the other hand, each Static Mesh Actor has a Cast Shadow setting, which is not imported from your source application. Datasmith enables this setting by default when it creates each new Actor. If you change that setting to turn shadow casting off, Datasmith does not track that change as an override. If you reset overrides for this Static Mesh Actor, that setting remains turned off.

The following table lists the kinds of information that the Datasmith Scene currently tracks as overrides for each type of Asset and Actor it creates in Unreal.

Object type

Tracked properties

Static Mesh Actors

  • 3D transforms

  • Mobility

  • Layers

  • Material assignments

Note that this also overrides the default connection between Static Mesh Assets and instances of those Assets in a Level. If you modify the Material assignment in a Static Mesh Asset that you imported with Datasmith, Static Mesh Actors in your Levels that are instances of that Asset are not immediately updated as they typically would be.

Light Actors

  • 3D transforms

  • Intensity and color values set by Datasmith

  • IES profiles

  • Layers

Camera Actors

  • 3D transforms

  • FOV and exposure values set by Datasmith

  • Layers

Static Mesh Assets

  • Material assignments

  • Lightmap resolutions and Build settings

  • Tessellation settings(for Static Meshes that come from CAD files)

Note that changes you make to the geometry of the Static Mesh Asset itself in Unreal, such as removing triangles, are not tracked as an overrides.

Material and Texture Assets

None.

Next Steps

Now that you're familiar with the basics of the Datasmith import workflow, and how you can work with your Datasmith content in your Project, you can: