SwiftCollections.FixedMathSharp
8.0.0
dotnet add package SwiftCollections.FixedMathSharp --version 8.0.0
NuGet\Install-Package SwiftCollections.FixedMathSharp -Version 8.0.0
<PackageReference Include="SwiftCollections.FixedMathSharp" Version="8.0.0" />
<PackageVersion Include="SwiftCollections.FixedMathSharp" Version="8.0.0" />
<PackageReference Include="SwiftCollections.FixedMathSharp" />
paket add SwiftCollections.FixedMathSharp --version 8.0.0
#r "nuget: SwiftCollections.FixedMathSharp, 8.0.0"
#:package SwiftCollections.FixedMathSharp@8.0.0
#addin nuget:?package=SwiftCollections.FixedMathSharp&version=8.0.0
#tool nuget:?package=SwiftCollections.FixedMathSharp&version=8.0.0
SwiftCollections
![]()
Specialized .NET collections for hot paths that need tighter control over storage, allocation, iteration, and spatial queries.
The BCL collections are excellent defaults. SwiftCollections is for the code where profiling says the default is no longer enough: simulation loops, games, spatial indexing, deterministic runtimes, and allocation-sensitive tooling.
Why SwiftCollections?
- Low-allocation lists, queues, stacks, hash tables, slot maps, ticket maps, packed sets, sparse sets, and sparse maps.
- Dense iteration and stable or generation-checked handles for entity-style workloads.
- BVH, spatial hash, and octree queries over
System.Numericsvolumes. - Fixed-point query companions powered by FixedMathSharp.
- Explicit state-backed serialization, with Standard and Lean package variants.
- Explicit retained-reference cleanup at ownership boundaries, while preserving reusable capacity.
- Benchmarks and full reachable coverage enforced as part of the repository workflow.
Install
Choose one package family:
| Need | Package |
|---|---|
| Core collections with MemoryPack | SwiftCollections |
| Core collections without the MemoryPack runtime | SwiftCollections.Lean |
| FixedMathSharp spatial queries with MemoryPack | SwiftCollections.FixedMathSharp |
| FixedMathSharp spatial queries without the MemoryPack runtime | SwiftCollections.FixedMathSharp.Lean |
dotnet add package SwiftCollections
Or install a companion package when you need fixed-point query volumes. NuGet brings in the matching SwiftCollections and FixedMathSharp packages:
dotnet add package SwiftCollections.FixedMathSharp
Use the matching .Lean packages as a pair. Lean keeps the collection APIs but
removes the MemoryPack runtime; it is useful when your application owns its
serialization stack or wants the smaller dependency surface.
A quick taste
SwiftTicketMap<T> gives you stable slots with generation-checked handles that
stop resolving after removal and slot reuse:
using System;
using SwiftCollections;
var actors = new SwiftTicketMap<string>();
SwiftTicket player = actors.Add("player");
if (actors.TryGet(player, out string actor))
{
Console.WriteLine(actor);
}
actors.Remove(player);
For externally owned compact integer IDs, start with SwiftSparseSet or
SwiftSparseMap<T>. For broad-phase queries, start with SwiftBVH<TKey>,
SwiftSpatialHash<TKey>, or SwiftOctree<TKey>.
Shared logging and exception guards come from the independent
Chronicler.Diagnostics package. See the
migration guide
for the updated imports and guard names.
Learn more
Using Unity? The maintained
SwiftCollections-Unity packages
add Unity-serializable adapters, Bounds conversions, GameObject pooling, and
FixedMathSharp integration.
Compatibility
The libraries target netstandard2.1 and net10.0. CI validates Standard and
Lean builds on Windows and Linux.
Questions and discussion are welcome in the Discord community. SwiftCollections is available under the MIT License. See Support, the Code of Conduct, and Security for help and reporting guidance.
| 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 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 is compatible. 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 (>= 8.0.0)
- SwiftCollections (>= 8.0.0)
-
net10.0
- FixedMathSharp (>= 8.0.0)
- SwiftCollections (>= 8.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on SwiftCollections.FixedMathSharp:
| Package | Downloads |
|---|---|
|
GridForge
A high-performance, deterministic rectangular and hex-prism voxel grid system for spatial partitioning, simulation, and game development. |
|
|
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 |
|---|---|---|
| 8.0.0 | 42 | 11/5/2026 |
| 7.1.0 | 266 | 8/26/2026 |
| 7.0.0 | 258 | 8/5/2026 |
| 6.0.0 | 204 | 7/1/2026 |
| 5.1.1 | 182 | 6/24/2026 |
| 5.1.0 | 140 | 6/22/2026 |
| 5.0.2 | 231 | 6/20/2026 |
| 5.0.1 | 262 | 6/16/2026 |
| 5.0.0 | 144 | 6/10/2026 |
| 4.1.1 | 139 | 5/30/2026 |
| 4.1.0 | 136 | 5/26/2026 |
| 4.0.5 | 137 | 5/19/2026 |
| 4.0.4 | 134 | 5/10/2026 |
| 4.0.3 | 134 | 5/7/2026 |
| 4.0.2 | 138 | 5/3/2026 |
| 4.0.0 | 131 | 4/16/2026 |