Xenko 3.1 beta has just been released. This is the first major point release since the Xenko project went open source this summer. The primary focus of this beta is reorganizing Xenko to make it play nicely with the NuGet distribution system, although this refactoring has some very cool side effects. Now you are able to use individual components of Xenko on their own. For example, if you wanted to use the Xenko graphics library on it’s own, you can, independent of the rest of the Xenko game engine. This release also moves towards Xenko using .NET standard.
Details of the release from the Xenko blog:
Xenko was always a big proponent of NuGet: since first version, Xenko was distributed as a NuGet package.
However, due to limitations (hello packages.config and project.json!), we were leveraging NuGet more as a distribution medium than proper NuGet packages: Xenko 3.0 is still a monolithic single package and it would not work out of the box when referenced from Visual Studio without using Xenko Launcher and Game Studio.
Xenko 3.0 paved the way by making Xenko compatible with the new project system (game projects were referencing Xenko using a
PackageReference
).Today, Xenko 3.1 brings Xenko as a set of smaller NuGet package, each containing one assembly, with proper dependencies:
As a result, it is now possible to create a game project that references only the packages you want. Here are a few examples of “core” packages:
Xenko.Engine
: allows you to use core engine runtime (including its dependencies)Xenko.Core.Assets.CompilerApp
: compile assets at build timeXenko.Core.Mathematics
orXenko.Graphics
: yes, if you want to make a custom project only using Xenko mathematics or graphics API without the full Xenko engine, you can!Xenko.Core.Assets
,Xenko.Presentation
orXenko.Quantum
: all those piece of tech being used to build Xenko tooling are also available for reuse in other projects. Nothing prevents you from generating assets on the fly too!Then, various parts of the engine are distributed as optional packages:
Xenko.Physics
Xenko.Particles
Xenko.UI
Xenko.SpriteStudio
Xenko.Video
If you don’t reference those packages, they won’t be packaged with your game either. In many situations, it results in a smaller packaged game and improved startup time.
In addition to the above changes, you can take a look at the commit log on GitHub for other aspects that made it into the 3.1 release.