[Design Question] Door Class

Hello dear community,

i am currently making a door class and i think about of how to handle it.

I want to make it as easy as possible for a level designer to add new doors to the game.
So when he creates a new Blueprint out of ADoor class, he can create his desired components (Hinge, Door, Handle a.s.o).

I have a Timeline which fires FCurveVectors the designer set up before.

I know i can “GetComponents” to get all StaticMeshComponents but here it begins:

  • I somehow need to figure out in what direction a Mesh should be transformed
  • Is it a translation (f.e. Sliding Door) or a rotation (a door with a hinge).
  • Is it a single or doubledoor?
  • there may be more info to determine…

As i said, i dont want to bother the designer too much in creating a new door.

possible approaches:

  • set up some named variables like (UStaticMeshComponent* LeftSideDoor, RightSideDoor…) and make them editable in Blueprint… -> not preferable, too static.

  • set up a MovableArray of UStaticMeshComponents* to let c++ know which components needs to be updated on activation of the door -> not preferable, still missing information.

  • Extend UStaticMeshComponent with the desired information i need? -> could be, but i believe i dont need this

  • provide a Struct with Mesh + desired information and provide an array for those structs in blueprint?

In the end im not happy with all the solutions and there might be someone which has the “Top-idea” i havnt discovered yet :slight_smile:

Feel free to post your intentions here :smiley:

thanks for visiting