MCPcopy Create free account
hub / github.com/StereoKit/StereoKit

github.com/StereoKit/StereoKit @v0.4.0-start

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.4.0-start ↗ · + Follow
6,510 symbols 14,945 edges 404 files 2,005 documented · 31% updated 5d agov0.3.11 · 2025-06-28★ 1,070141 open issues

Browse by type

Functions 5,740 Types & classes 770
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

StereoKit Logo

<a href="https://github.com/StereoKit/StereoKit/branches"><img src="https://img.shields.io/github/last-commit/StereoKit/StereoKit/develop" /></a>
<a href="https://tldrlegal.com/license/mit-license"><img src="https://img.shields.io/github/license/StereoKit/StereoKit" /></a>
<a href="https://www.nuget.org/packages/StereoKit/"><img src="https://img.shields.io/nuget/v/StereoKit" /></a>
<a href="https://marketplace.visualstudio.com/items?itemName=NickKlingensmith.StereoKitTemplates"><img src="https://img.shields.io/visual-studio-marketplace/i/NickKlingensmith.StereoKitTemplates" /></a>

StereoKit is an easy-to-use open source mixed reality library for building HoloLens and VR applications with C# and OpenXR! Inspired by libraries like XNA and Processing, StereoKit is meant to be fun to use and easy to develop with, yet still quite capable of creating professional and business ready software.

The getting started guide can be found here!

Interested in news and updates about StereoKit? Maybe just looking for some extra help?

Screenshot

StereoKit Features

  • Mixed Reality inputs like hands and eyes are trivial to access
  • Easy and powerful UI and interactions
  • Model formats: .gltf, .glb, .obj, .stl, ASCII .ply
  • Texture formats: .jpg, .png, .tga, .bmp, .psd, .gif, .hdr, .pic, .qoi, cubemaps
  • Flexible shader/material system with built-in PBR
  • Performance-by-default instanced render pipeline
  • Skeletal/skinned animation
  • Flat screen MR simulator with input emulation for easy development
  • Builds your application to device in seconds, not minutes
  • Runtime asset loading and cross-platform file picking
  • Physics
  • Documentation generated directly from the source code, including screenshots

Platform Support

StereoKit supports HoloLens 2, Oculus Quest, Windows Mixed Reality, Oculus Desktop, SteamVR, Varjo, Monado, and essentially everywhere OpenXR is!

These are the binaries that currently ship in the NuGet package. StereoKit developers working from C/C++ should be fine to build any architecture from this list of platforms.

Platform x64 ARM ARM64
Windows (Desktop/Win32) X X
Windows (HoloLens/UWP) X X X
Linux X X
Android X X

Architecture support has focused on 64 bit architectures, with exceptions for certain platforms. (If you require an additional architecture in the NuGet, please propose it as an Issue!) Here, UWP's ARM builds much faster than UWP's ARM64, and WASM only comes in 32 bit flavors.

Getting started

Follow this guide for a detailed introduction! This repository is the raw source for those who wish to build StereoKit themselves, the Visual Studio templates and the NuGet packages referenced in the guide are how most people should build their 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!

using StereoKit;

SK.Initialize();

Model helmet = Model.FromFile("Assets/DamagedHelmet.gltf");

SK.Run(() => {
    helmet.Draw(Matrix.TS(Vec3.Zero, 0.1f));
});

Hello World

FAQ

  • How do I get started using StereoKit?

For the majority of users, go here, this is a Visual Studio centric introduction to StereoKit, and contains the most resources for getting started! For VS Code users, go here, and for C/C++ users, see here!

  • How do I use this repository?

This is where StereoKit's core SDK code resides, and the majority of users will not need to use it directly. C# developers will rely on prebuilt packages from NuGet and should refer to the getting started guides for instructions. If you wish to build StereoKit or the samples from scratch, see the build guide!

  • I would like to contribute to StereoKit! How do I start?

First off, thank you! :) Get comfortable with building StereoKit from source, and then check out our contributor's guide. Our maintainers are easily available on the StereoKit Discord, as well as GitHub Issues/Discussions! We'll be happy to help you out with whatever's on your mind!

  • Why is the MIT License appropriate for this project?

The MIT License is a copyright license that is easy to read and has a long history in open source. The MIT License is considered to be a low-friction choice for multiple downstream licensing models, including incorporation into commercial code.

Dependencies

Just like all software, StereoKit is built on the shoulders of incredible people! Here's a list of the libraries StereoKit uses to get things done.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 3,092
Function 2,648
Class 586
Enum 181
Interface 3

Languages

C#51%
C++49%
C1%

Modules by API surface

Examples/StereoKitTest/Tools/Swizzles.cs1,248 symbols
StereoKit/Native/NativeAPI.cs631 symbols
StereoKitC/libraries/stb_image.h215 symbols
StereoKitC/libraries/sk_gpu.h201 symbols
StereoKitC/libraries/cgltf.h198 symbols
StereoKitC/libraries/stb_truetype.h148 symbols
StereoKitC/lib/include_no_win/DirectXMath.h131 symbols
StereoKitC/stereokit.h103 symbols
StereoKitC/ui/stereokit_ui.cpp97 symbols
StereoKitC/systems/render.cpp93 symbols
StereoKitC/asset_types/model.cpp77 symbols
StereoKit/Systems/UI.cs75 symbols

For agents

$ claude mcp add StereoKit \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page