GridForge 9.1.0
dotnet add package GridForge --version 9.1.0
NuGet\Install-Package GridForge -Version 9.1.0
<PackageReference Include="GridForge" Version="9.1.0" />
<PackageVersion Include="GridForge" Version="9.1.0" />
<PackageReference Include="GridForge" />
paket add GridForge --version 9.1.0
#r "nuget: GridForge, 9.1.0"
#:package GridForge@9.1.0
#addin nuget:?package=GridForge&version=9.1.0
#tool nuget:?package=GridForge&version=9.1.0
GridForge
![]()
Deterministic voxel worlds for .NET games, simulations, tools, and server runtimes.
GridForge gives you explicit world ownership, snapped fixed-point grids, streamable multi-grid spaces, spatial queries, blockers, occupants, and diagnostic geometry—without tying the core runtime to a game engine.
Why GridForge?
- Worlds that grow with your project. Start with one grid, join neighboring
grids, or load and unload regions inside an explicit
GridWorld. - Deterministic spatial math. Rectangular-prism and hex-prism grids use FixedMathSharp throughout the runtime.
- Dense or sparse storage. Model solid voxel volumes or large address spaces where only selected cells exist.
- Queries and state built in. Trace lines and bounds, scan nearby occupants, stack blockers, attach typed partitions, and observe dirty diagnostic regions.
- Engine-agnostic by design. Unity authoring and visualization live in the separate GridForge-Unity packages.
- Allocation-conscious internals. Hot paths build on SwiftCollections containers and pools.
Install
dotnet add package GridForge
Choose one package variant:
| Package | Use it when |
|---|---|
GridForge |
You want the default package with MemoryPack serialization support. |
GridForge.Lean |
You want the same grid API without the MemoryPack runtime dependency. |
Both variants target netstandard2.1 and net8.0.
Quick start
using System;
using FixedMathSharp;
using GridForge.Configuration;
using GridForge.Grids;
using GridWorld world = new GridWorld();
GridConfiguration configuration = new GridConfiguration(
new Vector3d(-10, 0, -10),
new Vector3d(10, 0, 10));
if (!world.TryAddGrid(configuration, out _))
throw new InvalidOperationException("Could not add the grid.");
Vector3d position = new Vector3d(2, 0, -3);
if (world.TryGetGridAndVoxel(
position,
out VoxelGrid? grid,
out Voxel? voxel)
&& grid is not null
&& voxel is not null)
{
Console.WriteLine($"Grid {grid.GridIndex}, voxel {voxel.Index}");
}
That same GridWorld can own multiple conjoined grids, mix rectangular and hex
topologies, and combine dense and sparse storage. Higher-level regions, sectors,
or streaming policy remain yours to shape above the voxel layer.
Learn more
- Getting started
- Core concepts
- Common workflows
- API reference
- Migration guide
- Contributing and local validation
The GridForge wiki covers topology, sparse storage, tracing, scan cells, blockers, occupants, diagnostics, determinism, testing, and benchmarks in depth.
Questions and discussion are welcome in the Discord community. GridForge is available under the MIT License.
| 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 is compatible. 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 was computed. 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. |
| .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
- FixedMathSharp (>= 7.1.0)
- MemoryPack (>= 1.21.4)
- SwiftCollections (>= 7.0.0)
- SwiftCollections.FixedMathSharp (>= 7.1.0)
- System.Text.Json (>= 10.0.9)
-
net8.0
- FixedMathSharp (>= 7.1.0)
- MemoryPack (>= 1.21.4)
- SwiftCollections (>= 7.0.0)
- SwiftCollections.FixedMathSharp (>= 7.1.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on GridForge:
| Package | Downloads |
|---|---|
|
Trailblazer
Deterministic, framework-agnostic pathfinding and navigation for lockstep simulations and games. Trailblazer combines FixedMathSharp fixed-point math, GridForge voxel navigation charts, A* paths, flow fields, reusable guide caching, transition-aware routing, steering, turning, locomotion, heightmaps, and Chronicler serialization support. |
|
|
Gravitas
High-performance, engine-agnostic fixed-point physics for deterministic 2D, 3D, and mixed-dimension lockstep games and simulations. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 9.1.0 | 45 | 8/28/2026 |
| 9.0.0 | 156 | 8/5/2026 |
| 8.0.0 | 126 | 7/1/2026 |
| 7.1.4 | 126 | 6/24/2026 |
| 7.1.3 | 123 | 6/22/2026 |
| 7.1.2 | 123 | 6/20/2026 |
| 7.1.1 | 130 | 6/17/2026 |
| 7.1.0 | 139 | 6/16/2026 |
| 7.0.0 | 125 | 6/16/2026 |
| 6.0.6 | 119 | 5/30/2026 |
| 6.0.5 | 142 | 5/26/2026 |
| 6.0.4 | 169 | 5/19/2026 |
| 6.0.3 | 160 | 5/11/2026 |
| 6.0.2 | 124 | 5/7/2026 |
| 6.0.1 | 124 | 5/4/2026 |
| 6.0.0 | 134 | 4/25/2026 |
| 5.0.0 | 126 | 4/16/2026 |
| 4.0.0 | 126 | 4/8/2026 |
| 3.0.0 | 133 | 3/11/2026 |
| 2.0.0 | 245 | 7/2/2025 |