Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split up the engine into "Modules" #169

Open
BenjaFriend opened this issue May 7, 2022 · 0 comments
Open

Split up the engine into "Modules" #169

BenjaFriend opened this issue May 7, 2022 · 0 comments
Assignees
Labels
big feature This is a large feature of the engine enhancement New feature or request PRI 1 Priority 1; Critical

Comments

@BenjaFriend
Copy link
Member

We need to separate out each feature of the engine into a modular build target. We should have "Modules" for different parts of the engine to reduce dependencies and make for a scalable compile infrastructure.

For example, no gameplay code needs to know anything about rendering, so it should be in it's own separate build module and have a separate "_API" export.

We can accomplish this with CMake I think, but I'm not an expert in CMake by any means to this may be tricky to get to a state where adding new modules is simple and easy. I basically want something conceptually similar to how Unreal handles this with the build.cs files, so that for each module can have it's own set of dependencies.

We could even go as far as to break certain modules out into their own Submodules, so that active development on something like rendering for example has no effect on development on Gameplay.

@BenjaFriend BenjaFriend added enhancement New feature or request PRI 1 Priority 1; Critical big feature This is a large feature of the engine labels May 7, 2022
@BenjaFriend BenjaFriend self-assigned this May 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
big feature This is a large feature of the engine enhancement New feature or request PRI 1 Priority 1; Critical
Projects
None yet
Development

No branches or pull requests

1 participant