UnityMathematics.Schemas
0.0.3
dotnet add package UnityMathematics.Schemas --version 0.0.3
NuGet\Install-Package UnityMathematics.Schemas -Version 0.0.3
<PackageReference Include="UnityMathematics.Schemas" Version="0.0.3" />
paket add UnityMathematics.Schemas --version 0.0.3
#r "nuget: UnityMathematics.Schemas, 0.0.3"
// Install UnityMathematics.Schemas as a Cake Addin #addin nuget:?package=UnityMathematics.Schemas&version=0.0.3 // Install UnityMathematics.Schemas as a Cake Tool #tool nuget:?package=UnityMathematics.Schemas&version=0.0.3
Unity.Mathematics.Schemas
This repo consists of FlatBuffer schemas that are compiled for C#/.NET with FlatSharp.
The main schema, Unity.Mathematics.fbs
defines FlatBuffer structures that are directly compatible to
their eponymous C# structures defined by the Unity.Mathematics assembly.
The supplementary schema, Unity.Mathematics.Tables.fbs
defines FlatBuffer tables containing single values of arrays
of the aforementationed structures that can be de/serialialized. This schema is mostly intended for usage by the unit tests,
and as an integration example.
⚡ tl;dr or I just want to fetch the correct dependency
dotnet CLI
dotnet add package UnityMathematics.Schemas --version x.y.z
Directory.Packages.props
<ItemGroup>
<PackageVersion Include="UnityMathematics.Schemas" Version="x.y.z" />
</ItemGroup>
Schema only (i.e. for integration and recompilation by local project)
<ItemGroup Label="dependencies">
<PackageReference Include="UnityMathematics.Schemas" GeneratePathProperty="true">
<IncludeAssets>contentfiles</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup Label="schemas">
<FlatSharpSchema Include="$(UnityMathematics_Schemas)\content\**\*.fbs">
<IncludePath>$(UnityMathematics_Schemas)\content</IncludePath>
</FlatSharpSchema>
<FlatSharpSchema Include="$(MSBuildThisFileDirectory)\**\*.fbs">
<IncludePath>$(UnityMathematics_Schemas)\content</IncludePath>
</FlatSharpSchema>
</ItemGroup>
Runtime only (i.e. for integration by local project, without recompilation)
<ItemGroup Label="dependencies">
<PackageReference Include="UnityMathematics.Schemas" />
</ItemGroup>
Schema and Runtime (i.e. for inclusion by local schema, without recompilation of the schema itself)
<ItemGroup Label="dependencies">
<PackageReference Include="UnityMathematics.Schemas" GeneratePathProperty="true">
<IncludeAssets>all</IncludeAssets>
</PackageReference>
</ItemGroup>
<ItemGroup Label="schemas">
<FlatSharpSchema Include="$(MSBuildThisFileDirectory)\**\*.fbs">
<IncludePath>$(UnityMathematics_Schemas)\content</IncludePath>
</FlatSharpSchema>
</ItemGroup>
<PropertyGroup Label="FlatSharp compiler configuration">
<FlatSharpInputFilesOnly>true</FlatSharpInputFilesOnly>
</PropertyGroup>
For further information, please refer to the FlatSharp compiler documentation.
🔧 Schema usage
Define your types using the same namespace as you would in C#.
include "Unity.Mathematics.fbs";
namespace Example;
struct Transform {
position: Unity.Mathematics.float3;
rotation: Unity.Mathematics.quaternion;
scale: Unity.Mathematics.float3;
}
table Mesh {
transform: Transform (required);
vertices: [Unity.Mathematics.float3] (required);
normals: [Unity.Mathematics.float3] (required);
uvs: [Unity.Mathematics.float2] (required);
indices: [short] (required);
//...
}
table ParticleEffect {
transform: Transform (required);
vertices: [Unity.Mathematics.float3] (required);
}
🤝 Collaborate with My Project
PRs are welcome.
Please refer to COLLABORATION.md for more details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- FlatSharp.Runtime (>= 7.6.0)
- UnityMathematics.NoDeps (>= 1.3.2)
-
net9.0
- FlatSharp.Runtime (>= 7.6.0)
- UnityMathematics.NoDeps (>= 1.3.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
CHANGELOG.md