Meatcorps.Engine.Core 0.1.4

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.4
                    
NuGet\Install-Package Meatcorps.Engine.Core -Version 0.1.4
                    
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.4" />
                    
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.4" />
                    
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.4
                    
#r "nuget: Meatcorps.Engine.Core, 0.1.4"
                    
#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.4
                    
#: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.4
                    
Install as a Cake Addin
#tool nuget:?package=Meatcorps.Engine.Core&version=0.1.4
                    
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.Assets

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

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