What is the correct way to assemble offset static mesh

I’ve got a wood beam the sits atop certain walls, which are all square blocks. The Beam sits inside and above just a little to one side of the walls. As seen here:

It would be nice, if I could have it rotate around the center of the block so it would be easy to place where I need it. I had seen that the theoretical best way to do that is to first make a blank actor, and add the beam as a component, so the blank actor is the pivot/center point the beam rotates around. But if I make it just a regular actor, it doesn’t receive proper shading. It get’s a flat shade that differs for each beam and looks unsettling.

Creating a blueprint class from it creates a staticMeshActor, which receives proper shading. (All the walls and floors are staticMeshActors) But you can’t offset it since it’s the root component.

So I made a blank staticMeshActor because that’s what is created when I take the standard mesh and create a blueprint class. And that works perfectly for being able to place and rotate and it get’s the right shading!

The issue is:

I get this for every wood beam because there is no technical root component. And yes, the lightmap settings are correct for the mesh, I tested simply placing the mesh into the world, and it does not create the errors I get here.

So what is the best way to do this, but still get shading? A different kind of blueprint class?