XIDER (eXtensible Integrated Development Environment for Reality) is a powerful and versatile IDE designed to streamline the development of applications for extended reality (XR) platforms. With its intuitive interface and robust feature set, XIDER empowers developers to create immersive experiences across a wide range of devices, including virtual reality (VR), augmented reality (AR), and mixed reality (MR) platforms.
XIDER is the application layer that combines the Utility, Evan, and Guillaume libraries into a single desktop and XR IDE shell.
- Owns the top-level application object.
- Bridges Guillaume scenes with Evan rendering.
- Wraps the engine and event handler used by the platform entry points.
- Provides the
Home,Settings, andSoundscenes used by the app.
- Cross-Platform Support: Build applications that run smoothly on Windows, macOS, and Linux, as well as various XR platforms.
- Extensible Architecture: Customize and extend the IDE with plugins and extensions to suit your specific development needs.
- Integrated Debugging Tools: Debug your XR applications with ease using built-in tools that provide insights into performance, memory usage, and more.
- Visual Scripting: Create complex interactions and behaviors without writing code, using a visual scripting system that is accessible to both programmers and non programmers.
- Asset Management: Organize and manage your project assets efficiently with a built-in asset management system.
This project focuses on four key strategic objectives to ensure successful development and community engagement. Each objective has been organized into dedicated documentation files for detailed reference.
| Focus Area | Description |
|---|---|
| Technological Watch | Actively explore, test, and integrate emerging technologies with a critical approach. |
| Technical Architecture | Structure, document, and ensure the reliability of the project's architecture. |
| Community Contributions | Open the project to the community and encourage external contributions. |
| Performance and Optimization | Measure, test, and optimize technical performance. |
XIDER is built as a C++20 application/library through CMake. It fetches and links against Utility, Evan, and Guillaume. Select exactly one backend and one platform when configuring the project.
- Backend:
BUILD_FOR_OPENXRorBUILD_FOR_GLFW - Platform:
BUILD_FOR_ANDROID,BUILD_FOR_LINUX,BUILD_FOR_WINDOWS, orBUILD_FOR_MACOS
- CMake 3.10+
- A C++20 compiler
- The Vulkan SDK (download form LunarG)
- Doxygen + Graphviz (only for
-DBUILD_DOCS=ON)
XIDER fetches its dependencies (Utility, Evan, Guillaume) via CMake
FetchContent.
cmake -S . -B build \
-DBUILD_FOR_GLFW=ON \
-DBUILD_FOR_LINUX=ON \
-DBUILD_TESTING=ON
cmake --build build
ctest --test-dir build --output-on-failureOptional options:
-DBUILD_TESTING=ON— build and run the test suite.-DBUILD_DOCS=ON— build Doxygen documentation.-DBUILD_BENCHMARKS=ON— build the benchmark harness.
Once installed, downstream projects can use find_package(xider):
cmake --install build --prefix /path/to/prefixfind_package(xider REQUIRED)
target_link_libraries(my_app PRIVATE xider::xider)For more detailed information on each part of the project, please refer to the following documentation files:
- Building Guide
- Project Architecture
- Beta Test Plan
- How XIDER Works
- Architecture
- Getting Started
- Versioning & Support
We welcome contributions from the community! If you're interested in contributing to XIDER, please check out our Contributing Guidelines for more information on how to get involved.
XIDER is released under the MIT License.