Stride 游戏引擎 4.3 现已支持 .NET 10
Stride Game Engine 4.3 with .NET 10 Support

原始链接: https://www.stride3d.net/blog/announcing-stride-4-3-in-dotnet-10/

## Stride 4.3:游戏开发重大更新 Stride 4.3现已发布,为游戏开发者带来显著改进。引擎升级至 **.NET 10 和 C# 14**,提供性能提升、效率和现代语言特性。一个关键的补充是 **Bepu Physics**,一种快速的、基于C#的物理引擎,现已与现有的Bullet引擎集成(未来将重点关注Bepu)。 此版本还引入了 **Vulkan 计算着色器支持**和 **自定义资源**,允许更灵活的数据管理和复杂的资源流程。开发者现在可以直接在 **Linux 和 Apple 桌面**上构建项目,扩展了跨平台能力。 进一步的增强包括用于高效 **网格操作**的辅助工具,以及从GameStudio直接打开 **Rider 和 VSCode** 项目的支持。组件处理系统的改进提高了类型安全性。还包括对Vulkan、OpenGL、Linux和OpenXR的众多 **性能和稳定性修复**。 团队已经在开发 Stride 4.4,重点是进一步的跨平台支持和着色器编译改进,并欢迎社区贡献——特别是来自在.NET、移动和XR方面有技能的开发者。

## Stride 游戏引擎与 2D 游戏开发选项 一篇 Hacker News 的讨论围绕着一位初学者 C# 开发者选择游戏引擎,用于创建一个简单的 2D 概念验证。 考虑了几个选项: **Unity** 因为其 Mono 实现以及潜在的过时 C# 支持而被排除。 **Godot** 看起来很有希望,拥有良好的 .NET 支持,但有些人认为它会引导用户使用其 GDScript 语言。 **MonoGame** 被提及,但被认为可能过于底层。 **Stride** 是许多讨论参与者中一个较新的选项,它作为一款成熟的引擎受到了关注,尤其是在 VR 方面,但目前缺乏 macOS 支持。 最终,**Godot 与 .NET** 被推荐为小型 2D 游戏的强大选择,它在功能和 C# 兼容性之间提供了良好的平衡。 一条单独的评论强调 **Bepu Physics** 是一款高性能但集成起来比较复杂的物理引擎。
相关文章

原文

Stride 4.3 brings .NET 10 and C# 14, Bepu Physics, Vulkan compute shaders, custom assets, cross-platform build strides, mesh buffer helpers, Rider/VSCode support, and performance and stability fixes.

Table of Contents:

Download and Upgrade 🔗

You can download the Stride 4.3 Installer today. Release notes are available here.

Make sure you read the guide to update Stride and projects properly.

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

  • 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. Introducing C# 14

What has changed since Stride 4.2 🔗

Bepu physics integration 🔗

Adding support for Bepu Physics, 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 if you want to migrate to Bepu.

Vulkan compute shader support 🔗

The Vulkan graphics backend has been modified to support compute shaders, and the shader compiler has also been modified to support compute shader generation for GLSL.

User-defined Assets 🔗

Introducing Custom Assets, 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 on Windows targeting the different devices we support, but building directly on those platforms was not supported until now.

We've introduced a couple of changes to improve on that front:

  • Replacing our custom C++/CLI FBX importer with 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 on 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 and IndexBufferHelper 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 added support for Rider and VSCode.

Interface processor 🔗

Stride has a component processors, 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 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 🔗

Fixes 🔗

Although there have been many fixes, 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 🔗

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 - 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
  • More work on D3d12 and Vulkan as we slowly transition away from D3d11

Funding and Resource Allocation 🔗

Call for Skilled Developers 🔗

We are actively seeking skilled developers with experience in C#, the .NET ecosystem, mobile, XR, rendering, and game development. If you have these skills or know someone who does, we encourage you to get involved. There are opportunities to contribute to critical areas of Stride's development, supported by available funds.

Join Us on This Journey 🔗

We’re always excited to welcome new contributors to the Stride family. Whether it’s through code contributions, spreading the word, or donations, every bit helps us grow stronger. If you’ve got skills in .NET, Android, and iOS development, there’s a special place for you here. Support us on OpenCollective.

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.

In particular, we want to thank these donors:

Long-time Stride supporters 🔗

Gold Striders 🔗

This article was co-authored by Eideren.

联系我们 contact @ memedata.com