diff --git a/en/ReleaseNotes/ReleaseNotes.md b/en/ReleaseNotes/ReleaseNotes.md index 3c77ddabe..f9d356505 100644 --- a/en/ReleaseNotes/ReleaseNotes.md +++ b/en/ReleaseNotes/ReleaseNotes.md @@ -8,15 +8,89 @@ Read the full blog post here: [Announcing Stride 4.3](https://www.stride3d.net/b A massive thank you to the open-source Stride community for your dedicated contributions. This release saw over 75 contributions from more than 22 amazing contributors, each playing a crucial role in making Stride 4.3 a reality. -## What's new in Stride 4.3 +## What's new in this release Stride 4.3 includes numerous enhancements and improvements. Here’s what to expect: -- **.NET 10 Integration**: Stride 4.3 is now fully aligned with .NET 10, harnessing its performance improvements and efficiency gains for game development. This means faster execution times, reduced memory footprint, and access to the latest C# features, making your development smoother and more efficient. [Learn more](https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/) +- **.NET 10 Integration**: Stride 4.3 is now fully aligned with .NET 10, harnessing its performance improvements and efficiency gains for game development. This means faster execution times, reduced memory footprint, and access to the latest C# features, making your development smoother and more efficient. [Learn more](https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-10/) + +- **C# 14 Features**: With C# 14, Stride users can write cleaner, more concise code thanks to new language features. These improvements reduce boilerplate and enhance readability. [Discover C# 14](https://learn.microsoft.com/en-gb/dotnet/csharp/whats-new/csharp-14) -- **C# 14 Features**: With C# 14, Stride users can write cleaner, more concise code thanks to new language features. These improvements reduce boilerplate and enhance readability. [Discover C# 14](https://devblogs.microsoft.com/dotnet/announcing-csharp-12/) +## What has changed since Stride 4.2 +### Bepu physics integration + +Adding support for [Bepu Physics](https://github.com/bepu/bepuphysics2), a ridiculously fast physics engine written entirely in C#. -## What's changed in details +Having both a game and physics engine in the same ecosystem reduces the cost of maintaining and improving it, the overhead that we may incur when communicating between the two APIs, and the barrier to entry for contributors. + +Bullet is still the default physics engine, and we welcome any contribution towards it, but our efforts will be focused on Bepu from now. + +The integration is effectively done, with Bepu's feature set now being slightly ahead of Bullet's. Have a look at [this page](https://doc.stride3d.net/latest/en/manual/physics/configuration.html) if you want to migrate to Bepu. + +### Vulkan compute shader support + +Vulkan graphics backend has been modified to support compute shaders, the shader compiler has also been modified to support computer shader generation for GLSL. + +### User-defined Assets + +Introducing [Custom Assets](https://doc.stride3d.net/latest/en/manual/scripts/custom-assets.html), a way to define and store data which can be referenced across multiple components, scenes and through other assets. + +The asset compiler also gives you the ability to build more complex systems like custom file importers. + +### Ongoing efforts to build projects *from* Linux and Apple desktops + +Stride can build games under Windows to target the different devices we support, but building directly from those devices was not supported up till now. + +We've introduced a couple of changes to improve on that front: +- Replacing our custom C++/CLI FBX importer with [Assimp](https://github.com/assimp/assimp) +- Fixing the asset compiler to run on all desktop OSes +- Many build-system refactors to move toward fully cross-platform development +- Building VHACD for Linux +- Adjust FreeImage and DirectXTex for all platforms + +Some work is still required on this front, but simpler projects can now be built from those platforms. + +### Efficient API to manipulate meshes + +Vertex buffers do not have a standardized layout, each mesh may have its own specific layout and data type it uses for its vertices. Some have blend weights, or tangents, while others only have positions - they may also use different data types, for example Half4 positions, 4byte color ... + +We added in two helpers in [VertexBufferHelper](https://doc.stride3d.net/latest/en/api/Stride.Graphics.VertexBufferHelper.html) and [IndexBufferHelper](https://doc.stride3d.net/latest/en/api/Stride.Graphics.IndexBufferHelper.html) to provide a standardized way to read and write to those buffers. + +### Open project with Rider and VSCode from the GameStudio + +While any IDE can open and build Stride projects, the editor button to open said project only had special handling for Visual Studio. [Jklawreszuk](https://github.com/Jklawreszuk) added support for Rider and VSCode. + +### Interface processor + +Stride has a [component processors](https://doc.stride3d.net/latest/en/manual/engine/entity-component-system/usage.html), a user-defined class which can collect and process all components of a given type in the running game. It is also known as the `System` part of the `ECS` acronym. + +The new [flexible processing system](https://doc.stride3d.net/latest/en/manual/engine/entity-component-system/flexible-processing.html) provides more type safety, and the ability to process components by their interfaces. You could, for example, implement a custom update callback any component could receive through this API. + +### And more minor changes + +- [HDR Rendering Support for D3d/Windows](https://github.com/stride3d/stride/pull/2711) +- [User-defined gizmos](https://doc.stride3d.net/latest/en/manual/scripts/gizmos.html) +- [Haptic feedback integration for VR runtimes](https://github.com/stride3d/stride/pull/2169) +- [API for OpenXR Passthrough](https://github.com/stride3d/stride/pull/2141) + +### Fixes +Although there have been [many fixes](https://github.com/stride3d/stride/pulls?page=2&q=is%3Apr+merged%3A%3E2023-10-10), we'd like to point some of them out: + +- Major performance improvements, particularly for graphics and UI +- Multiple fixes improving Vulkan, OpenGL, games under Linux and OpenXR stability +- And fixes for edge cases when reloading assemblies in the game studio + +### Also good to know + +[WIP] +We are already hard at work on a bunch of ongoing projects for version 4.4 and beyond; +- Continuing work to allow for building games *from* other platforms +- Converting our Windows-only GameStudio to cross-platform through Avalonia + We welcome anyone willing to contribute to this project over [Here](https://github.com/orgs/stride3d/projects/6) - just have to make sure to add a comment to one of the unassigned issues you want to work on +- Improvements to shader compilation, reducing in-game hangs while building shader permutations. [Here](https://github.com/stride3d/SDSL) +- More work on D3d12 and Vulkan as we slowly transition away from D3d11 + +## Changelog for this release ### 🎉 New features * fix: Add mouse wheel delta to virtual button by [Acissathar](https://github.com/Acissathar) in [#2946](https://github.com/stride3d/stride/pull/2946) @@ -86,79 +160,5 @@ We are especially excited to welcome the following new contributors to Stride wi * [ComputerSmoke](https://github.com/ComputerSmoke) in [#2169](https://github.com/stride3d/stride/pull/2169) * [timconner](https://github.com/timconner) in [#2183](https://github.com/stride3d/stride/pull/2183) -## Stride 4.3 feature overview - -### Bepu physics integration - -Adding support for [Bepu Physics](https://github.com/bepu/bepuphysics2), a ridiculously fast physics engine written entirely in c#. - -Having both a game and physics engine in the same ecosystem reduces the cost of maintaining and improving it, the overhead that we may incur when communicating between the two APIs, and the barrier to entry for contributors. - -Bullet is still the default physics engine, and we welcome any contribution towards it, but our efforts will be focused on Bepu from now. - -The integration is effectively done, with Bepu's feature set now being slightly ahead of Bullet's. Have a look at [this page](https://doc.stride3d.net/latest/en/manual/physics/configuration.html) if you want to migrate to Bepu. - -### Vulkan compute shader support - -Vulkan graphics backend has been modified to support compute shaders, the shader compiler has also been modified to support computer shader generation for GLSL. - -### User-defined Assets - -Introducing [Custom Assets](https://doc.stride3d.net/latest/en/manual/scripts/custom-assets.html), a way to define and store data which can be referenced across multiple components, scenes and through other assets. - -The asset compiler also gives you the ability to build more complex systems like custom file importers. - -### Ongoing efforts to build projects *from* Linux and Apple desktops - -Stride can build games under Windows to target the different devices we support, but building directly from those devices was not supported up till now. - -We've introduced a couple of changes to improve on that front: -- Replacing our custom C++/CLI FBX importer with [Assimp](https://github.com/assimp/assimp) -- Fixing the asset compiler to run on all desktop OSes. -- Many build-system refactors to move toward fully cross-platform development. -- Building VHACD for Linux -- Adjust FreeImage and DirectXTex for all platforms - -Some work is still required on this front, but simpler projects can now be built from those platforms. - -### Efficient API to manipulate meshes - -Vertex buffers do not have a standardized layout, each mesh may have its own specific layout and data type it uses for its vertices. Some have blend weights, or tangents, while others only have positions - they may also use different data types, for example Half4 positions, 4byte color ... - -We added in two helpers in [VertexBufferHelper](https://doc.stride3d.net/latest/en/api/Stride.Graphics.VertexBufferHelper.html) and [IndexBufferHelper](https://doc.stride3d.net/latest/en/api/Stride.Graphics.IndexBufferHelper.html) to provide a standardized way to read and write to those buffers. - -### Open project with Rider and VSCode from the GameStudio - -While any IDE can open and build Stride projects, the editor button to open said project only had special handling for Visual Studio. [Jklawreszuk](https://github.com/Jklawreszuk) added support for Rider and VSCode. - -### Interface processor - -Stride has a [component processors](https://doc.stride3d.net/latest/en/manual/engine/entity-component-system/usage.html), a user-defined class which can collect and process all components of a given type in the running game. It is also known as the `System` part of the `ECS` acronym. - -The new [flexible processing system](https://doc.stride3d.net/latest/en/manual/engine/entity-component-system/flexible-processing.html) provides more type safety, and the ability to process components by their interfaces. You could, for example, implement a custom update callback any component could receive through this API. - -### And more minor changes - -- [HDR Rendering Support for D3d/Windows](https://github.com/stride3d/stride/pull/2711) -- [User-defined gizmos](https://doc.stride3d.net/latest/en/manual/scripts/gizmos.html) -- [Haptic feedback integration for VR runtimes](https://github.com/stride3d/stride/pull/2169) -- [API for OpenXR Passthrough](https://github.com/stride3d/stride/pull/2141) - -## Fixes -Although there have been [many fixes](https://github.com/stride3d/stride/pulls?page=2&q=is%3Apr+merged%3A%3E2023-10-10), we'd like to point some of them out: - -- Major performance improvements, particularly for graphics and UI -- Multiple fixes improving Vulkan, OpenGL, games under Linux and OpenXR stability -- And fixes for edge cases when reloading assemblies in the game studio - -## Also good to know - -[WIP] -We are already hard at work on a bunch of ongoing projects for version 4.4 and beyond; -- Continuing work to allow for building games *from* other platforms -- Converting our Windows-only GameStudio to cross-platform through Avalonia. [Here](https://github.com/orgs/stride3d/projects/6) -- Improvements to shader compilation, reducing in-game hangs while building shader permutations. [Here](https://github.com/stride3d/SDSL) -- More work on D3d12 and Vulkan as we slowly transition away from D3d11 - ## Acknowledgements -We extend our heartfelt gratitude for all the hard work and donations we have received. Your generous contributions significantly aid in the continuous development and enhancement of the Stride community and projects. Thank you for your support and belief in our collective efforts. \ No newline at end of file +We extend our heartfelt gratitude for all the hard work and donations we have received. Your generous contributions significantly aid in the continuous development and enhancement of the Stride community and projects. Thank you for your support and belief in our collective efforts. diff --git a/en/contributors/documentation/major-release-workflow.md b/en/contributors/documentation/major-release-workflow.md index 0d341638c..3bb435b15 100644 --- a/en/contributors/documentation/major-release-workflow.md +++ b/en/contributors/documentation/major-release-workflow.md @@ -34,3 +34,5 @@ The `BuildDocs.ps1` script will manage the deployment to the `4.2` folder while - Update SDK version references 1. Modify `manual\files-and-folders\distribute-a-game.md` - Update SDK version references +1. Modify `manual\get-started\update-stride.md` + - Update Visual Studio version \ No newline at end of file diff --git a/en/manual/get-started/update-stride.md b/en/manual/get-started/update-stride.md index dbf131435..a173da471 100644 --- a/en/manual/get-started/update-stride.md +++ b/en/manual/get-started/update-stride.md @@ -9,7 +9,7 @@ Updating Stride is a straightforward process, but it's important to follow the s ## Updating Stride -1. **Update Visual Studio 2022:** Ensure that you have the latest version of Visual Studio 2022. This is crucial for compatibility with the latest Stride version. After updating Visual Studio, restart your computer to apply the changes fully. +1. **Update Visual Studio 2026:** Ensure that you have the latest version of Visual Studio 2026. This is crucial for compatibility with the latest Stride version. After updating Visual Studio, restart your computer to apply the changes fully. 1. **Stride Launcher Instructions:** Open the Stride Launcher. Follow the instructions provided to update or install the Visual Studio plugin for Stride. This step is essential for integrating the latest version of Stride with your development environment. 1. **Restart Again:** After completing the installation or update of the Visual Studio plugin, restart your computer once more. This helps to ensure that all components are correctly loaded and ready for use. diff --git a/en/manual/index.md b/en/manual/index.md index 7059ea4ee..4d5f3cae9 100644 --- a/en/manual/index.md +++ b/en/manual/index.md @@ -4,45 +4,9 @@ These pages contain information about how to use Stride, an open-source C# game engine. -> [!Note] -> The Stride manual is under construction and is regularly updated with new content. Follow [Stride on X](https://x.com/stridedotnet?s=20) for documentation updates. - -## Latest documentation - -### Recent updates - -#### Manual - -- New [Glossary](glossary/index.md) - New glossary section added - -### Previous updates - -#### Manual -- Updated [Graphics - Materials - Materials for developers ](graphics/materials/materials-for-developers.md) - Modifying parameters at runtime added -- New [Scripts](scripts/best-practice.md) - Best Practices docs added -- New [Physics](physics/index.md) - Bepu Physics docs added -- Updated [Bullet Physics](physics-bullet/index.md) - Bullet Physics docs moved -- Updated [Files and Folders](files-and-folders/distribute-a-game.md) - Game distribution steps updated -- Updated [Scripts - Types of script](scripts/types-of-script.md) - Asynchronous script example improved -- New [Scripts - Gizmos](scripts/gizmos.md) - Description and example of the Flexible Processing system -- New [ECS - Flexible Processing](engine/entity-component-system/flexible-processing.md) - Description and example of the Flexible Processing system -- Updated [Linux - Setup and requirements](platforms/linux/setup-and-requirements.md) - Fedora OS option added -- New [Scripts - Serialization](scripts/serialization.md) - Explanation of serialization -- Updated [Scripts - Public properties and fields](scripts/public-properties-and-fields.md) - Content improvements and additions -- New [Engine - Entity Component model - Usage](engine/entity-component-system/usage.md) - Explanation of ECS usage -- Updated [Engine - Entity Component model](engine/entity-component-system/index.md) - Content improvements -- Updated [Stride for Unity® developers](stride-for-unity-developers/index.md) - Content improvements - -#### Tutorials - -- Updated [Tutorials](../tutorials/index.md) - Quick Tutorials section added -- Updated [Tutorials](../tutorials/index.md) - Added lesson counts and total length - -#### Contributing +## Stride community toolkit -- Updated [Contributing - Roadmap](../contributors/roadmap.md) - GitHub Project - Roadmap link added -- New [Contributing - Core Team](../contributors/core-team.md) - The Stride core team -- Updated [Contributing - Roadmap](../contributors/roadmap.md) - Status added +Check out our [Stride community toolkit](https://stride3d.github.io/stride-community-toolkit/index.html) for additional helpers and extensions. ## Improve this documentation @@ -50,6 +14,34 @@ The Stride documentation is open source, so anyone can edit it. If you find a mi To edit any page of this manual, click the **Edit this page** link at the bottom. Please make sure to follow the [writing guidelines](../contributors/documentation/index.md). -## Stride community toolkit +## Latest documentation -Check out our [Stride community toolkit](https://stride3d.github.io/stride-community-toolkit/index.html) for additional helpers and extensions. +**Recent updates** + +- Manual + - New [Glossary](glossary/index.md) - New glossary section added + +**Previous updates** + +- Manual + - Updated [Graphics - Materials - Materials for developers ](graphics/materials/materials-for-developers.md) - Modifying parameters at runtime added + - New [Scripts](scripts/best-practice.md) - Best Practices docs added + - New [Physics](physics/index.md) - Bepu Physics docs added + - Updated [Bullet Physics](physics-bullet/index.md) - Bullet Physics docs moved + - Updated [Files and Folders](files-and-folders/distribute-a-game.md) - Game distribution steps updated + - Updated [Scripts - Types of script](scripts/types-of-script.md) - Asynchronous script example improved + - New [Scripts - Gizmos](scripts/gizmos.md) - Description and example of the Flexible Processing system + - New [ECS - Flexible Processing](engine/entity-component-system/flexible-processing.md) - Description and example of the Flexible Processing system + - Updated [Linux - Setup and requirements](platforms/linux/setup-and-requirements.md) - Fedora OS option added + - New [Scripts - Serialization](scripts/serialization.md) - Explanation of serialization + - Updated [Scripts - Public properties and fields](scripts/public-properties-and-fields.md) - Content improvements and additions + - New [Engine - Entity Component model - Usage](engine/entity-component-system/usage.md) - Explanation of ECS usage + - Updated [Engine - Entity Component model](engine/entity-component-system/index.md) - Content improvements + - Updated [Stride for Unity® developers](stride-for-unity-developers/index.md) - Content improvements +- Tutorials + - Updated [Tutorials](../tutorials/index.md) - Quick Tutorials section added + - Updated [Tutorials](../tutorials/index.md) - Added lesson counts and total length +- Contributing + - Updated [Contributing - Roadmap](../contributors/roadmap.md) - GitHub Project - Roadmap link added + - New [Contributing - Core Team](../contributors/core-team.md) - The Stride core team + - Updated [Contributing - Roadmap](../contributors/roadmap.md) - Status added