StereoKit is an easy-to-use open source mixed reality library for building HoloLens and VR applications with C# and OpenXR!
- Platforms: HoloLens 2, Windows Mixed Reality, Oculus Desktop, eventually everywhere OpenXR is!
- Builds your application in seconds, not minutes
- Input: articulated hands, pointers, keyboard/mouse
- Easy and powerful UI and interactions
- Model formats: .gltf, .glb, .fbx(partial), .obj, .stl, procedural
- Texture formats: .jpg, .png, .tga, .bmp, .psd, .gif, .hdr, .pic, equirectangular cubemap, procedural
- Runtime asset loading
- Performance-by-default render pipeline
- Flexible shader/material system
- Documentation is generated directly from the source code, including screenshots
StereoKit prioritizes mixed reality application development above all else! This allows us to focus on features such as a first class mixed reality input system, fast performance by default even on mobile devices, quick iteration time on-device, and a runtime asset pipeline that lets users and developers load real assets from the file-system. All of this and more are packaged in a terse API that’s well documented, easy to learn, and easy to write.
StereoKit is ready to use, but still early in its life! Keep track on Twitter for development news and gifs, or check this blog for more substantial updates! Can’t find a feature you need for your project? Request it on the issues page, and we’ll prioritize getting you up and running!
Follow this guide for a detailed introduction! Or check out the additional learning resources, sample projects that show how to build full StereoKit applications.
StereoKit focuses on getting you productive with the least amount of code possible. You can actually do most tasks with a single line of code, including UI! Here’s hello world with StereoKit, this is all you need to get up and running!
Interested in the source for StereoKit? It’s open and MIT licensed! You don’t need to build from source to use it, but if you want to, it’s there for you to modify or debug with!
Where is StereoKit going next? That depends on you! What do you need? Is StereoKit missing something that it really should have? File an issue and let us know!
In the short term, StereoKit will focus on the Core API, improving performance, and ensuring all basic features are present and work well! Some basic tooling, things like a visual shader editor might get built here. The Core of StereoKit is an Immediate Mode system that does not provide any framework or application state management.
Long term, we’d love to add StereoKit Framework! Framework is a higher-level layer that manages application state, so more complicated functionality can be taken care of. Features such as automatic multi-user capabilities, component systems, WYSIWYG UI design tools, visual scene editors and code-free design environments will become possible.
We’d love to hear if you’ve run into an issue! The best way to let us know is to file an issue on the Github repository. For an even faster response, file your reports with an
ITest that can reproduce the issue, so we can quickly fix and prevent regressions! Here’s an example of such a test.