Private and Public Folder Structure

It definitely possible, you just have it slightly backwards for what Unreal wants.

Here’s an example from one of my plugins:
image

Everything in Public is stuff that is meant to be included by other modules/projects/plugins/etc, so headers basically.
Everything in Private is meant only for this module, so mostly cpp’s but also headers not for public consumption.

From there you can add whatever organization you want. When you include a file, you would at the directory after Public. So if the file’s directly in Public it’s just #include "foo.h" but if you add any structure you would do something like #include "UI/foo.h".

It’s true that they can get long but that’s where you have to decide your own balance between organization and the implications on source code. But most IDE’s have some sort of “Add Include” tool that allows you to just write code and then do the includes later and not really worry about it too much.

1 Like