stride3d/stride
45.9
Weak · 5 August 2026
573.5k
lines of production code
C#
with JavaScript
3
measurements over time
What this system is
This system is the Stride game engine, a cross-platform framework for building 3D and 2D games. It provides a comprehensive suite of tools for rendering, physics simulation, and asset management, supporting Windows, Linux, macOS, Android, and iOS. The codebase includes a modernized build system, updated sample projects, and integrated libraries for graphics, audio, and physics, all standardized under the Stride namespace.
How it got here
2018 — Xenko to Stride migration
81 changes.
This period was dominated by the comprehensive rebranding of the project from Xenko to Stride, involving a complete namespace and asset format migration across all samples and templates. The team also modernized the build system with .slnx formats, upgraded to .NET 10, and cleaned up legacy dependencies and unused code.
2019–2023 — C\# tutorial expansion and platform support
35 changes.
This period focused on significantly expanding the C\# tutorial library with comprehensive intermediate-level samples covering camera controls, physics, and UI. Simultaneously, the codebase improved cross-platform compatibility by adding native library support for various architectures and introducing MoltenVK for Apple graphics rendering.
2024–2026 — Engine expansion and build tooling
21 changes.
This period focused on integrating the BepuPhysics backend and adding new sample templates for 2D platformers, beginner tutorials, and code libraries. The build system was enhanced with native libraries for Vulkan, SPIR-V, and LLVM, while the CompareGold tooling received a web UI and headless capabilities.
Features
Add 'Code library' template for Stride engine projects
A new dotnet new template named 'Code library' has been added to the samples directory. This template creates a blank C\# class library pre-configured with Stride engine references, allowing users to quickly scaffold new library projects within a solution.
samples/Library · high confidence
Add 2D Platformer sample template with gameplay scripts and assets
The Platformer2D sample template now includes the complete set of C\# gameplay scripts (CoinRotation, CollectCoin, PlayerController) and associated Stride asset files (scenes, prefabs, sprite sheets, audio, and configuration) required to run the 2D platformer demo.
samples/Templates/Platformer2D · high confidence
Add Bepu physics demo sample with interactive components
Introduces a new Bepu physics demo sample in the BepuSample.Game project, providing a suite of interactive components for testing and demonstrating physics features. This includes a basic camera controller for navigation, a scene selector for switching between different physics scenarios, and utility components for spawning objects, handling collisions, and managing constraints. The sample also includes a profiler for performance monitoring, a gravity gun for object manipulation, and tools for raycasting, overlap testing, and time control. Extension methods are added to support these features, such as retrieving world position and rotation from transform components.
samples/Physics/BepuSample/BepuSample.Game · high confidence
Add LLVM Windows toolchain package
A new NuGet package, Stride.Dependencies.LLVM.Windows, has been introduced to bundle the official LLVM release for Windows. This package includes the clang, lld, and llvm-ar executables, enabling the project to build native code on Windows hosts using the Stride.Native.targets build-time tooling.
build/deps/llvm-windows · high confidence
Add MoltenVK support for macOS and iOS platforms
The project now bundles MoltenVK, a Vulkan-to-Metal bridge, to enable Vulkan graphics rendering on macOS and iOS. This includes adding the Apache 2.0 license file, a version manifest, and pre-built binaries (static library for iOS/ios-simulator and dynamic library for macOS) along with the necessary ICD (Installable Client Driver) JSON configuration. This change allows applications to utilize Vulkan-based graphics APIs on Apple platforms.
deps/MoltenVK · high confidence
Add ParallelBuildAuditor to detect duplicate build dispatches
A new \ParallelBuildAuditor\ tool has been added to the build system. It analyzes MSBuild binary logs to identify duplicate build dispatches that may indicate parallel-build issues. The auditor groups build events by resolved \OutputPath\ and filters out known legitimate dispatch patterns, such as multi-TFM outer-to-inner self-dispatches and Android per-RID publish invocations, to avoid false positives. It also strips noise from the SLN/CLI driver and excludes restore-phase and cross-project-reference probing events. The tool outputs a summary of observed projects, groups, and detected duplicates.
build/tools/ParallelBuildAuditor · medium confidence
Add SwiftShader CPU-based Vulkan ICD for GPU testing
A new NuGet package, Stride.Dependencies.SwiftShader, has been introduced to provide a CPU-based Vulkan implementation (ICD) for testing purposes. The package bundles native binaries for Windows (x64), Linux (x64), and macOS (ARM64), enabling headless or fallback graphics rendering in test environments.
build/deps/swiftshader · high confidence
Add Windows-specific entry point for the CSharpBeginner tutorial
A new Windows project file (CSharpBeginner.Windows.sdpkg) and its corresponding C\# entry point (CSharpBeginnerApp.cs) have been added to the CSharpBeginner tutorial sample. This provides the necessary Windows-specific configuration and startup code to run the tutorial on Windows platforms.
samples/Tutorials/CSharpBeginner/CSharpBeginner/CSharpBeginner.Windows · high confidence
Add audio tutorial samples for sound playback and music control
New tutorial scripts were added to demonstrate audio functionality. AudioDemo.cs introduces playing a one-shot sound and triggering a gun sound via an audio emitter. LoadMusic.cs demonstrates asynchronous music loading with controls for play/pause, volume adjustment, and stereo panning. Additionally, a copyright header was added to the new AnimationBasics.cs file in the animation folder.
_samples/Tutorials/CSharpIntermediate/CSharpIntermediate/CSharpIntermediate.Game/08\Audio · high confidence
Add audio, UI assets, and fonts to the C\# intermediate tutorial
The C\# intermediate tutorial sample now includes new resource files to support the tutorial's UI and audio features. This includes sound effects (a gun shot, a ukulele, and a fish lamp ambient track), UI textures for buttons (normal and hover states), Open Sans font files (regular and extra bold italic) with their Apache 2.0 license, and a high-dynamic-range skybox texture.
samples/Tutorials/CSharpIntermediate/CSharpIntermediate/Resources · high confidence
Add multi-stage pipeline compilation to SPIR-V to DXIL converter
The SPIR-V to DXIL converter now supports compiling all shader stages of a pipeline together. This new capability links stages during compilation to ensure that dead-code elimination of inter-stage varyings does not break DXIL I/O signature matching, which is required for D3D12 pipeline state validation. The change introduces a new \spirv\_to\_dxil\_pipeline\ function and associated input structures, allowing the converter to process multiple shader stages in a single pass.
build/deps/spirv-to-dxil · medium confidence
Add tutorial menu UI assets and layout
Added the UI assets and layout for the tutorial menu, including the \LoadTutorialUI\ page with buttons for starting and completing tutorials, along with the required font definitions (\OpenSans\, \Ebrima\) and button textures (\btn\_normal\, \btn\_hover\) to support the tutorial navigation interface.
samples/Tutorials/CSharpIntermediate/CSharpIntermediate/Assets/UI · high confidence
Added 3D models and textures to the Prototyping Blocks pack
The Prototyping Blocks sample pack now includes a comprehensive set of 3D models and textures, including boxes, floors, gates, ramps, stairs, tables, and walls, along with grid and checkerboard textures. These assets are now available for use in prototyping scenes.
samples/Templates/Packs/PrototypingBlocks/Resources · high confidence
Added Bepu physics sample template and solution
A new sample template for the Bepu physics library has been added, providing a demonstration of physics constraints, raycasting, and character controllers. This includes a new .sdtpl template file that defines the sample's metadata and a corresponding .slnx solution file that references the Game and Windows project files.
samples/Physics/BepuSample · medium confidence
Added C\# beginner tutorial scripts and UI
Added a suite of C\# script files for the CSharpBeginner tutorial, including demos for adding, getting, and removing components, managing child entities, cloning entities, handling keyboard and mouse input, using delta time, linear interpolation, loading content, instantiating prefabs, and virtual buttons. Also added a TutorialUI script to manage the tutorial navigation menu and scene loading.
samples/Tutorials/CSharpBeginner/CSharpBeginner/CSharpBeginner.Game/Code · high confidence
Added C\# scripts for third-person camera and character movement
The tutorial now includes C\# scripts for controlling character movement and a third-person camera system. The new \CharacterMovement\ script handles WASD input to move the character, while \ThirdPersonCamera\ manages camera rotation, mouse look, and raycasting to prevent the camera from clipping through objects. These scripts replace the previous implementation, providing a more robust and configurable camera and movement system for the intermediate C\# tutorial.
_samples/Tutorials/CSharpIntermediate/CSharpIntermediate/CSharpIntermediate.Game/10\ThirdPersonCamera · high confidence
Added GameMenu sample with UI assets and configuration
The GameMenu sample now includes a complete set of UI assets, including sprite sheets (MainSceneImages, SplashScreenImages), UI pages (Main, SplashUI), scenes (MainScene, SplashScene), and configuration files (GameSettings, GraphicsCompositor). This provides a working example of a game menu interface with splash screen, main menu, and scene management.
samples/UI · high confidence
Added Linux and macOS entry points for the C\# beginner tutorial
New C\# files (CSharpBeginnerApp.cs) have been added to the Linux and macOS specific directories within the CSharpBeginner tutorial sample. These files provide the application entry points that initialize and run the Stride Game engine, preparing the tutorial structure for use with dotnet new templates.
bin, samples/Tutorials/CSharpBeginner/CSharpBeginner/CSharpBeginner.Linux, samples/Tutorials/CSharpBeginner/CSharpBeginner/CSharpBeginner.macOS · high confidence
Added OpenSans font files and UI assets for the CSharpBeginner tutorial
The CSharpBeginner tutorial sample now includes the necessary UI resources, specifically the OpenSans font family (including Regular, Bold, Italic, and other variants) and button state images (btn\_hover.png, btn\_normal.png). These assets are required for the tutorial's user interface to render correctly.
samples/Tutorials/CSharpBeginner/CSharpBeginner/Resources · high confidence
Added Windows demo application template for Bepu physics sample
A new Windows-specific demo application has been added to the Bepu physics sample, providing a ready-to-run entry point for testing physics simulations on Windows. The change includes the main application class (BepuPhysicIntegrationTestApp), a Stride game wrapper, a project package file (sdpkg) defining the project structure, a publish profile targeting .NET 10.0-windows, and an app.manifest configuring DPI awareness and execution level. This provides users with a complete, runnable Windows application template for the Bepu sample.
samples/Physics/BepuSample/BepuSample.Windows · high confidence
Added async tutorial demos for collision and web API integration
New C\# script examples have been added to the intermediate C\# tutorial series. The 'AsyncCollisionTriggerDemo' demonstrates how to use async/await to handle physics collision events, allowing the game loop to wait for specific triggers without blocking. The 'AsyncWebApi' script shows how to perform asynchronous HTTP requests to fetch and deserialize external JSON data (specifically from the Open Collective API) within the game loop. These additions provide practical examples of integrating asynchronous programming patterns with the Stride engine's scripting system.
_samples/Tutorials/CSharpIntermediate/CSharpIntermediate/CSharpIntermediate.Game/05\Async · high confidence
Added collision trigger and teleportation scripts for the intermediate tutorial
The C\# intermediate tutorial now includes two new scripts in the 02\_Collision-Triggers folder: CollisionTriggerDemo, which demonstrates how to detect when objects enter or leave a trigger zone using the physics engine's collision events, and Teleport, which allows the player to reset the ball's position and velocity using the spacebar. These scripts provide practical examples of handling collision triggers and manipulating physics states in a game environment.
_samples/Tutorials/CSharpIntermediate/CSharpIntermediate/CSharpIntermediate.Game/02\Collision-Triggers · high confidence
Added default game and graphics compositor settings for the C\# Intermediate tutorial
The C\# Intermediate tutorial sample now includes its own \GameSettings\ and \GraphicsCompositor\ asset files. These new configuration files define the default rendering pipeline, including 1280x720 resolution, HDR rendering mode, and specific shadow map and lighting configurations. This provides a consistent, pre-configured environment for the tutorial's scenes, ensuring that visual and performance settings are standardized for the intermediate C\# examples.
samples/Tutorials/CSharpIntermediate/CSharpIntermediate/Assets · high confidence
Added default scenery and tutorial UI prefabs for the C\# Intermediate tutorial
The C\# Intermediate tutorial sample now includes new prefab assets to support the learning environment. A 'DefaultScenery' prefab has been added, providing a ready-to-use scene setup with static colliders, lighting, and basic geometric props (boxes, ground plane, skybox) for the tutorial's 3D world. Additionally, a 'TutorialUI' prefab has been introduced to handle the user interface elements for the tutorial, ensuring the correct UI components are instantiated during the tutorial flow.
samples/Tutorials/CSharpIntermediate/CSharpIntermediate/Assets/Prefabs · high confidence
Added intermediate C\# tutorial scripts for scene and projection management
New C\# scripts have been added to the intermediate C\# tutorial samples, providing working examples for loading/unloading child scenes and handling 3D-to-2D projection and unprojection. The \ProjectDemo\ and \UnprojectDemo\ scripts demonstrate how to project 3D world coordinates into screen space and unproject mouse clicks into the scene for raycasting. Additionally, \LoadScene\ and \LoadChildScene\ scripts show how to dynamically load, attach, and unload scenes at runtime using the content system.
_samples/Tutorials/CSharpIntermediate/CSharpIntermediate/CSharpIntermediate.Game/04\_Project-UnProject, samples/Tutorials/CSharpIntermediate/CSharpIntermediate/CSharpIntermediate.Game/06\Scenes · medium confidence
Added mannequin model assets and animations
The mannequin model template now includes a comprehensive set of 3D assets, including the main mannequin model, hand models, weapon models (machine gun, sword), and associated textures. Additionally, a full suite of animation files (FBX) has been added to support actions such as idle, run, jump, ladder climbing, punching, reloading, and shooting.
samples/Templates/Packs/mannequinModel/Resources · high confidence
Added material template assets for the MaterialPackage sample
The MaterialPackage sample now includes a comprehensive set of pre-configured material assets, including scene files (BlueSky, MaterialModel, MaterialScene) and various material definitions (MaterialTestA, MaterialTestB, brick, gold, iron, iron\_paint, iron\_rust, and their blend variants) along with their associated texture maps (diffuse, glossiness, metalness, normal, and ambient occlusion). These assets provide a ready-to-use reference for implementing PBR materials in the Stride/Xenko engine.
samples/Templates/Packs/MaterialPackage/Assets · high confidence
Added native Celt build scripts and Apple-specific decoder wrapper
Added a build script (buildApple.sh) and a C source file (celt\_extras.c) to support building the Celt audio library for Apple platforms. The new celt\_extras.c file provides a non-variadic wrapper for the OPUS\_GET\_LOOKAHEAD control, enabling .NET DllImport calls on Apple ARM64 where variadic functions are not supported. The build script compiles the library for macOS arm64, iOS arm64, and iOS simulator arm64, and the checkout script was updated to clone the Opus source from GitHub.
deps/Celt · medium confidence
Added native library binaries for iOS, Linux, macOS, and Windows on multiple architectures
The build system now produces and ships precompiled native libraries (libCelt, libNativePath, libCompilerRt, and LibOVR) for iOS (arm64 and simulator), Linux (x64), macOS (arm64 and x64), and Windows (arm64 and x64). This change ensures that the application can link against the correct native dependencies for each platform and architecture, supporting the broader effort to unify .NET 5/6 builds across diverse environments.
deps/NativePath/dotnet · high confidence
Added new material and skybox assets for the C\# Intermediate tutorial
The C\# Intermediate tutorial sample now includes several new asset files to support scene improvements. This includes a new skybox configuration (Skybox.sdsky) referencing a skybox texture, along with new material definitions for rendering: a custom filter material with clear coat and metal flake effects, a red material with emissive properties, a transparent material using a thin glass model, and a yellow material with clear coat features. These assets provide the visual components needed for the updated tutorial environment.
samples/Tutorials/CSharpIntermediate/CSharpIntermediate/Assets/Materials · high confidence
Added procedural 3D model assets to the C\# intermediate tutorial
The C\# intermediate tutorial sample now includes a new set of procedural 3D model assets, specifically Cone, Cube, Cylinder, Ground (Plane), Sphere, a custom StrideBall, and Teapot. These .sdpromodel files define the geometry, scale, and material references for the tutorial environment, providing the necessary 3D objects for the navigation and collision tutorials.
samples/Tutorials/CSharpIntermediate/CSharpIntermediate/Assets/Models · high confidence
Added raycasting tutorial scripts
New C\# scripts, RaycastDemo and RaycastPenetratingDemo, were added to the 03\_Raycasting tutorial folder. These scripts demonstrate how to perform single and penetrating raycasts using the Stride physics engine, displaying hit information and distances on screen.
_samples/Tutorials/CSharpIntermediate/CSharpIntermediate/CSharpIntermediate.Game/03\Raycasting · high confidence
First-person camera control for the intermediate tutorial
The 09\_FirstPersonCamera sample now includes a FirstPersonCamera script that enables first-person camera movement. Users can look around using the mouse, with configurable sensitivity and angle limits, while the character's orientation updates to match the camera's horizontal rotation. Pressing Escape toggles the first-person view and restores the mouse cursor.
_samples/Tutorials/CSharpIntermediate/CSharpIntermediate/CSharpIntermediate.Game/09\FirstPersonCamera · high confidence
Integrate astcenc 5.3.0 for ASTC LDR format support
The project now includes the astcenc 5.3.0 library, providing native support for ASTC (Adaptive Scalable Texture Compression) LDR formats. This integration adds pre-compiled shared libraries for Windows (x64, arm64), Linux (x64), and macOS (arm64), enabling the asset compiler to compress textures using the ASTC standard on mobile and desktop platforms.
deps/astcenc · high confidence
Introduce AbsoluteId struct for asset and object identification
A new AbsoluteId struct has been added to the core library to represent the absolute identifier of an identifiable object within an asset. This struct combines an AssetId and a Guid ObjectId, providing equality comparison, hashing, and string representation for robust identification of objects across assets.
core · high confidence
Introduce Stride.CompareGold web UI for image comparison
The Stride.CompareGold tool now ships a complete web-based interface (app.js, diff.js, index.html, style.css) that lets users compare gold images against source images. The UI displays platform and status filters, a sortable table of suites, and a fixed detail pane for pixel-level inspection. It fetches metadata (hostname, branch, stride root) from /api/info, loads suites and platforms from the API, and computes pixel differences using a new diff.js module that calculates max diff, PSNR, and a 5-bucket histogram. Users can add local or CI-run sources, view fixable failures, and see metadata pills with a local 'reveal-in-explorer' button.
build/tools/Stride.CompareGold/wwwroot · high confidence
Introduces BepuPhysics integration with shape caching and simulation selection
The engine now includes the Stride.BepuPhysics module, introducing a new physics backend based on the Bepu library. This adds an IndexBasedSimulationSelector to manage multiple physics simulations, a ShapeCacheSystem to optimize mesh processing and collision detection, and converter interfaces (IConverter) to map simulation results like overlap and hit information to Stride's internal types. This change enables more advanced physics capabilities, including support for soft bodies and improved collision handling for complex meshes.
engine · medium confidence
Mannequin model pack assets and animations added
The mannequin model pack now includes a full set of animation definitions (Grab, Guard, Gun, Idle, Jump, Ladder, Punch, Run, Sword, Walk, and Release) alongside the corresponding 3D models, skeletons, and materials. Users can now import and use these pre-configured assets for character animation and rendering directly from the template pack.
samples/Templates/Packs/mannequinModel/Assets, samples/Tutorials/CSharpBeginner/CSharpBeginner · high confidence
Native SPIR-V optimization library for Android 16+
The build system now compiles SPIRV-Tools as a native shared library (stride\_spirv\_tools) that wraps the C++ optimizer with stable C entry points for managed code. This includes a C++ shim to expose the optimizer via P/Invoke and ensures the library is built as a static archive absorbed into the shared output. Additionally, the build configuration enforces 16 KB page alignment for Android 16+ to meet platform requirements.
build/deps/spirv-tools · high confidence
New C\# Intermediate tutorial project with 11 scenes
A new 'C\# Intermediate' tutorial project has been added to the samples directory. This template-based project includes 11 distinct scenes covering intermediate C\# topics for the Stride game engine, such as first-person and third-person cameras, raycasting, audio, collision triggers, scene loading, navigation, animation, async scripts, UI, and project unprojection. The project is packaged as an .sdpkg file containing all necessary assets, scenes, and materials, and is accessible via the template system.
samples/Tutorials/CSharpIntermediate/CSharpIntermediate/CSharpIntermediate.Windows · high confidence
New UI and navigation tutorial scripts
Added C\# scripts for the Stride engine tutorials: UIByCode.cs and UIByEditor.cs demonstrate creating and interacting with UI elements (buttons, text blocks, edit text) via code and editor, while NavigateCharacter.cs implements character movement along a computed path using the NavigationComponent.
_samples/Tutorials/CSharpIntermediate/CSharpIntermediate/CSharpIntermediate.Game/01\UI-Basics · high confidence
New VFX sample pack with Stride 3.1.0.1 prefabs and textures
The VFXPackage sample now includes a full set of particle effect prefabs (e.g., vfx-Bullettrail, vfx-Click, vfx-Fire, vfx-LaserBeam) and their associated texture assets, all serialized with Stride 3.1.0.1. These prefabs demonstrate various particle system configurations, including emitters, spawners, and updaters, providing ready-to-use visual effects for game development.
samples/Templates/Packs/VFXPackage/Assets · high confidence
New pre-authored sample project for Stride
A complete, pre-authored sample project named 'NewGame' has been added to the samples directory. This includes a fully configured game scene with a camera, lighting, and a ground plane, along with platform-specific entry points for Windows, Linux, Android, iOS, and macOS. The sample provides default assets including LDR and HDR skyboxes, materials, and a basic camera controller script, serving as a starting point for new projects.
samples/NewGame · high confidence
New tutorial utility scripts for the C\# Intermediate sample
Added four new C\# utility scripts to the CSharpIntermediate sample's Utils folder: ObjectSpawner for instantiating and managing physics-enabled entities, OmniDirectionMovement for character or camera movement via keyboard input, TutorialUI to dynamically generate and manage a tutorial selection menu with scene loading logic, and VectorPrintExtension to provide string formatting for 2D/3D vectors. These scripts support the intermediate-level tutorial content by providing core gameplay and UI scaffolding.
samples/Tutorials/CSharpIntermediate/CSharpIntermediate/CSharpIntermediate.Game/Utils · high confidence
Stride.CompareGold tooling for headless gold promotion and deduplication
The Stride.CompareGold tool now supports headless operations to promote generated test images to gold and deduplicate redundant gold images. It implements a per-pixel tolerance comparison (using ImageDiff) to determine pass/fail, ensuring CI promotions match local review verdicts. The tool also resolves GitHub Actions run IDs across forks and upstreams, and supports a priority-based promotion order (e.g., Direct3D12 \> Vulkan).
build/tools/Stride.CompareGold · high confidence
Removals
Removed PVRTexLib dependency
The PVRTexLib library and its associated header files (including PVRTArray, PVRTDecompress, PVRTError, PVRTGlobal, PVRTMap, PVRTString, PVRTTexture, PVRTexture, PVRTextureDefines, PVRTextureFormat, and PVRTextureHeader) have been removed from the deps/PVRTT directory. This change eliminates the PVRTexLib dependency, as mobile compression is now handled by the ASTC encoder.
deps/PVRTT · high confidence
Removed unused Assimp source code and build artifacts
The repository has removed the \deps/assimp\ directory, which contained unused Assimp source code, build scripts, and pre-compiled binaries. This cleanup eliminates the need to maintain or build the Assimp library as a separate dependency, simplifying the project's dependency structure.
deps/assimp · high confidence
Removed unused SSH.NET dependency
The SSH.NET library (Renci.SshNet.dll and associated XML documentation) has been removed from the project's dependencies. This eliminates the external SSH library from the build, reducing the application's footprint and build time.
deps/SSH.NET · high confidence
Behavioural changes
Add Lavapipe software Vulkan driver support
The project now includes a Lavapipe software-based Vulkan implementation to replace SwiftShader, which is in maintenance mode and has known issues with tessellation and texture3d. This change ensures that Vulkan rendering works in software mode across Windows, Linux, and macOS, with automatic configuration of the Vulkan driver files for the appropriate runtime identifiers.
build/deps/lavapipe · medium confidence
Add native Freetype binaries for new platforms
The Freetype dependency now includes precompiled native libraries for iOS (arm64 and simulator), Linux (x64), macOS (arm64 and x64), and Windows (x64 and arm64). This update enables the library to run on these specific architectures and operating systems, expanding platform support for .NET applications.
deps/freetype/dotnet · high confidence
Adds native Bullet Physics libraries for new platforms
Users on Windows ARM64, Windows x64, Linux x64, macOS ARM64, and iOS ARM64/simulator will now have access to the corresponding libbulletc native binaries. This change extends platform support for the underlying physics engine, ensuring compatibility with these specific architectures and operating systems.
deps/BulletPhysics/dotnet · high confidence
AssemblyProcessor updated to .NET 10 and .NET Standard 2.0
The AssemblyProcessor tool has been rebuilt for both .NET 10 and .NET Standard 2.0, ensuring compatibility with the latest .NET runtime versions. This update includes a bump to Mono.Cecil 0.11.5 and Mono.Options 6.12.0.148, and resolves potential assembly binding conflicts with Visual Studio's Mono.Cecil.dll by re-enabling packing. The build artifacts for both target frameworks are now available in their respective directories.
deps/AssemblyProcessor/netstandard2.0 · high confidence
Build system overhaul: new .slnx/.slnf structure, dev-package stubs, and sample versioning
The build system has been restructured to use .slnx solution files and .slnf solution filters for modular, platform-specific builds. A new dev-package stub generator (GenerateDevPackages.cs) creates NuGet stubs that redirect to local dev builds, significantly reducing NuGet packing overhead during incremental builds. Sample projects now support version bumping between clean release and local dev versions via the Stride.Samples.build script. Additionally, a .vsconfig file defines required Visual Studio components, and runsettings are added to configure GPU-based test execution.
build · high confidence
CSharpBeginner game project now includes all tutorial sub-scenes
The CSharpBeginner.Game.sdpkg package has been updated to explicitly list all 18 tutorial sub-scenes (such as 'Properties', 'DeltaTime', 'Virtual buttons', etc.) as root assets. This ensures that the game project correctly references and loads every scene required for the beginner C\# tutorial, resolving the issue where some sub-scenes were previously missing from the project's root asset list.
samples/Tutorials/CSharpBeginner/CSharpBeginner/CSharpBeginner.Game · medium confidence
Convert solution files to .slnx format
The .sln solution files for the FirstPersonShooter, ThirdPersonPlatformer, TopDownRPG, and VRSandbox templates have been replaced with the new .slnx format. This change updates the project structure and metadata to use the modern XML-based solution format, ensuring compatibility with the latest development tools and build systems.
(repo-wide) · high confidence
Convert tutorial solutions to new .slnx format
The solution files for the C\# beginner and intermediate tutorials have been converted from the legacy .sln format to the new .slnx XML-based format. This change updates the project structure definitions for both tutorial sets, ensuring they use the modern solution format while maintaining references to shared templates and asset packages.
samples/Tutorials/CSharpBeginner, samples/Tutorials/CSharpIntermediate · high confidence
CppNet library migrated to .NET Standard 1.3
The CppNet native library has been rebuilt and migrated from legacy target frameworks (CoreCLR, Store) to .NET Standard 1.3. This change updates the build scripts to use Visual Studio 2019 Community Edition and removes the separate build and copy steps for CoreCLR and Store-specific binaries, consolidating the output into a single .NET Standard 1.3 distribution.
deps/CppNet · high confidence
First Person Shooter sample assets migrated to Stride
The First Person Shooter sample's asset files in the Assets directory have been migrated from the Xenko engine to Stride. This involves replacing the old \.xk\\ asset files (such as \Bullets.xksheet\, \Crosshair256.xktex\, and various \.xkmat\ material files) with their new \.sd\\ counterparts (e.g., \Bullets.sdsheet\, \Crosshair256.sdtex\). The migration updates the internal serialized versions to Stride 2.0.0.0 and renames the effect shaders from \XenkoForwardShadingEffect\ to \StrideForwardShadingEffect\ in the compile logs, ensuring the sample is compatible with the Stride framework. The old Xenko-specific settings and graphics compositor configurations have been removed in favor of the new Stride equivalents.
samples/Templates/FirstPersonShooter/FirstPersonShooter/Assets · high confidence
First-person camera controls now support inverted axes
The FirstPersonShooter sample has been updated to allow inverting horizontal and vertical camera movement, addressing the TODOs for InvertX and InvertY. The FpsCamera script now exposes InvertX and InvertY boolean properties that, when enabled, reverse the respective input axes. Additionally, the camera's orientation update logic has been simplified to apply these inversions directly to the camera movement vector rather than using intermediate desired orientation variables. The project also migrates from the Xenko framework to Stride, updating all relevant namespace imports and copyright headers.
samples/Templates/FirstPersonShooter/FirstPersonShooter/FirstPersonShooter.Game · high confidence
FirstPersonShooter sample updated for modern .NET and Stride
The Windows project for the FirstPersonShooter sample has been modernized to use top-level statements and the Stride engine namespace, replacing the previous Xenko-based entry point. Additionally, the explicit AssemblyInfo.cs file has been removed in favor of modern project file attributes, and the project now tracks the game icon as a Git LFS binary.
samples/Templates/FirstPersonShooter/FirstPersonShooter/FirstPersonShooter.Windows · medium confidence
Fix camera update before accessing ViewMatrix in sample templates
In the FirstPersonShooter, ThirdPersonPlatformer, and VRSandbox sample templates, the camera is now updated before its ViewMatrix is accessed. This ensures the view matrix is valid and prevents NaN values from being sent to the physics engine, which previously caused crashes.
samples/Templates/FirstPersonShooter/FirstPersonShooter/FirstPersonShooter.Game/Core, samples/Templates/ThirdPersonPlatformer/ThirdPersonPlatformer/ThirdPersonPlatformer.Game/Core, samples/Templates/VRSandbox/VRSandbox/VRSandbox.Game/Core · high confidence
Migrate JumpyJet sample to Stride and fix collision detection
The JumpyJet sample has been migrated from the Xenko framework to Stride, updating all namespace references (e.g., \Xenko\ to \Stride\) and copyright headers. The game logic was refactored to use \UrlReference\ for loading the pipe prefab, and the UI was updated to display the Stride logo. Additionally, the collision detection system was corrected: the script now listens for \NewCollision\ events instead of \CollisionEnded\, and the event key for game start was fixed from \GameStartedventKey\ to \GameStartedEventKey\.
samples/Games/JumpyJet/JumpyJet.Game · medium confidence
Migrate Space Escape sample to Stride and update rendering effects
The Space Escape sample has been migrated from the Xenko framework to Stride, updating all C\# and shader files to use the Stride namespaces and types. The legacy shader files (.xksl, .xkfx) and their auto-generated C\# counterparts have been replaced with new .sdsl and .sdfx files, including a renamed CustomFogEffect. The main effect now uses the new mixin structure with conditional compilation for fog, bend, and texture UV transformations. Additionally, the UI has been updated to display the Stride logo instead of the Xenko logo.
samples/Games/SpaceEscape/SpaceEscape.Game · high confidence
Migrate VR Sandbox player components to Stride
The VR Sandbox sample's player components (HandController, PlayerInput, TeleportController) have been updated to use the Stride framework instead of the legacy Xenko framework. This includes updating all \using\ directives from \Xenko.\\ to \Stride.\\ namespaces and adjusting code to align with Stride's API, such as removing unnecessary null-check operators in collision handling.
samples/Templates/VRSandbox/VRSandbox/VRSandbox.Game/Player · medium confidence
Migrate sample to Stride namespace and update API usage
The TouchInputs.Game sample has been updated to use the Stride namespace (replacing Xenko) and updated to use the new SceneInstance.GetCurrent() API, while removing obsolete references to RenderContext.SceneInstance.
samples/Input/TouchInputs/TouchInputs.Game · high confidence
Migrate samples from .sln to .slnx and update package formats
The samples directory has been migrated from the legacy .sln solution format to the new .slnx format, replacing the old solution file with a structured XML representation of the project hierarchy. Additionally, the samples' package format has been updated from .xkpkg to .sdpkg, and the template format from .xktpl to .sdtpl, reflecting the transition from the Xenko/Stride naming conventions. A NuGet configuration file (nuget.config) has been added to map Stride packages to both the local development feed and nuget.org, ensuring samples can restore dependencies in both fresh clones and local development environments. The old OpenSolution.bat script and user preferences file have been removed as part of this migration.
samples · high confidence
Migrated GravitySensor sample assets from Xenko to Stride
The asset files in the GravitySensor sample have been migrated from the Xenko format (e.g., .xk\, .xkscene) to the Stride format (e.g., .sd\, .sdscene). This includes updating the serialized version to Stride 3.1.0.1, renaming files to use the new extensions, and updating internal references (such as the background texture and scene hierarchy) to align with the Stride engine structure.
samples/Input/GravitySensor/Assets · high confidence
Migrated ThirdPersonPlatformer sample assets to Stride
The ThirdPersonPlatformer sample's asset files have been migrated from the Xenko engine to Stride. This involves replacing the old \.xk\\ asset files (such as \GameSettings.xkgamesettings\ and \GraphicsCompositor.xkgfxcomp\) with their Stride equivalents (\.sd\\ files like \GameSettings.sdgamesettings\ and \GraphicsCompositor.sdgfxcomp\). The migration updates the internal serialized versions to Stride 3.1.0.1, renames effect classes from \XenkoForwardShadingEffect\ to \StrideForwardShadingEffect\, and updates file extensions and internal references to align with the Stride asset compiler and rendering pipeline.
samples/Games/SpaceEscape/Assets, samples/Templates/ThirdPersonPlatformer/ThirdPersonPlatformer/Assets · high confidence
Migrated TopDownRPG sample to Stride namespace and API
The TopDownRPG sample has been updated to use the Stride framework, replacing all \Xenko\ namespace references with \Stride\ equivalents. Additionally, the \SceneStreaming\ script now uses \UrlReference\<Scene\>\ for the scene URL property and the corresponding \Content.Load\ API changes, reflecting the transition from Xenko to Stride.
samples/Templates/TopDownRPG/TopDownRPG/TopDownRPG.Game/Gameplay · high confidence
Migrated game templates from .xktpl to .sdtpl format
The sample game templates for First-Person Shooter, Third-Person Platformer, Top-Down RPG, and VR Sandbox have been converted from the legacy .xktpl format to the new .sdtpl format. This change updates the template metadata and structure, ensuring that asset packs are correctly treated as ProjectReferences and their assets are properly copied during template generation.
(repo-wide) · high confidence
New audio assets added to the intermediate C\# tutorial
Three new sound definitions are introduced for the C\# intermediate tutorial sample: a fish lamp ambient track, a ukulele track, and a gun-shot effect. These assets provide the audio resources required for the tutorial's gameplay or environment, with specific configurations for streaming, compression, and spatialization.
samples/Tutorials/CSharpIntermediate/CSharpIntermediate/Assets/Audio · medium confidence
Project renamed from Xenko to Stride and updated branding
The project has been renamed from Xenko to Stride, including updating the README, license, and contributor files to reflect the new name. The repository now uses the Stride branding, and the .all-contributorsrc file has been added to track contributors for the new project structure.
(repo-wide) · high confidence
Refactor shader constant expression handling and type system
The shader parser now uses a new \ConstantExpression\ class to represent context-independent constant values, replacing previous approaches for array sizes and generic arguments. The \SymbolType\ hierarchy has been restructured to better distinguish between textured types (e.g., \Texture2D\<float2\>\ vs \Texture2D\<float4\>\) and buffer types (e.g., \ByteAddressBuffer\, \AppendStructuredBuffer\). Additionally, the \IntrinsicTemplateExpander\ has been updated to generate matrix overloads with shared size permutations, and the compiler now properly resolves struct type identities across shader cache boundaries.
shaders · medium confidence
Removed Fove and Google VR SDK dependencies
The Fove SDK headers and binaries (FoveClient.dll, FoveTypes.h, IFVRCompositor.h, IFVRHeadset.h) and the Google VR SDK (gvr.h, gvr\_audio.h, gvr\_controller.h, gvr\_types.h, gvr\_version.h, and associated Android/iOS binaries) have been removed from the repository. This eliminates the legacy VR integrations, which may affect any features relying on Fove eye-tracking or Google VR head tracking and audio.
deps/Fove, deps/GoogleVR · high confidence
Removed FreeImage binary dependencies
The FreeImage library and its associated binaries (FreeImage.dll, FreeImageNET.dll, and related headers/licenses) have been removed from the repository. This change aligns with the migration from FreeImage to ImageSharp for texture conversion, eliminating the need for the external FreeImage dependency.
deps/FreeImage · high confidence
Removed NUnit and NUnitLite dependencies
The project has removed the bundled NUnit and NUnitLite test frameworks and their associated binaries, configurations, and metadata files. This includes the removal of \nunit.engine\, \nunit.framework\, \nunit3-console\, and all related add-ins, DLLs, and XML documentation files from the \deps/NUnit\ and \deps/NUnitLite\ directories. This change aligns with the switch to xunit for the test suite.
deps/NUnit, deps/NUnitLite · high confidence
Removed OpenTK native binaries and build scripts
The OpenTK dependency has been restructured by removing all pre-compiled native binaries and platform-specific DLLs (Windows, Linux, macOS, Android, iOS) from the repository. Additionally, local build scripts (build.bat, build-debug.bat, checkout.bat, link.bat) and configuration files (dll.config, .gitignore, license.txt) for the OpenTK submodule have been deleted, indicating a shift away from maintaining these local artifacts.
deps/OpenTK · high confidence
Removed SDL2-CS native library dependencies
The project has removed the SDL2-CS native library dependencies, including the Windows, Linux, and macOS DLLs, configuration files, and build scripts. This change aligns with the switch to Silk.NET.OpenGL and Silk.NET.Sdl, indicating a migration away from the previous SDL2-CS implementation.
deps/SDL2-CS · medium confidence
Removed UWP native library binaries
The precompiled native library binaries for the Universal Windows Platform (UWP) have been removed from the repository. Specifically, the .lib files for Detour, Recast, Celt, CompilerRt, and NativePath across ARM, x64, and x86 architectures are no longer included. This change reflects a shift away from distributing these specific native binaries, likely in favor of alternative build processes or managed implementations.
deps/NativePath/UWP · high confidence
Removed legacy AssemblyInfo and sample assets from templates
The \Properties/AssemblyInfo.cs\ files have been removed from the FirstPersonShooter, ThirdPersonPlatformer, TopDownRPG, and VRSandbox sample templates, reflecting a shift away from manual assembly metadata. Additionally, the VRSandbox template has had its shared assets deleted, including the graphics compositor, game settings, UI page, textures, models, and prefabs, indicating a cleanup of the sample project's default content.
(repo-wide) · high confidence
Removed legacy SharpVulkan native binaries
The pre-compiled native binaries for the SharpVulkan library (specifically the .dll and .pdb files for Windows and Other platforms) have been removed from the repository. This change aligns with the switch to the Vortice.Vulkan bindings, indicating that the previous SharpVulkan artifacts are no longer required for the graphics subsystem.
deps/SharpVulkan · medium confidence
Removed legacy prefab assets from the PrototypingBlocks template
The shared block, floor, gate, ramp, stair, and table prefab assets (\.xkprefab\ files) have been removed from the \Assets/Shared/BlocksPrefabs\ directory within the PrototypingBlocks template. This change updates the template pack to align with the new Xenko version, ensuring the sample assets are consistent with the current engine version.
samples/Templates/Packs/PrototypingBlocks/PrototypingBlocks, samples/Templates/Packs/mannequinModel/mannequinModel · high confidence
Removed local Mono.Cecil and AssemblyProcessor binaries
The local copies of the Mono.Cecil library (including Mono.Cecil.dll, .pdb, .mdll, .pdbl, .Rocks.dll) and the Xeno.Core.AssemblyProcessor executables have been removed from the repository. This change likely reflects a shift to using the NuGet package for Mono.Cecil (as suggested by the commit message about bumping to NuGet 0.10.4) and a restructuring of the AssemblyProcessor build artifacts, potentially aligning with the .NET Standard compilation mentioned in the commit history.
deps/AssemblyProcessor · medium confidence
Removed local SharpFont binaries and build scripts
The local copies of the SharpFont library (including .dll, .pdb, .xml, and .config files) and associated build/signing scripts have been removed from the repository. This change aligns with the project's shift to manage SharpFont as a NuGet package targeting .NET Standard 2.0, rather than maintaining pre-compiled binaries and build automation in the deps directory.
deps/SharpFont · high confidence
Removed local copies of AvalonDock and Extended WPF Toolkit assemblies
The local copies of the AvalonDock and Extended WPF Toolkit libraries (including DLLs, PDBs, and license files) have been removed from the repository. This change aligns with the switch to using the NuGet versions of these dependencies, meaning the application will now load these libraries from the NuGet package cache rather than from the \deps\ directory.
deps/AvalonDock, deps/ExtendedWPFToolkit · high confidence
Removed macOS native libraries from repository
The precompiled static libraries for macOS (libCelt.a, libCompilerRt.a, libDetour.a, libNativePath.a, and libRecast.a) have been removed from the repository. These binary artifacts are no longer tracked in version control.
deps/NativePath/macOS · high confidence
Removed native C++ Recast/Detour dependencies in favor of C\# implementation
The native C++ build files (\.vcxproj\), build scripts (\build.bat\, \checkout.bat\), license file, and all C++ header files for the Recast and Detour libraries have been removed from the \deps/Recast\ directory. This change aligns with the porting of the navigation code to C\# using DotRecast, eliminating the need for the previous native C++ dependency and its associated build infrastructure.
deps/Recast · high confidence
Removed obsolete native libraries from Android and iOS builds
The precompiled native libraries for Android (libDetour, libRecast, libc++abi, libCelt, libCompilerRt, libNativePath) and iOS (libDetour, libRecast) have been removed from the repository. These static libraries are no longer used, as their functionality has been replaced by managed alternatives (such as DotRecast) or are no longer required for the build process.
deps/NativePath/Android · high confidence
Removed precompiled native libraries from the repository
Precompiled native libraries for Linux (x86 and x86\_64) and Windows (x86 and x64) have been removed from the repository. This includes static libraries such as libCelt.a, libCompilerRt.a, libDetour.a, libNativePath.a, and libRecast.a on Linux, as well as corresponding .lib files on Windows. Additionally, the precompiled FreeType DLLs and PDBs for Windows x86 and x64 have been deleted. These changes affect the build process, as these binary dependencies are no longer provided in the repository.
deps/NativePath/Linux, deps/NativePath/Windows, deps/freetype/Windows · high confidence
Removed unused ATI Compress library files
The \deps/ATITC\ directory has been removed, eliminating unused ATI Compress library files (\.lib\), headers (\.h\), and the associated license file. This cleanup reduces the project's dependency footprint by discarding the ATI texture compression SDK components that are no longer required.
deps/ATITC · high confidence
Removed unused HtmlRenderer.WPF binary
The HtmlRenderer.WPF binary (including the .dll and .pdb files) has been removed from the repository. This eliminates the dependency on the HtmlRenderer.WPF library, which was previously included as a precompiled binary in the deps/HtmlRenderer directory.
deps/HtmlRenderer · high confidence
Removed unused WindowsAPICodePack dependency
The WindowsAPICodePack library and its associated DLLs, PDBs, and license file have been removed from the project's dependencies. This eliminates the dependency on the Microsoft Windows API Code Pack, which was previously included in the deps folder but is no longer used.
deps/WindowsAPICodePack · high confidence
Removed unused glslangValidator binaries and license file
The precompiled glslangValidator executable files (glslangValidator and glslangValidator.exe) and the associated LICENSE.txt file have been removed from the deps/glslang directory. This cleanup eliminates unused artifacts from the repository, reducing the project's footprint and removing Git LFS pointer files that referenced the binaries.
deps/glslang · medium confidence
Removed unused libgit2 binaries
The unused libgit2 DLLs and associated metadata files (LibGit2Sharp.dll, LibGit2Sharp.pdb, LibGit2Sharp.xml, and the x64/x86 git2 DLLs) have been removed from the deps/libgit2 directory. This reduces the application's footprint by eliminating unnecessary native and managed dependencies.
deps/libgit2 · high confidence
Replace Silk.NET's SPIR-V cross-compiler DLL with Stride's fork
The build system now ships Stride's fork of SPIR-V Cross (spirv-cross.dll) instead of the version bundled with Silk.NET. A new NuGet package, Stride.Dependencies.SpirvCross, includes the native DLL and a build target that removes Silk.NET's conflicting native assets to ensure the correct binary is deployed.
build/deps/spirv-cross · medium confidence
Replace Xenko assets with Stride equivalents in the Physics sample
The Physics sample's resource files have been updated to use Stride-branded assets instead of the previous Xenko ones. Specifically, the 'xenko\_box' 3D model and its associated texture maps (normal, occlusion, and mask) have been removed and replaced with new 'stride\_box' assets. Additionally, the background image has been renamed from 'XenkoBackground.jpg' to 'StrideBackground.jpg'. This change aligns the sample with the Stride branding and asset structure.
samples/Physics/PhysicsSample/Resources · high confidence
Simplified sample app entry points and updated namespace
The sample applications (JumpyJet, SpaceEscape, GravitySensor, TouchInputs, PhysicsSample, and ThirdPersonPlatformer) have been updated to use top-level statements for their main entry points, significantly reducing boilerplate code. Additionally, the namespace has been changed from \Xenko.Engine\ to \Stride.Engine\ across all affected samples.
(repo-wide) · high confidence
TopDownRPG Windows app updated to use Stride and top-level statements
The TopDownRPG.Windows entry point has been migrated from the legacy Xenko framework to Stride, replacing the explicit class and Main method structure with C\# top-level statements. This simplifies the application startup code and aligns the sample with the new Stride engine.
samples/Templates/TopDownRPG/TopDownRPG/TopDownRPG.Windows · medium confidence
TopDownRPG template updated for Stride 4.4.0
The TopDownRPG sample template has been updated to support Stride 4.4.0. This includes migrating the project to the new .sdpkg package format, which now explicitly defines asset and resource folders (Assets, Effects, Resources) and root assets (WesternChunk, SouthernChunk, CentralChunk, NorthernChunk, EasternChunk). The legacy project.json file has been removed.
samples/Templates/TopDownRPG/TopDownRPG/TopDownRPG.Game · medium confidence
Update PhysicsSample to use Stride namespaces and Vector3 gravity
The PhysicsSample has been updated to use the Stride namespace instead of Xenko, and the Gravity property on character controllers has been changed from a scalar float to a Vector3, requiring an update to how gravity is applied in the sample scripts.
samples/Physics/PhysicsSample/PhysicsSample.Game · medium confidence
Updated 3D model asset in MaterialPackage
The 3D model file (MaterialModel.fbx) in the MaterialPackage sample has been replaced with a new version, as indicated by the change in Git LFS object ID and file size. This update likely reflects a change in the visual content of the sample, such as a different logo or model geometry.
samples/Templates/Packs/MaterialPackage/Resources · medium confidence
Updated 3D model asset in the Third Person Platformer template
The Third Person Platformer template now uses a new mannequin model (StrideMannequin.fbx) to replace the previous XenkoMannequin.fbx asset. This change updates the 3D model used in the sample project, likely reflecting a migration to the Stride engine as suggested by the file naming and commit messages.
samples/Templates/ThirdPersonPlatformer/ThirdPersonPlatformer/Resources · medium confidence
Updated Bepu physics sample assets to Stride 4.4.0
The Bepu physics sample assets have been migrated to version 4.4.0, updating the internal asset format to Stride 3.1.0.1. This includes new or updated definitions for game settings, graphics compositors, materials, models, and prefabs, ensuring compatibility with the latest engine standards.
samples/Physics/BepuSample/Assets · high confidence
Updated BulletSharp .NET wrapper and native libraries
The BulletSharp wrapper for the Bullet physics engine has been updated to a new repository (Stride3d/BulletSharpPInvoke) and recompiled for .NET Standard. This includes new dependency manifests (deps.json) and binaries (DLL/PDB) for both standard and iOS platforms, alongside an updated iOS native library (libbulletc.a). The previous Windows build and signing scripts have been removed.
deps/BulletPhysics · medium confidence
Updated C\# intermediate tutorial scenes and UI assets
The C\# intermediate tutorial's scene files and UI page assets have been updated. Completed and start scenes for UI basics, collision triggers, and raycasting have been revised, including the addition of a new UI page (\UI-basics-page.sduipage\) containing text blocks, buttons, and edit text fields. The changes also include cleanup of unused scripts, adjustments to scene layouts, and fixes to the audio start scene.
samples/Tutorials/CSharpIntermediate/CSharpIntermediate/Assets/Scenes · medium confidence
Updated CSharpIntermediate.Game.sdpkg with new scene and asset references
The package file CSharpIntermediate.Game.sdpkg has been updated to include a comprehensive set of scene and asset references for the C\# Intermediate tutorial. The package now defines 27 root assets, including scenes for first-person and third-person cameras, raycasting, audio, collision triggers, scene loading, navigation, animation, async scripts, project/unproject, UI basics, and various materials. This reflects the final structure of the tutorial's game content, ensuring all necessary resources are correctly registered within the package.
samples/Tutorials/CSharpIntermediate/CSharpIntermediate/CSharpIntermediate.Game · high confidence
Updated DirectXTex wrapper with new stride\_directxtex API and removed unused formats
The texture wrapper library has been updated to use the new stride\_directxtex API on the C\# side, replacing the previous implementation. Additionally, support for unused texture formats PVRTC and ATC has been removed, streamlining the available texture conversion capabilities.
deps/TextureWrappers · high confidence
Updated FFmpeg native binaries to version 7.1.1
The FFmpeg dependency has been upgraded to version 7.1.1, replacing the previous 3.3.3 binaries. This update provides new native shared libraries (libavcodec, libavdevice, etc.) and CLI executables for Linux, macOS, and Windows (x64 and ARM64). The legacy Windows build scripts and older DLLs have been removed in favor of the modern .NET runtime-specific layout.
deps/FFmpeg · high confidence
Updated FreeType dependency to version 2.13.3
The FreeType native dependency has been updated to version 2.13.3, bringing in pre-built binaries for all Stride target platforms including Windows (x64, x86, ARM64), Linux, macOS, Android, and iOS. The legacy build scripts (build.bat, checkout.bat) and references to older Windows Phone/Store/10/8 targets have been removed, reflecting a shift to pre-compiled artifacts for all supported architectures.
deps/freetype · high confidence
Updated Gettext.NET binaries and added configuration for satellite assembly compilation
The Gettext.NET dependency has been updated to version 3.0.0, including new binaries for GNU.Gettext.Msgfmt.exe, GNU.Gettext.dll, and GNU.Getopt.dll. The Msgfmt tool has been rebuilt for .NET 10 to properly compile satellite assemblies. A new configuration file (GNU.Gettext.Msgfmt.dll.config) was added to set Gnu.PosixlyCorrect to true, ensuring correct behavior during the compilation of localization files.
deps/Gettext.Net · medium confidence
Updated JumpyJet sample assets to Stride 3.1.0.1
The JumpyJet sample assets have been migrated from the Xenko 2.x format to the Stride 3.1.0.1 format. This involves replacing all \.xk\ asset files (such as \.xkprefab\, \.xksheet\, \.xkscene\) with their corresponding \.sd\ equivalents (e.g., \.sdprefab\, \.sdsheet\, \.sdscene\). The migration updates the serialized version headers, renames file extensions, and updates internal type references from the \Xenko\ namespace to \Stride\ (e.g., \Xenko.Rendering.MeshRenderFeature\ becomes \Stride.Rendering.MeshRenderFeature\). Additionally, the \Pipe Set\ prefab was updated to adjust the size and offset of its collider shapes.
(repo-wide) · high confidence
Updated NativePath dependency to latest version
The NativePath dependency has been updated to the latest version, including a switch to the official stride3d/NativePath repository and a specific commit checkout. Additionally, unused fortify-source \_chk builtin block definitions were removed from NativePath.h, simplifying the header.
deps/NativePath · high confidence
Updated OpenSLES Android headers to fix arm64 compatibility and add new audio configuration options
The OpenSLES headers in the Android build have been updated to fix a critical compatibility issue on 64-bit (arm64) devices, where 32-bit types were incorrectly mapped to 'long' instead of 'int'. The update also introduces new audio recording presets (Voice Communication, Unprocessed) and performance modes (Latency, Latency+Effects, Power Saving) to allow applications to optimize audio latency and power consumption. Additionally, the headers now include a new buffer queue interface for more granular audio buffer management.
deps/OpenSLES · high confidence
Updated TopDownRPG sample for Stride 4.0 API changes
The TopDownRPG sample has been updated to align with the Stride 4.0 framework, migrating all core and player components from the legacy Xenko namespaces to the new Stride equivalents (e.g., \Xenko.Engine\ to \Stride.Engine\). This includes updating copyright headers and adjusting code to accommodate breaking changes in the Stride3D API, such as the \RaycastPenetrating\ method now requiring a \List\<HitResult\>\ parameter and the \AnimationComponent\'s \BlendTreeBuilder\ expecting a standard \List\<AnimationOperation\>\ instead of \FastList\. Additionally, the \Utils\ component now explicitly updates the camera before accessing its \ViewMatrix\ to prevent physics engine crashes caused by invalid matrix values.
samples/Templates/TopDownRPG/TopDownRPG/TopDownRPG.Game/Core · medium confidence
Updated V-HACD native libraries with new platform support
The V-HACD dependency has been updated to include pre-built native libraries for Linux x64, macOS ARM64, and Windows ARM64, while removing the legacy x86/x64 Windows DLLs and the VHACDSharp.dll wrapper. This change aligns with the rebuild against V-HACD v4 and VS2019, providing broader platform support for physics calculations.
deps/VHACD · medium confidence
Updated beginner tutorial assets with new scenes and materials
The C\# beginner tutorial sample has been updated with new and revised assets, including a GraphicsCompositor configuration, several material definitions (Blue, Green, Pink, Yellow), procedural models (Cone, Ground, Sphere, Teapot), a 'Pile of boxes' prefab, and multiple scene files (e.g., 'Adding a component', 'Child entities', 'Cloning entities', 'DeltaTime', 'Getting a component', 'Getting the entity', 'Instantiating prefabs', 'Keyboard input'). These changes provide updated visual resources and scene setups for the beginner tutorials.
samples/Tutorials/CSharpBeginner/CSharpBeginner/Assets · high confidence
Updated compiled FreeType library to version 2.13.3
The precompiled FreeType library has been updated to version 2.13.3. On Windows UWP platforms, the old ARM, x64, and x86 DLL and PDB files have been replaced with the new build. On iOS, the static library archive has been updated to the new version.
deps/freetype/UWP, deps/freetype/iOS · medium confidence
Updated copyright headers and namespace references to reflect .NET Foundation and Stride3D
The copyright headers in the First-Person Shooter template's Trigger components and the project's build scripts have been updated to attribute the .NET Foundation and Stride3D instead of Xenko contributors. Additionally, C\# files in the template now use the \Stride\ namespace (e.g., \Stride.Core\, \Stride.Engine\) instead of the previous \Xenko\ namespaces, aligning the sample code with the current library structure.
deps, samples/Templates/FirstPersonShooter/FirstPersonShooter/FirstPersonShooter.Game/Trigger · medium confidence
Updated in-repo sample assets to version 4.4.0
The sample assets in the PrototypingBlocks pack have been migrated to version 4.4.0. This update includes new or updated prefab definitions for various building blocks, including boxes, floors, gates, ramps, stairs, tables, and pillars, ensuring compatibility with the latest asset standards.
samples/Templates/Packs/PrototypingBlocks/Assets · medium confidence
Updated msdfgen library to v1.12 with platform-specific binaries
The msdfgen dependency has been updated to version 1.12, incorporating the latest upstream changes from the Chlumsky/msdfgen repository. This update includes new pre-compiled binaries for Linux (x64), macOS (arm64), and Windows (x64 and arm64) architectures, replacing the previous standalone executable and build scripts.
deps/msdfgen · medium confidence
Updated package manifests and removed obsolete solution files
The package manifests for the PrototypingBlocks and mannequinModel templates have been updated to reference Assets version 3.1.0.0, ensuring compatibility with the latest asset pipeline. Additionally, the Visual Studio solution (.sln) files for these templates have been removed, as the new package format no longer requires them.
samples/Templates/Packs/PrototypingBlocks, samples/Templates/Packs/mannequinModel · high confidence
Updated sample asset materials for the Stride rendering pipeline
The sample asset package has been updated with new and revised material definitions (.sdmat) for various assets, including stone, wood, metal, and logo textures. These changes adjust surface properties such as glossiness, diffuse color, specular intensity, and normal maps to align with the Stride 2.0.0.0 serialization format, ensuring consistent visual rendering in the sample scenes.
samples/Templates/Packs/SamplesAssetPackage/Assets · high confidence
Updated sample assets to use Stride branding
The sample asset pack has been updated to replace the previous 'Xenko' branded 3D models and textures with new 'Stride' branded assets. Specifically, the 'XenkoCoin' and 'XenkoCrate' models have been replaced by 'StrideCoin' and 'StrideCrate' models, and all associated texture files (including normals, occlusion, and mask maps) have been renamed and updated to reflect the Stride identity.
samples/Templates/Packs/SamplesAssetPackage/Resources · high confidence
Updated sample templates and metadata for JumpyJet, SpaceEscape, GravitySensor, TouchInputs, and PhysicsSample
The template files (.sdtpl) for the JumpyJet, SpaceEscape, GravitySensor, TouchInputs, and PhysicsSample samples have been updated, while the legacy .xktpl template files and associated .props and .xkpkg package files have been removed. This change modernizes the sample project metadata and structure, ensuring the samples use the current template format and no longer rely on the older template and package configurations.
(repo-wide) · high confidence
Updated samples to use Stride namespace
The GravitySensor and ThirdPersonPlatformer samples have been updated to use the Stride namespace (e.g., Stride.Engine, Stride.Input) instead of the previous Xenko namespace. This change also includes updating copyright headers and removing obsolete project.json files, aligning the samples with the current project structure and asset format.
samples/Input/GravitySensor/GravitySensor.Game, samples/Templates/ThirdPersonPlatformer/ThirdPersonPlatformer/ThirdPersonPlatformer.Game · medium confidence
Updated samples to version 3.1.0.1
The samples in the Graphics and Audio directories have been updated to use the 3.1.0.1 asset format version. This update includes new or refreshed asset files for the SimpleAudio and AnimatedModel samples, such as game settings, scenes, UI pages, and materials, ensuring compatibility with the latest engine standards.
samples/Graphics · high confidence
Updated template packs to use the new .sdpkg format
The MaterialPackage, SamplesAssetPackage, and VFXPackage template packs have been migrated from the legacy .xkpkg format to the new .sdpkg package format. This change updates the package structure to use the current asset serialization version (3.1.0.0) and removes obsolete .props and .xkpkg files, ensuring the templates are compatible with the latest asset pipeline.
samples/Templates/Packs/MaterialPackage, samples/Templates/Packs/SamplesAssetPackage, samples/Templates/Packs/VFXPackage · high confidence
Updated third-person platformer template for Stride and corrected camera control behavior
The ThirdPersonPlatformer sample has been migrated from the Xenko framework to Stride, updating all relevant namespaces and copyright headers. The camera control logic was fixed to properly scale stick-driven rotation by delta time, ensuring consistent movement speed regardless of frame rate, and the camera's vertical angle clamping was adjusted to allow a wider range of motion.
samples/Templates/ThirdPersonPlatformer/ThirdPersonPlatformer/ThirdPersonPlatformer.Game/Player · medium confidence
VR sample removes framerate cap for improved VR performance
The VR sample has been updated to remove the framerate cap, ensuring that the application does not limit its update rate while in VR. This change allows the application to run at the highest possible frame rate, which is critical for maintaining a smooth and responsive experience in virtual reality headsets. The update also includes a new package file that defines the project's asset and resource folders.
samples/Templates/VRSandbox/VRSandbox/VRSandbox.Game · high confidence
VRSandbox Windows app simplified to top-level statements
The VRSandbox Windows application entry point has been refactored to use C\# top-level statements, replacing the previous explicit class and Main method structure. This change streamlines the startup code for the VR sample, making the application logic more concise while maintaining the same runtime behavior.
samples/Templates/VRSandbox/VRSandbox/VRSandbox.Windows · high confidence
Fixes
Fixes for player input lag, animation blending, and cooldown timing in the First Person Shooter template
The First Person Shooter template's player scripts were updated to correct gameplay and technical issues. Player input processing was adjusted to eliminate single-frame input lag by setting a higher update priority. Camera rotation via the control stick was corrected to scale by delta time, ensuring consistent rotation speed regardless of frame rate. The animation system was updated to use the standard \List\<T\>\ instead of the deprecated \FastList\<T\>\, and the weapon cooldown timer was changed to use elapsed time rather than fixed simulation steps, ensuring accurate timing across different frame rates.
samples/Templates/FirstPersonShooter/FirstPersonShooter/FirstPersonShooter.Game/Player · high confidence
Test coverage
Add GPU regression test gold images and documentation; Removed obsolete sample unit tests.
Dependencies
Updated Mono.Cecil and related dependencies for the .NET 8.0 AssemblyProcessor
The AssemblyProcessor for .NET 8.0 has been updated to use Mono.Cecil version 0.11.5, along with updated transitive dependencies such as Microsoft.Build.Utilities.Core 17.0.0 and PolySharp 1.15.0. This includes new binary artifacts (Mono.Cecil.dll, .pdb, .mdf, .rocks) and an updated deps.json file that reflects these dependency versions, ensuring the assembly processor runs correctly with the latest supported .NET 8.0 runtime.
deps/AssemblyProcessor/net8.0 · medium confidence
Updated the sign CLI tool to version 0.9.0-beta.23127.3
The build/sign area has been updated to use the 'sign' .NET Global Tool version 0.9.0-beta.23127.3. This update includes the latest dependencies and resources required for the code signing process, ensuring the build system uses the correct tooling for signing VSIX packages and other artifacts.
build/sign · high confidence
Upgrade to .NET 10
The project has been upgraded to target .NET 10. This update modernizes the runtime environment, ensuring compatibility with the latest .NET SDK and improving overall performance and security.
sources · high confidence
Upgrade to .NET 10 and modernize project files
The project files in this location have been updated to target .NET 10.0 (net10.0), reflecting a broad upgrade across the codebase. This change updates the target framework for various components, including the Lavapipe and SPIRV-Tools dependencies, the ParallelBuildAuditor and CompareGold tools, and the NewGame, Platformer2D, and CSharpBeginner templates and samples. The project files also enable nullable reference types and modern C\# language features.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 46.
Lenses
- Code Health 39
- Architecture 97
- Maturity 70
- Readiness 47
- Security 53
- Accessibility 48
- Performance 64
Changes since last survey
- 300 commits — 236 feature/other, 64 fixes
By area
- sources/engine — 56 commits
- sources/assets — 50 commits
- sources/editor — 29 commits
- .github/workflows — 27 commits
- sources/core — 22 commits
- sources/launcher — 18 commits
- sources/tools — 15 commits
- (repo) — 13 commits
- sources/sdk — 8 commits
- sources/presentation — 6 commits
- sources/shaders — 6 commits
- tests/enduser — 6 commits
- docs/build — 4 commits
- sources/targets — 4 commits
- sources/templates — 4 commits
- (root) — 3 commits
- sources/shared — 3 commits
- .github/actions — 2 commits
- build/GenerateDevPackages.cs — 2 commits
- build/Stride.Launcher.sln — 2 commits
Notable commits
- fix: Fix CheckConsistency false positive for non-referenceable assets (scripts)
- fix: Fix GameStudio hang: main window left disabled after project upgrade
- fix: Fix Stride.VisualStudio.Package build: compile GraphicsApiSelector.cs alongside RestoreHelper.cs
- fix: Fix multi-API host layout on single-API builds
- fix: Fix packaging test picking the .closure file as the content index
- fix: Merge pull request #3234 from xen2/fix/rename-stride-foundation
- fix: Merge pull request #3287 from LazyWorksZA/fix/sslr-transparent-attachment-mismatch
- fix: Merge pull request #3300 from xen2/fix/gamewindow-clientbounds
- fix: Rework script editor project sync (fix empty script, delete freeze, hangs)
- fix: Stride.Graphics/Font: generate dynamic glyphs synchronously when drawn (fixes #3237)
- fix: Stride.VisualStudio.Package: version independently + fix uninstall id
- fix: assets: migrate PixelFormat extension method->property usages on upgrade (fixes #3037)
- fix: build: fix Stride.VisualStudio.Package after solution reader/writer were replaced by SolutionPersistence
- fix: build: fix silently-skipped package signing
- fix: build: pack extensionless natives at the right path (fixes linux/osx ffmpeg)
- fix: build: pin AssetCompiler auto-attach reference to xplat TFM (fix VS MSB4057)
- fix: ci: enforce release-managers membership (fix no-op permission check)
- fix: core: fold native library Load into PreloadLibrary, fix PATH fallback
- fix: engine: fix StridePackageUpgrader to use Stride.Foundation instead of Stride to detect real package version
- fix: fix: Adapt ported core tests to current master API
- …and 280 more
API surface
- 30 HTTP endpoints (baseline)
Architecture
- 6 containers · 3 bounded contexts · 4 dependency edges (baseline)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
stride3d/stride was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 5 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit ed6f739f25c92a9a6b9c4454f694b4d345b52667 — the exact code this score is about.
- Scored under rubric-2026.08.19 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer latest.