Datasmith Feature Requests

Unless I’m mistaken, Unreal Studio included Datasmith functionality was included in Unreal Studio which has been wrapped into 4.24. Someone please correct me if I am wrong here.

What you say is true. However if you want to use models in Max, Revit, Sketchup etc format then you need to own these applications. Unreal won’t import their native file/project formats.

Hi, I need to read PDF files in UE4.
A data of assets contain the path to the PDF file and I need to watch it in the viewport.
Maybe it’s already possible but it seems no.
Is it possible now and how?

I would like Dataprep to have it’s merge functionality work similar to HLODs:

Define a radius, and check if the total bounds of each sub-hierarchy (ie CAD assembly) can fit within that radius, and if so, merge those actors.

Correct - however also check out the direct model import options too as there are a lot of native formats supported there too which may help you out

I’d love to be able to load PDF data in too. I guess you’d need a PDF reader that could generate bitmap data for a texture at runtime. It’s definitely possible to load in a folder of JPGs etc and use those dynamically. I wrote some C# functionality for that a while back using USharp to run the code in UE4. Adding the PDF conversion too would be a cool idea.

Are there plans to improve the Python API reference, to match the more recent features of the Dataprep asset? Would be nice to have those in relative feature parity. As far as I can tell the more recent features of Dataprep aren’t covered by the API: Search — Unreal Python 4.26 (Experimental) documentation.

Also speaking of the Dataprep asset, attempting to view Metadata to filter assets is nearly impossible through the Dataprep window—UI needs some adjustment.

Dataprep Commit seems to add everything back into the current level, which is annoying if you’ve made changes. Datasmith has an option to not respawn deleted actors, but Dataprep doesn’t seem to have this?

Also, the result from the Dataprep Commit does not have the white balls on empty actors that the result from a straight Datasmith import has (which is preferrable actually, so I’d rather hope that when you drag a Datasmith scene into a level in the future the white balls will be hidden for it as well).

Once a Dataprep Commit has been made, I believe the intended workflow is to then update the scene through the Datasmith Asset Dataprep > Update Datasmith Scene(s). From my experience, this then works as expected.

I have recently been working with some very large Revit files. My workflow has been to break the model into 20 sectioned views in Revit and export them individually to Datasmith files. I have then created an editor utility that imports each view to a new streaming level. These can then be streamed in and out at runtime in UE4.

Unfortunately, each separate Datasmith file creates its own Geometry, Materials and Textures folder. This means that even though assets are actually shared between views, each brings its own copies.

It would be great to have a feature to allow multiple Datasmith files to share the same asset folders in unreal. On Datasmith import it could skip creating any duplicate assets and use the existing ones from the folder. This would both increase performance and make further data prep much easier.

As a bonus, it would be amazing if the Revit exporter could export multiple Revit views at once (perhaps a gui to select which views to export?)

Dataprep only has a “filter by volume”… but how do you know the volume of your objects in the dataprep window?

I can only see an “approx size” for the entire import, and even then, I have to manually multiply those three value together to get a volume.

It would be nice to get the volume directly in the interface, and also be able to select and isolate individual objects in the view.

(Also, if it will end up with a blueprint paradigm, and not stacks, it would be nice to see what rules affect what objects, like you can with the line highlights when pressing play.)

Visual dataprep should allow you to select multiple datasmith input files and put it through one pipeline. It will only give you one Datasmith object at the end however the generated content should share materials (not sure if instancing works between files eg multiple Revit files each using the same chair family)

Now that Rhino improvements have been made can we look forward to better Solidworks importing on the roadmap?

I’m a bit puzzled by this:


If I search this forum, I can find a number of users asking for how to import Datasmith hierarchies as blueprint (actors), but the number of users asking for how to import them as a level seems to be zero…

…was there a large architecture firm behind the scenes who wanted to do level streaming on their huge middle eastern projects, I wonder? :slight_smile:

EDIT: Also, that level is not open, and I cannot delete it. What is going on?


Why the Data smith geometry imported now comes with it own post procession volume??
It took me a couple of day to figure out that, after each import my scene got black and I could figure out why. also when you do a search those volumes don’t show up you have to scroll in the outliner to find them.

Hi fco3d,

It sounds like you are using 3dsMax to generate your datasmith files : if that is the case, you can remove post process volumes from the max datasmith export by going in your “Rendering” settings, then “Exposure Control”, and finally switching the exposure control preset to “<no exposure control>”.

You can then export your scene and the post process volume will not exist anymore when the datasmith file is imported in the engine.

Thank you for the explanation.
Now I wonder what was the thinking on making this a default feature??
Is the lighting inside Unreal the same as what I would get inside 3D Max with V Ray renderings?? is that why?

You can read directly pdf in cef, by recompiling source code for cef part.
I don’t have experience with specific plugin creation, but I used that procedure last year and works well.
or you can setup a small web server with pdfjs or js reader and setup that in web browser
​​​​​​First option is better of course.
It would be nice to create a small plugin with pdf reader (maybe starting from cef, like blui).

I found my old video on LinkedIn:…212951552-nrOm


Alternatively you can setup as said in this topic [Credits to user eray_ozr]:…th-web-browser

Please also have a look to latest BLUI version:

It supports natively PDF rendering, and seems best method to do everything.

Credits obviously to @getnamo

PS: I have some problems to figure out to compile an exe version with this plugin included. If anyone has ideas howto, would be really pleasant.

  • I have several models in a .udatasmith file
  • After import, I use “convert selected components to blueprint class”

Now I want to update some of my models…

  • Regardless if I use Datasmith or Dataprep, the entire scene is re-spawned in the level
  • Now I have to delete it every time and ignore these “break reference” warnings.
  • Also, in my blueprint actors, meshes not present in the update remains, which means they’re not cleaned out from the content folders either.

It’s a super annoying workflow! :frowning:

EDIT: Just now also discovered that despite me attempting to clean out static meshes that I removed, I still get this BUT ONLY ON A SHIPPED PACKAGE of my project…


EDIT: Ok, so I just deleted all datasmith imports (except the dataprep asset), cleared out all datasmith actors and static meshes from my blueprints, re-imported everything again, and re-did the whole convert to blueprint and copy components dance detailed above, and still I get this…

LowLevelFatalError [File:Unknown] [Line: 2598]
Missing import of (/Game/CRPG/Levels/Dungeon/Sewers): DatasmithActorTemplate_51 in Package /Game/CRPG/Blueprints/Tiles/Dungeon/CellarCorner was not found, but the package exists.

It seems that Datasmith/Dataprep imported geometry and actors, converted to Blueprint actors, can’t handle being copy pasted into existing Blueprint actors with custom classes? That’s quite a limitation if so…

EDIT: This seems to be a blueprint nativization bug! Possibly (since I’ve talked to folks and I see other issues popping up as well) related to this, although I’m still seeing it in preview 6…