CrossPrimitives 1.0.2
See the version list below for details.
dotnet add package CrossPrimitives --version 1.0.2
NuGet\Install-Package CrossPrimitives -Version 1.0.2
<PackageReference Include="CrossPrimitives" Version="1.0.2" />
<PackageVersion Include="CrossPrimitives" Version="1.0.2" />
<PackageReference Include="CrossPrimitives" />
paket add CrossPrimitives --version 1.0.2
#r "nuget: CrossPrimitives, 1.0.2"
#:package CrossPrimitives@1.0.2
#addin nuget:?package=CrossPrimitives&version=1.0.2
#tool nuget:?package=CrossPrimitives&version=1.0.2
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
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();
The adapter uses Unsafe.As<,> internally, assuming that structures have identical memory layout to Godot's built-in types. This ensures performance with zero allocation and no data copy.
| 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.