Stride Community Toolkit Documentation
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 8 ๐.
Tip
Experienced developers can dive straight into the source, these helpers are thin wrappers over Stride APIs, meant to accelerate iteration (not hide the engine).
๐ฆ Libraries
Each library focuses on a specific concern (core helpers, physics integration, UI/debug aids, etc.):
- Stride.CommunityToolkit
- The core library, providing general-purpose extensions for both regular Stride projects and code-only approaches.
- Stride.CommunityToolkit.Bepu
- Adds support for Bepu Physics, a pure C# 3D real time physics simulation library.
- Stride.CommunityToolkit.Bullet
- Adds support for Bullet Physics. Note that we no longer plan to support or expand its features as our focus shifts to Bepu Physics.
- Stride.CommunityToolkit.DebugShapes
- Provides easy-to-use Debug shapes to be able to visualize and debug your Stride scenes
- Stride.CommunityToolkit.ImGui
- Includes extensions for Dear ImGui, a fast, simple-to-use graphical user interface (GUI) library, accessed via the C# wrapper Hexa.NET.ImGui. Ideal for creating debugging tools, editor windows, and in-game UI elements.
- Stride.CommunityToolkit.Skyboxes
- Enhances code-only projects by adding skybox functionality.
- Stride.CommunityToolkit.Windows
- This library contains Windows-specific dependencies required for code-only approach (
RuntimeIdentifier
and package referenceStride.Core.Assets.CompilerApp
).
- This library contains Windows-specific dependencies required for code-only approach (
๐ Fast Iteration (Preview Status)
This toolkit favors momentum and rapid ๐ feature delivery. Expect:
- Breaking changes between releases (namespaces / APIs may shift).
- Early access to experimental helpers.
- Occasional rough edges in lessโtraveled code paths.
Stability will improve as patterns settle. Pin a version if you need consistency.
This approach allows us to quickly iterate and integrate new features and improvements. We believe this pace serves the needs of developers who are looking for cutting-edge tools and are comfortable with a more dynamic environment.
๐ง Installation
The toolkit, available as a ๐ฆ NuGet package, can be integrated into new or existing Stride Game C# projects. For more information on how to get started, please refer to the Getting Started page.
๐ ๏ธ 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 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
Explore a range of resources to help you get the most out of the toolkit:
- 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
These resources provide comprehensive information and support for developers at all levels, from beginners to advanced users.
๐ฅ 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
- Martin Blackman: Examples
- Vaclav Elias: Code-only approach implementation, toolkit docs