As a C++ developer with a background in cs, I’m new to the Unreal Engine and I’m looking to build some custom plugins. I’ve already built UE from source and set up a separate repository for my plugins, seperate from project/engine folder. I have a few questions about organizing and structuring my plugins in the best way possible. I’d appreciate any tipps/help from experienced Unreal Engine developers.
- Public/Private Folder Structure: Should I strictly adhere to the Public/Private folder separation, or is it acceptable to have my public-facing API within the Public folder and the rest of the implementation details in a Private folder (or even folders named after components? What are best practices regarding this topic?
- Plugin Organization: Is it a good practice to have a separate module for the core functionality (MyModule) and another module for the editor-specific integration (MyEditorModule)? Or is there a more common/recommended way to structure plugin projects?
- Building Plugins: When developing plugins that are not intended to be embedded into a specific project (i think they are called engine plugins), what is the correct way to build them? Should I be using the UE Build Tool with the
-plugin
flag, as I’ve read? - Documentation and Resources: I’ve been reviewing the UE documentation, but I feel like it doesn’t always cover the level of detail I’m looking for. What other resources (forums, subreddits, etc.) do you recommend consulting to get more deep insights?
- Coding Standards: Unreal has its own set of coding conventions. Should I strictly adhere to these conventions, even if I prefer a different coding style? Or is it common for developers to mix styles as long as the public interface follows the UE guidelines?