Portal Framework is a modular, cross-platform, C++ Framework for creating 3D applications.
The Framework consists of independent modules that are built on top of vcpkg for package management.
Each module can be used independently, and are built, versioned, and packaged independently.
Portal Engine is a game engine built on top of the Portal Framework.
I made this engine to learn about, and experiment with game engine development and architecture.
The focus so far was on a establishing stable infrastructure to help with the development of future features.
Important
Note that Portal Framework is still in its early stages of development.
Everything is subject to change.
To get more information regarding the state of the project, see The Docs
- Windows 11 - Clang 20+ (recommended) or MSVC 17+
- macOS 15+ (Sequoia or later)
- Linux - Clang 20+ or GCC 14+
The portal-tool is the recommended way to create new Portal Framework projects.
Requirements: Python 3.12+, CMake 3.30+, Ninja, Git, C++23 compiler
pip install portal-tool
portal-tool install # Install platform dependencies
portal-tool init # Create a new projectTo run the editor use:
portal-engine editor # Comes installed with `portal-tool`Or run the runtime
portal-engine runtimeNote: Currently
portal-toolis only tested on Windows.
cmake --preset ninja-multi
cmake --build --preset debugContributions are welcome! Please see the Contributing Guide for:
- Code style guidelines
- Build and test instructions
- Documentation standards
- Pull request process
This project is licensed under the MIT License - see the LICENSE file for details.
As a personal project and a learning experience, I have limited the usage of generative AI for the bulk of the programming.
Generative AI was used in the following areas:
- Writing testing boilerplate code
- Baseline for API documentation
- Debugging assistance
- Portal Tool – The repository for the
portal-toolcli. - Portal Vcpkg Registry – The vcpkg registry for Portal Framework.

