CrossPrimitives 1.1.0
dotnet add package CrossPrimitives --version 1.1.0
NuGet\Install-Package CrossPrimitives -Version 1.1.0
<PackageReference Include="CrossPrimitives" Version="1.1.0" />
<PackageVersion Include="CrossPrimitives" Version="1.1.0" />
<PackageReference Include="CrossPrimitives" />
paket add CrossPrimitives --version 1.1.0
#r "nuget: CrossPrimitives, 1.1.0"
#:package CrossPrimitives@1.1.0
#addin nuget:?package=CrossPrimitives&version=1.1.0
#tool nuget:?package=CrossPrimitives&version=1.1.0
CrossPrimitives
CrossPrimitives is a lightweight, engine-independent C# primitives library that cleanly separates game/app logic from rendering concerns. Designed to be compatible with any game engine, rendering system, or UI framework.
Overview
CrossPrimitives provides core types like:
Vector2
,Vector3
,Vector4
— engine-agnostic math vectorsVector2i
,Vector3i
,Vector4i
— integer versions of the aboveColor
— with full support for:- RGBA/ARGB/ABGR 32/64-bit packing
- Named color support and HTML hex parsing
This library is meant to be owned by your logic layer. Your rendering engine (Godot, Unity, MonoGame, etc.) is just a Presenter — not the source of truth.
Philosophy
- ✅ No engine references — clean C# structs only
- 🔁 Reusable across projects, engines, and platforms
- 🧪 Fully testable logic layer
- 🧱 Designed for integration, not opinionated frameworks
Adapter: Godot Engine
To use CrossPrimitives types in Godot install theCrossPrimitives.GodotAdapterGenerator package. This package generates the necessary code to convert between CrossPrimitives types and Godot's built-in types.
dotnet add package CrossPrimitives.GodotAdapterGenerator
Example
using CrossPrimitives;
using CrossPrimitives.GodotAdapter;
Vector2 pos = new(1f, 2f);
Godot.Vector2 godotVec = pos.AsGodot();
Color myColor = new Color(1f, 0.5f, 0f);
Godot.Color godotColor = myColor.AsGodot();
Godot.Vector3I godotInt = new Godot.Vector3I(3, 4, 5);
Vector3i crossInt = godotInt.AsCrossPrimitives();
For more details, see CrossPrimitives.GodotAdapterGenerator package documentation.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.