Stride Community Toolkit
Warning
The toolkit is currently in development. Documentation is incomplete and may contain errors. We published it early for your convenience, ahead of the toolkit's completion.
👋 Introduction
The Stride Community Toolkit is a set of C# helpers and extensions designed to enhance your experience with the Stride Game Engine. It simplifies and streamlines routine development tasks 🛠️, making it easier to build applications for Stride using .NET 10. The library is written in C# but works from any .NET language - the examples include F# and Visual Basic.
Tip
Experienced developers can go straight to the source: these helpers are thin wrappers over Stride APIs, meant to accelerate iteration, not to hide the engine.
📦 Libraries
Each library focuses on a specific concern (core helpers, physics integration, UI/debug aids, etc.):
- Stride.CommunityToolkit
- The core library: extensions for regular Stride projects and the code-only approach. It brings in the Stride packages a code-only project needs, including the asset compiler build step.
- Stride.CommunityToolkit.Bepu
- Bepu Physics helpers, the recommended physics package: scene setup with physics, primitives with colliders, the grabber, raycasts from the camera, 2D bodies and the debug view.
- Stride.CommunityToolkit.Bullet
- Bullet Physics helpers, for projects on Stride's Bullet-based physics. Kept building; no new features are planned, since the focus is Bepu.
- Stride.CommunityToolkit.Box2D
- Box2D.NET as an experimental 2D physics alternative: a Box2D world bound to Stride entities, with contact, hit and sensor events. Not on NuGet yet; it runs from a clone of the repository.
- Stride.CommunityToolkit.Skyboxes
- A skybox for code-only projects in one call, from a bundled HDR texture.
- Stride.CommunityToolkit.DebugShapes
- Immediate-mode debug shapes: lines, arrows, cubes, spheres, capsules, cylinders, cones, circles, quads and bounds, drawn from any script for one frame or a set time.
- Stride.CommunityToolkit.Shapes
- Vector shapes whose outline stays a constant few pixels wide at any zoom or distance, measured per fragment by a signed distance function: discs, rings, rounded rectangles, wire boxes, camera-facing billboards and thick 3D lines, thousands per frame in one instanced draw call. Also the reference grid.
- Stride.CommunityToolkit.Charts
- Charts drawn every frame through a shape batch, with no assets to author: function plots, parametric curves, scatter and area series, with axes, grid, legend and cursor in pixel widths. Not on NuGet yet; it runs from a clone of the repository.
- Stride.CommunityToolkit.Effects
- The pieces that ship a shader of their own: night-vision and thermal post-processing, and GPU picking.
- Stride.CommunityToolkit.ImGui
- Dear ImGui through Hexa.NET.ImGui: a system that draws ImGui over the scene with Stride's input, plus ready-made debug windows. For debugging tools, editor windows and in-game UI.
- Stride.CommunityToolkit.ImGuiNet
- The same through ImGui.NET, for projects that already depend on it. Not on NuGet yet; it runs from a clone of the repository.
- Stride.CommunityToolkit.Linux
- The Linux package for code-only projects: the asset compiler as a build-only dependency and the native libraries it needs, copied into the build output for
linux-x64.
- The Linux package for code-only projects: the asset compiler as a build-only dependency and the native libraries it needs, copied into the build output for
- Stride.CommunityToolkit.Windows
- Superseded: the core package brings in the asset compiler and holds
WindowsDpiManager. This package is empty and only depends on the core, so a project still naming it keeps building. ReferenceStride.CommunityToolkitinstead.
- Superseded: the core package brings in the asset compiler and holds
🚀 Fast Iteration (Preview Status)
This toolkit favours momentum and rapid 🏃 feature delivery. Expect:
- Breaking changes between releases (namespaces / APIs may shift).
- Early access to experimental helpers.
- Occasional rough edges in less-travelled code paths.
Stability will improve as patterns settle. Pin a version if you need consistency.
🔧 Installation
The toolkit, available as 📦 NuGet packages, can be integrated into new or existing Stride projects. Each toolkit version targets one Stride release - the Getting Started page has the compatibility table and the installation steps.
🛠️ Toolkit Repository
The Stride Community Toolkit is an open-source, MIT-licensed project hosted on GitHub and supported by the community. Access the source code or contribute 🤝 to the toolkit on its GitHub Repository.
Found a gap? Open an issue or PR. Even small doc clarifications help. See the Contributing section for guidelines.
🎮 Stride Game Engine Repository
Access the source code or contribute 🤝 to the Stride Game Engine on its GitHub Repository. Explore a comprehensive guide on the Stride Docs website.
📃 Documentation & Resources
- Manual: Detailed guidance and best practices
- Tutorials: Step-by-step tutorials to help you learn various features
- Release Notes: Stay updated with the latest changes and improvements
- API Reference: In-depth API documentation for a deep dive into the toolkit's capabilities
- Contributing: Guidelines for contributing to the toolkit
👥 Contributors
Thanks to everyone pushing this forward:
- dfkeenan: Previous toolkit implementation
- DockFrankenstein: Script System Extensions
- Doprez: Extensions, docs
- DotLogix: Utility MeshBuilder, TextureCanvas and docs
- Idomeneas1970: Heightmap extensions
- IXLLEGACYIXL: Extensions
- Johan Gustafsson: Extensions
- juho: Example Scripts
- Jurgen Coenegrachts: Fixes
- Luca Domenichini: Fixes
- Martin Blackman: Examples
- Fera: Extensions
- Hatim Ourahou: Extensions
- Nenad Spasojevic: Examples
- Vaclav Elias: Code-only approach implementation, toolkit docs