stride-website/posts/2024-02-06-announcing-strid...

14 KiB
Исходник Постоянная ссылка Ответственный История

title author popular tags
Announcing Stride 4.2 vaclav true
4.2
Release

Stride contributors are thrilled to announce the release of Stride 4.2, now fully compatible with .NET 8 and leveraging the latest enhancements in C# 12. This release brings significant improvements in performance, stability, and developer experience.


{% img-click 'Stride 4.2 performance enhancements with .NET 8' '/images/blog/release-4.2/stride_4_2_fps.webp' %}

Table of Contents:

TOC

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.2 a reality.

Download and Upgrade

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

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

Unity Licensing Model Impact: A Catalyst for Change

The game development world has seen quite a stir with recent changes in Unity's licensing model. These shifts have led many in our community to rethink their choice of development tools. Stride 4.2 steps up in this scenario as a solid, C#-based alternative, offering a familiar yet distinct approach for game developers.

Stride's Rising Popularity

It's been an exciting time for us. We've noticed more and more developers giving Stride a try, a trend clearly reflected in our growing user numbers. During the crazy Unity days, we were number 3 in the popularity rankings, just after Godot and Bevy. Also a big shoutout to gamefromscratch for his video "Stride For Unity Developers", which definitely helped.

The Heartbeat of Stride: Our Community

What really makes Stride tick is you – the community. Your feedback, contributions, and ideas have been the driving force behind Stride 4.2. Its your hands-on experience and insights that have helped shape this release, making Stride not just a tool but a community achievement.

Addressing the Pace of Updates in Stride

Let's talk about how often Stride gets updated. We know it's something on your mind, and that is why we want to explain the dynamics that influence it.

The People Behind Stride

Stride is maintained by a group of passionate developers, much like yourself, who contribute in their free time. This means our pace might not match that of other engines backed by full-time teams. Luckily we still have the original creator and lead of Stride among us to tackle tricky issues and infrastructure.

Facing the Realities: Funding and Resources

Heres the deal: our funding levels shape how much we can do. Were grateful for every bit of support we receive, but were still on our way to having a full-time development force. This financial reality does affect how fast we can roll out updates. Although we might not be the fastest out there, we focus on making each update meaningful.

Funding and Resource Allocation

Challenges in Distribution

The pace at which we distribute funds is often perceived as slow. However, this is not from a lack of willingness but rather the challenge of finding the right talent for the tasks. Nonetheless, we are actively funding projects at this moment, focusing on enhancements in XR, introducing morph target capabilities for 3D models (aka Blendshapes), and updating the bindings for the Assimp 3D importer to Silk.NET.

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

Were always excited to welcome new contributors to the Stride family. Whether its through code contributions, spreading the word, or donations, every bit helps us grow stronger. If youve got skills in .NET, Android, and iOS development, theres a special place for you here. Support us on OpenCollective.

The Impact of Your Support

We believe that every donation has a substantial impact, perhaps more so than in some other projects. Why? Because C# as a language offers high productivity, and the Stride codebase has a great architecture. This means that every dime you contribute goes a long way.

Imagine how much we could do if Stride got as much financial support as other big engines. With C#'s easy productivity and Stride's well-organized code, your donations could help us improve much faster. It's not just about keeping the lights on; your support can take Stride to new heights!

Looking Ahead

With your support, were optimistic about picking up the pace. Our goal is to bring you new features and improvements more regularly, making Stride even better with each release.

What's New in Stride 4.2

