What parent classes should I use?

I am trying to figure out what Parent classes I should use now that I am switching everything over to C++ for the following classes:

  1. Word - all rules related to game, settings, stats, etc… Also contains a single level that has homes, shops and multiple Maze entrances… Might split that up.

  2. Maze - an entire dungeon made up of multiple levels

  3. Level - a single level made up of segments

  4. Segment - piece of a level made up of 1 or more tiles

  5. Tile (base in C++, derived as blueprint) - Pre generated piece of Maze that could be used 1 or more times in a level.

Mazes will be generated similar to how they are done in Diablo… The game itself is nothing like it. Any ideas on class structure would be appreciated… Any suggestions on improving the existing tree would also be welcome.

So you got those classes in blueprint? If yes why don’t you just use the same parents?

I only have Level, Segment and Tile done in blueprints, they are all based off of the actor class and I am not sure that is the best thing. Also, there are a lot more subclasses to choose from when doing things in C++ so I am hoping to get some advice from someone who has experience with the C++ side of UE.

All things in blueprint are representations of what it is in C++, If Actor is was all you needed then use Actor in C++ :slight_smile:

That’s not correct though, because you can create a component in a C++ class, so a tile could be a component instead of an Actor. I have also considered whether everything other than a level should be an object that holds data about placement and arrays of contents and the only actor is the tile itself.

But dont tile will require components too for it apperence?

Yes - so can you place components on components? That is why I am asking about this stuff - I don’t know anything about he class-side of UE and reading the API references are not very useful for that sort of things.

You can attach components to components, you could also make component that meskes components on actor :> so i guess you could go that way if you want, but oyu can make all of them actors it would not make much of a diffrence.

You might check level streaming, it allows to use multiple umaps in one umap, don’t know what exacly it can do so dive in to it maybe

But first one “word” should be AGameMode even if you do that in blueprint