NomadFramework.Nomad.FileSystem
1.1.0
dotnet add package NomadFramework.Nomad.FileSystem --version 1.1.0
NuGet\Install-Package NomadFramework.Nomad.FileSystem -Version 1.1.0
<PackageReference Include="NomadFramework.Nomad.FileSystem" Version="1.1.0" />
<PackageVersion Include="NomadFramework.Nomad.FileSystem" Version="1.1.0" />
<PackageReference Include="NomadFramework.Nomad.FileSystem" />
paket add NomadFramework.Nomad.FileSystem --version 1.1.0
#r "nuget: NomadFramework.Nomad.FileSystem, 1.1.0"
#:package NomadFramework.Nomad.FileSystem@1.1.0
#addin nuget:?package=NomadFramework.Nomad.FileSystem&version=1.1.0
#tool nuget:?package=NomadFramework.Nomad.FileSystem&version=1.1.0
NomadFramework
NomadFramework is an engine‑agnostic, C#‑based game backend designed to eliminate wheel‑reinvention across projects. It provides a unified runtime layer that can be embedded into Unity, Godot, Unreal (via C# bindings), or custom engines. The framework is modular, subsystem‑complete, and built on universal engine principles found in idTech, Doom, Unreal, and Godot.
NomadFramework is licensed under MPL‑2.0, with an optional commercial license (1% royalty after store fees).
Features
NomadFramework includes a comprehensive suite of subsystems intended to serve as the foundation for any game project:
Core Architecture
- Engine‑agnostic design
- C# version‑agnostic
- Modular subsystem architecture
- Clean, documented API surface
- Optional commercial licensing
Runtime Subsystems
- Nomad.Events — decoupled, high‑performance event dispatching
- Nomad.CVars — idTech‑style configuration variables
- Nomad.Console — runtime command execution and debugging
- Nomad.ECS — lightweight, cache‑friendly entity‑component system
- Nomad.Input — unified input abstraction across engines, multiple binds, coyote time, etc.
- Nomad.Logging — structured, configurable logging with custom sink suppoort
Data & Persistence
- Nomad.Save — deterministic serialization, versioning, and state restoration
- Nomad.FileSystem - Virtual File System (VFS) — Quake 3‑style layered filesystem
- Nomad.ResourceCache — unified asset access across engines
Audio & Media
- Nomad.Audio - an abstraction layer over audio pipelines including OpenAL, Godot, and FMOD
- Nomad.Audio.FMOD — high‑quality audio pipeline support
Networking
- Nomad.OnlineServices.Steam — engine‑agnostic Steamworks.NET abstraction layer
Gameplay Systems
- Nomad.Quests — data‑driven quest and objective logic
Extensibility
- Fully modular subsystem design, you can pick and choose which ones you want without the entire framework
- Additional modules planned for future releases
- Designed for long‑term maintainability and cross‑project reuse
Philosophy
NomadFramework is built around a simple principle:
Never reinvent the wheel twice. And truly Write once, run everywhere
This framework was designed to capture the universal patterns that appear in every engine:
- CVars
- Consoles
- Event Buses
- ECS
- Save Systems (the good ones)
- VFS layers
- input abstractions
- logging
- networking
- audio integration
These patterns are stable across decades of engine design. NomadFramework unifies them into a portable backend that can outlive any single engine or project.
Licensing
NomadFramework is distributed under:
- MPL‑2.0 for open‑source use
- Commercial License for closed‑source or commercial projects
- 1% royalty after store fees
Contact the author for commercial licensing details.
Formatting & Code Standards
This project follows a strict formatting and documentation standard to ensure long‑term maintainability.
See FORMATTING.md for full details.
Roadmap
Planned future modules & features are listed in great depth within the ROADMAD.md document.
Contributing
Contributions are welcome.
Please follow the formatting rules in FORMATTING.md and ensure all code is documented, tested, and consistent with the project’s architectural principles.
Contact
For licensing inquiries, contributions, or questions, please reach out to the project maintainer.
| 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 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
- NomadFramework.Nomad.Core (>= 1.1.0)
- NomadFramework.Nomad.CVars (>= 1.1.0)
- NomadFramework.Nomad.Events (>= 1.0.1)
- NomadFramework.Nomad.Logger (>= 1.0.2)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
-
net10.0
- NomadFramework.Nomad.Core (>= 1.1.0)
- NomadFramework.Nomad.CVars (>= 1.1.0)
- NomadFramework.Nomad.Events (>= 1.0.1)
- NomadFramework.Nomad.Logger (>= 1.0.2)
-
net8.0
- NomadFramework.Nomad.Core (>= 1.1.0)
- NomadFramework.Nomad.CVars (>= 1.1.0)
- NomadFramework.Nomad.Events (>= 1.0.1)
- NomadFramework.Nomad.Logger (>= 1.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.