创建包
中级
在本指南中,我们将深入介绍如何创建自定义项目包。
对 .NET 开发者而言: Stride 项目包就是一个标准的 C# 项目。
创建平台包

平台包是在向项目添加平台时创建的。具体步骤请参阅添加或移除平台。
创建标准包
要创建新的平台包,请在解决方案资源管理器面板中右键单击解决方案,然后选择 New project...

你可以从两种模板中选择一种:
- New game - 为新游戏创建一个项目包,并为所选目标创建额外的平台包。
- Code library - 标准的空项目包,供其他包使用其代码和资产。
你可以在解决方案资源管理器面板中右键单击解决方案,然后选择 Add > New Project... 来创建新的平台包。

系统会提示你选择 Visual Studio 提供的模板之一。为 C# 语言选择 Class Library。

为包命名,然后按照步骤继续操作,直到包创建完成。
Warning
创建的项目包将缺少对 Stride 库的引用。你需要自行添加!
Warning
通过 Visual Studio 创建的项目包不会创建 .sdpkg 文件,也不会创建 Assets 和 Resources 文件夹。请务必自行创建!

以下是 .sdpkg 文件的模板。将 MyGame.MyLibrary 改为你的包名。有关如何配置此文件的更多信息,请访问包属性页面。
!Package
SerializedVersion: {Assets: 3.1.0.0}
Meta:
Name: MyGame.MyLibrary
Version: 1.0.0
Authors: []
Owners: []
Dependencies: null
AssetFolders:
- Path: !dir Assets
- Path: !dir Effects
ResourceFolders:
- !dir Resources
OutputGroupDirectories: {}
ExplicitFolders: []
Bundles: []
TemplateFolders: []
RootAssets: []
为确保正确支持资产编译,请添加对 Stride.AssetCompiler 包的引用。
<PackageReference Include="Stride.AssetCompiler" Version="ENGINE VERSION HERE" IncludeAssets="build;buildTransitive" />
如果你使用的 IDE 不在此页面中,也可以改用终端通过 dotnet 命令创建新的项目包。
dotnet new classlib --name MyGame.MyLibrary
你还需要将它添加到项目的解决方案文件中。
dotnet sln add MyGame.MyLibrary
Warning
创建的项目包将缺少对 Stride 库的引用。你需要自行添加!
Warning
通过命令行创建的项目包不会创建 .sdpkg 文件,也不会创建 Assets 和 Resources 文件夹。请务必自行创建!
以下是 .sdpkg 文件的模板。将 MyGame.MyLibrary 改为你的包名。有关如何配置此文件的更多信息,请访问包属性页面。
!Package
SerializedVersion: {Assets: 3.1.0.0}
Meta:
Name: MyGame.MyLibrary
Version: 1.0.0
Authors: []
Owners: []
Dependencies: null
AssetFolders:
- Path: !dir Assets
- Path: !dir Effects
ResourceFolders:
- !dir Resources
OutputGroupDirectories: {}
ExplicitFolders: []
Bundles: []
TemplateFolders: []
RootAssets: []
为确保正确支持资产编译,请添加对 Stride.AssetCompiler 包的引用。
<PackageReference Include="Stride.AssetCompiler" Version="ENGINE VERSION HERE" IncludeAssets="build;buildTransitive" />
使用你的新项目包
默认情况下,新创建的项目包中的所有代码和资产都无法从其他包访问,因为它没有被引用。

要改变这一点,你需要将它添加为想要使用它的那些包的依赖项。
更多信息请参阅依赖项。
另请参阅