If not Blueprints, then how do you move merged/modified Datasmith imports between levels?

As the topic says:

  1. We import a large product assembly via Datasmith.
  2. We merge certain components to reduce draw calls, assign custom materials, generate LODs, but we still keep part of the assembly (including custom pivot points).

How do we move the resulting optimized assembly to a new level? Or how can we even spawn it via Blueprints?

From what I’ve heard so far, creating a Blueprint is not the answer. But what is the alternative? There is a Unity to Unreal video which shows that you can add components to Empty Actors, but when I try, I lose the hierarchy and custom pivots (then again, I haven’t gotten to the video which shows if you can save these actors with components in them down to the content browser again).

(Sorry if this is a very “newbie” question, but I’m still in the Unity Prefab mode of thinking. I really hope the answer here isn’t “Python”, because that is not very user friendly, and honestly, not something anyone in our little company is willing to invest time in.)

You are probably trying to do something way beyond my capability, but can’t you just drag the datasmith file in the Content Browser into any new level? As long as any modifications in geometry/materials (including custom pivots) were done to the original datasmith components, it should be fine.

It sounds to me like what you want to do is create a Blueprint from the top-level item in your mesh’s heirarchy. Its similar to creating a Prefab in Unity.

Merging generates new components, though. Are you saying that there’s some way to get the Datasmith scene to recognize this?

Right, but I’ve been told that this is buggy and I shouldn’t be doing this.

Not sure what you mean by it generates ‘new components’. Dragging a datasmith object file into a new level still references the same geometry and materials from the original datasmith object import folders. Nothing is new is generated/duplicated. Grouping things together, and then doing a copy/paste from one level to another, accomplishes the same thing. Hope that helps.

It could be in your specific use case but at least for me making blueprints from actors in the scene in general works fine. The only time I’ve encountered a problem is nesting blueprints inside other blueprints - it generally works but sometimes has issues.

I mentioned using the “merge actors” tool, for example. Copy paste is a workaround that I guess I can use for now, though when I one day want to spawn it using a blueprint, I’ll have to think about something else.

How many staticmeshes did you put into a blueprint at most, and how deep of a hierarchy? (And actually, can I ask a newbie question, how *does *one actually put more than one staticmesh into the same blueprint from the outliner? It’s probably obvious, but I haven’t managed to figure it out.)

I found this today, its not in the market yet so maybe more difficult to setup, but might be useful depending on your needs: Prefabricator - Open Source Prefab Plugin - Game Development - Epic Developer Community Forums