Meatcorps.Engine.Core 0.1.9

There is a newer version of this package available.
See the version list below for details.
dotnet add package Meatcorps.Engine.Core --version 0.1.9
                    
NuGet\Install-Package Meatcorps.Engine.Core -Version 0.1.9
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Meatcorps.Engine.Core" Version="0.1.9" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Meatcorps.Engine.Core" Version="0.1.9" />
                    
Directory.Packages.props
<PackageReference Include="Meatcorps.Engine.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Meatcorps.Engine.Core --version 0.1.9
                    
#r "nuget: Meatcorps.Engine.Core, 0.1.9"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Meatcorps.Engine.Core@0.1.9
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Meatcorps.Engine.Core&version=0.1.9
                    
Install as a Cake Addin
#tool nuget:?package=Meatcorps.Engine.Core&version=0.1.9
                    
Install as a Cake Tool

Meatcorps.Engine.Core

Meatcorps.Engine.Core is the foundational library of the Meatcorps Engine.
It provides the core building blocks, contracts, and utilities used by higher-level engine modules (such as rendering, input backends, and hardware integration).

This package is engine-agnostic: it contains no rendering, windowing, or platform-specific code.


What This Package Is

Meatcorps.Engine.Core contains:

  • Core data types and math primitives
  • Input abstraction and player routing
  • Object and module management
  • Timing, tweening, and animation helpers
  • Resource, storage, and security contracts
  • Grid and spatial utilities
  • Low-level utilities used throughout the engine

It is designed to be:

  • Deterministic
  • Modular
  • Testable
  • Free of framework or engine dependencies

What This Package Is Not

  • No Raylib, SDL, or graphics code
  • No UI or rendering logic
  • No platform-specific APIs
  • No opinionated game logic

Those live in separate packages.


High-Level Architecture

The Core package focuses on contracts and behavior, not implementation details.

Typical dependency flow:

Game

  • Engine Modules (Raylib, SDL, Hardware, etc.)
  • Meatcorps.Engine.Core

Game code generally interacts with Core through:

  • Interfaces
  • Enums
  • Routers and managers
  • Stateless helpers

Main Namespaces

Meatcorps.Engine.Core.GridSystem

Spatial and grid-based utilities used for:

  • Broad-phase spatial queries
  • Entity placement
  • Grid-driven gameplay systems

Includes:

  • GridAnalyzerYZ
  • SingleEntityGrid
  • SpatialEntityGrid

Meatcorps.Engine.Core.Data

Lightweight value types used across the engine:

  • Rect, RectF
  • PointInt
  • SizeF
  • MarginF, PaddingF
  • LineF

These are allocation-free and framework-independent.


Meatcorps.Engine.Core.Enums

Shared enums used across systems:

  • ConfigValueType
  • PlayerInputType
  • EaseType

Meatcorps.Engine.Core.Extensions

Extension methods for common types:

  • String, Integer, Float
  • Enum
  • Vector2, Matrix3x2
  • PointInt, RectangleF

Meatcorps.Engine.Core.Input

A layered, decoupled input abstraction system supporting:

  • Multiple hardware backends
  • Player-specific routing
  • Action mapping via enums
  • Axis aggregation
  • Input-driven animations and feedback

Key components:

  • IInput, BaseInput
  • Generic mappers
  • PlayerInputRouter<T>
  • InputManager<T>

This namespace defines input semantics, not hardware.


Meatcorps.Engine.Core.ObjectManager

Central object and service registry used for:

  • Dependency resolution
  • Lifetime management
  • Global service access

Designed to remain lightweight and explicit.


Meatcorps.Engine.Core.Modules

Module contracts and lifecycle hooks used to:

  • Register engine subsystems
  • Control initialization and teardown order

Meatcorps.Engine.Core.Resource

Resource-related contracts and helpers, including:

  • Resource ownership rules
  • Pooling utilities
  • Async-safe patterns

Meatcorps.Engine.Core.Security

Security and integrity-related abstractions, such as:

  • Encryption contracts
  • Secure resource handling

(Implementation is provided by higher-level modules.)


Meatcorps.Engine.Core.Server

Minimal server and application loop utilities:

  • ServerApplication
  • SimpleGameLoop

Useful for headless or service-based scenarios.


Meatcorps.Engine.Core.Storage

Abstractions for configuration and persistence:

  • IKeyValueDatabase
  • IUniversalConfig

Allows engine and games to remain storage-agnostic.


Meatcorps.Engine.Core.Tween

Tweening and interpolation helpers used for:

  • Animation
  • Easing
  • Smooth value transitions

Includes easing support via EaseType.


Meatcorps.Engine.Core.Utilities

Math helpers
  • MathHelper
  • PrimitivesHelper
Resources and pools
  • ResourcePool
  • ThreadSafeList
  • RandomEnum
  • ResetValue
Sensors and timers
  • FixedTimer
  • EdgeDetector
  • PulseTimer
  • TimerOn
  • TimerOff
  • SmoothValue
  • FrameTimer
Other helpers
  • Direction
  • BufferedDirection
  • UVHelper
  • FileUtilities

Documentation

Full reference documentation is available in the GitHub Wiki:

https://github.com/meatcorps/Engine/wiki/Documentation

The wiki is intended as a reference guide, not a tutorial.


Design Goals

  • Clear separation of concerns
  • No hidden global state
  • Predictable behavior
  • Long-term maintainability
  • Suitable for arcade, desktop, and embedded environments

License

MIT License
See LICENSE for details.

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages (13)

Showing the top 5 NuGet packages that depend on Meatcorps.Engine.Core:

Package Downloads
Meatcorps.Engine.Hardware.Controllers

Meatcorps.Engine is a lightweight, code-first game framework built on top of Raylib. This is the Game Controller package

Meatcorps.Engine.Logging

Meatcorps.Engine is a lightweight, code-first game framework built on top of Raylib. This is the Logging package

Meatcorps.Engine.RayLib

Meatcorps.Engine is a lightweight, code-first game framework built on top of Raylib. This is the primary Meatcorps Engine RayLib package

Meatcorps.Engine.Signals

Meatcorps.Engine is a lightweight, code-first game framework built on top of Raylib. This is the signals package

Meatcorps.Engine.MQTT

Meatcorps.Engine is a lightweight, code-first game framework built on top of Raylib. This is the Logging package

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.17-preview.19 49 2/25/2026
0.1.17-preview.18 57 2/25/2026
0.1.17-preview.17 50 2/24/2026
0.1.16 429 2/20/2026
0.1.15 438 2/14/2026
0.1.14 428 2/14/2026
0.1.13 433 2/14/2026
0.1.11 428 2/14/2026
0.1.10 425 2/14/2026
0.1.9 436 1/12/2026
0.1.8 414 1/11/2026
0.1.7 409 1/10/2026
0.1.6 411 1/10/2026
0.1.5 404 1/10/2026
0.1.4 434 1/4/2026
0.1.0 500 1/4/2026