Stride 4.2 includes numerous enhancements and improvements. Heres what to expect:

  • .NET 8 Integration: Stride 4.2 is now fully aligned with .NET 8, 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# 12 Features: With C# 12, Stride users can write cleaner, more concise code thanks to new language features. These improvements reduce boilerplate and enhance readability. Discover C# 12

  • Changed Assimp Binding to Silk.Net.Assimp: This update transitions the asset compiler's binding from C++/CLR to Silk.Net.Assimp, a move that not only simplifies the codebase but also paves the way for asset compilation on non-Windows systems, broadening Stride's accessibility. See the pull request

  • Migration NET6+ and More gettextnet#2: Stride's commitment to staying current with .NET versions continues, ensuring compatibility and leveraging the stability and features of the latest .NET environment across all aspects of the engine. Check out the update

  • Enable Multiple Profiler Consumers and Add a Timeline/Tracing Profiler: This enhancement introduces a profiler with chrome://tracing output format, significantly improving the debugging and performance tuning process by allowing for a more granular analysis of game performance. Explore the feature

  • Feature: Add Support for F# and VB Project Types: Stride now welcomes developers using F# and Visual Basic, offering support for code-only projects in these languages. This opens up Stride to a broader audience. Learn about F# and VB support

  • Stride Diagnostics Analyzer: This new tool provides immediate feedback within your IDE, identifying potential compatibility issues with Stride's serialization system. It's about making your development process smoother and helping you catch and resolve issues faster. Discover how it works, the docs page and here is the pull request.

  • OpenVR Handle Custom Resolution Specified by the User Through VR Settings: Enhancing VR development, this update allows developers to specify custom resolutions for VR projects, optimizing performance and visual quality for various VR devices. See the details

  • Editor Enhancements:

    • Dynamic Snapping for Selected Objects: This feature introduces dynamic snapping while transforming objects, improving precision and workflow efficiency within the Stride Editor. Dynamic snapping PR

    • Animation Stack Selection for FBX Imports: Stride now allows you to select specific animations from a stack when importing FBX files, giving you more control over the assets you bring into your projects. Learn more

    • Automatic Asset Copying to Resources Directory: To streamline asset management, the editor can now automatically copy imported assets to the project's Resources directory, ensuring your assets are always where they need to be. See how it works

Fixes

Although there have been many fixes, we'd like to point some of them out:

See the full list in the Release Notes.

Exciting Development in Stride Physics

Stride 4.2's release isn't just about what's in the box; it's also about what it enables for the future. A standout development in this context is the integration of a new physics package in Stride.

Introducing Bepu Physics in Stride

Our Discord community is buzzing with the news of Bepu physics, a project initiated by our user Nicogo1705.

BepuPhysics v2 is a high-performance, multi-threaded physics library, written entirely in C#. Its compatibility with Stride's C# ecosystem offers the perfect alternative to the Bullet 3D physics engine, which relies on C++ Interop.

With additional support from Doprez and Eideren, the efforts in integrating Bepu physics have already shown impressive results, especially in editor compatibility and performance. As you can see in this video, running on almost 10 year old hardware (yes, cube fountain included):

{% youtube '1OqtaVqSP78' %}

Nicogo's YouTube channel features some more demo videos.

GitHub: Nicogo1705/Stride.BepuPhysics

Future Prospects and Disclaimer

Currently an independent package, Bepu physics is charting a course towards deeper integration within Stride. While it stands as a potential future replacement for Bullet physics, the package is still evolving. Future updates may necessitate adjustments to projects using its current version. We encourage users to stay updated and adaptable as we continue refining Bepu physics with the community's support. The pull request can be found here: [Physics] Bepu integration

Also good to know

Although not directly tied to Release 4.2, we have some more big things going on.

For instance to our website and documentation. We also had another community meeting to address all those new members.

And last but not least:

Cross-Platform Evolution: The Stride Editor and Avalonia

One of the most ambitious projects for Stride to date has started: The porting of the entire Stride Editor from WPF to Avalonia, a cross-platform C# UI library. This significant endeavor, undertaken by Kryptos-FR, a former Stride developer.

Currently, the project is in the early stages but it not only anticipates making the editor compatible with Linux and MacOS but also aligns with the long-standing community desire for broader platform support and enhanced editor functionality, including a robust plugin system.

More details in this pull request: Cross-platform editor rewrite - prototype

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

  • {% include sponsor-org.md key:'vvvv' emoji:'🥇' %}

    vvvv. A visual live-programming environment that takes you from rapid prototyping to final production

Platinum Striders

  • {% include sponsor-org.md key:'happenstance' emoji:'🏆' %}

    Happenstance games logo

Gold Striders

  • {% include sponsor-user.md key:'vaclav' emoji:'🥇' %}
  • {% include sponsor-org.md key:'lucid' emoji:'🥇' %}
  • {% include sponsor-user.md key:'skidvis' emoji:'🥇' %}

This article was co-authored by Aggror Jorn and Tebjan Halm.