Need guidance, setting up "generation" of Tiles

Hey, sorry if this doesn’t fit into this topic!
Need guidance on how to set this up.

I’m currently trying to make a board-game as my first project. (Carcassonne)
It consists mostly, of Tiles. That have different looks, wich can be combined build paths, castles.

Here is how i moddeled it. ( these mesh parts will change material, if a part is grass or castle for example…)
All of the top pieces are seperated meshes, seperate files.
I only exported one edge piece because i could just make 4 of the same and rotate it.
And here is where the problem arises.

I created a C++ class. wich contains 6 static meshes. ( hull, center, edges x4)
And since the edges are using the same mesh (they have thier own…)
The blueprint turns out like this:
I found out i could in the blueprint editor rotate the parts. wich seems to work. Even tho it doesn’t have a rotation attribute anywhere?
I read somewhere that you could add some sort of scenery component and child the meshes to that. But I wrote the code in C++, wich means i can’t child the mesh components to anything.
I also tried to rotate the edges mesh components after creating them, but nothing happend
The blueprint looks nothing like the editor or in game.
The icon for the blueprint looks like before, broken with only one edge…

Anyone have any ideas what i could be doing wrong?
How would you do it?
Sorry for the wall, appreciate your time!

You can definitely add the mesh components as children of another component in C++ using the AttachTo function.
You may not be able to set the rotation of a mesh that is attached to another mesh.
Create a scene component and set it as the root component that all of your meshes are attached to.

USceneComponent* Scene = CreateDefaultSubobject<USceneComponent>(TEXT("Scene"));
RootComponent = Scene;

UStaticMeshComponent* Mesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Mesh"));

// Rotate your mesh as needed