Should modular level components be raw static meshes, or actors with a mesh component?

I’ve seen a lot of level design workflows in tutorials and such where they make each piece of geometry an actor with a static mesh component in it. I see how that could save time by, for example, allowing your artist to update a mesh, change it in the modular actor, and rest assured that the change will propagate to all the sublevels. However, I’ve always dragged the static mesh directly into the level, and a quick look through the level design workflow map in the content examples show that they do the same thing… is there an obvious reason to prefer one approach over the other, or does it all come down to personal preference?

1 Like

I’m curious whether there’s a technical reason for this as well. I find it a bit more agile to just drag in my static mesh directly and re-position as necessary, but I’m also a one-man team. I can see multiple reasons for working the other way if you’re working in a larger team where there is more than one level designer/asset creator involved.

The only thing I’ve been wondering is if there’s a performance gain from static mesh actors that you don’t get from aactor. Looking at AStaticMeshActor | Unreal Engine Documentation though, meshes are children of aactor, so the only thing I can think of which would make aactors objectively less performant than astaticmeshactors when used as level geometry is if an aactor + ustaticmesh adds up to be more overhead than the astaticmesh on its own.

8 times out of 10 the mesh is the way to go. The only real reason to do an actor with static mesh is if you want to have more than the mesh - e.g. a light with some logic or a door etc.

Hmm okay, thank you for clarifying :slight_smile:

Basically was Anadin said, can’t see any logical reason for the use of a actor blueprint if you don’t plan on adding additional functionality

for the most part you guys have it right, but for specific things where you have many copies of the same mesh (say, for a modular building set) then it saves a lot of draw call issues to have the meshes as instanced static mesh components of an actor blueprint.

1 Like