HexaEngine.Core
1.0.0
Prefix Reserved
dotnet add package HexaEngine.Core --version 1.0.0
NuGet\Install-Package HexaEngine.Core -Version 1.0.0
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="HexaEngine.Core" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HexaEngine.Core" Version="1.0.0" />
<PackageReference Include="HexaEngine.Core" />
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 HexaEngine.Core --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: HexaEngine.Core, 1.0.0"
#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 HexaEngine.Core@1.0.0
#: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=HexaEngine.Core&version=1.0.0
#tool nuget:?package=HexaEngine.Core&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
HexaEngine
<p align="center"> <img width="300" height="300" src="https://raw.githubusercontent.com/JunaMeinhold/HexaEngine/master/icon.png"> </p>
A work in progress Game Engine written in C#, aiming for high performance and cross-platform compatibility (currently only Windows). It incorporates SIMD optimizations and multithreading throughout. The engine adopts an ECS-like approach but with unique twists to enhance flexibility and performance.
Community
- Discord: https://discord.gg/VawN5d8HMh
Sub-Projects/Modules
- Hexa.NET.DebugDraw A library for drawing basic 3D shapes in immediate-mode.
- Hexa.NET.Math A math library for Game Engines (Vector math to Sky models).
- Hexa.NET.Utilities A utility library for working with unmanaged memory and more.
Build
- .NET SDK 8.0
Platforms
| OS | Supported |
|---|---|
| Windows (10 & 11) | ✅ |
| Linux | 🚧 |
| Android | 🚧 |
| macOS | 🚧 |
Graphics Backends
| API | Supported |
|---|---|
| D3D11 | ✅ |
| D3D12 | 🚧 |
| Vulkan | 🚧 |
| OpenGL | ❌ |
(For more info on OpenGL, see #81)
Audio Backends
| API | Supported |
|---|---|
| OpenAL Soft | ✅ |
| XAudio2 | 🚧 |
Features
Integrated Level Editor
- Project Management
- Package Manager
- Plugin System
- Advanced and flexible asset import pipeline supporting async
- Git Integration
- Performance Profiler (WIP)
- Integrated text editor
- Integrated image editor
- Node-based material editor
- Intuitive terrain editor with procedural generation
- And much more...
Physics (PhysX 5.3.1)
- Colliders:
- Box
- Capsule
- Convex Mesh
- Mesh
- Plane
- Sphere
- Terrain
- Rigid Bodies (Static, Dynamic, Kinematic)
- Character Controllers:
- Capsule
- Box
- Joints:
- Ball
- D6
- Distance
- Fixed
- Hinge
- Slider
Engine Architecture
- ECS-like Scene Architecture with support for data-driven and non-data-driven execution
- Multi-threaded scene updates (Rendering and Scene ticks run in parallel for maximum performance)
- Thread-Safe Resource Management via Factories with automatic cleanup
- Abstraction layer for various Graphics and Audio APIs like D3D11, D3D12, Vulkan, OpenALSoft, and XAudio2 + X3DAudio
- Asynchronous loading for meshes and more
- Thread-safe caches with lazy disk writing
Scripting with C#
- Unity-like Coroutines with reusable coroutines
- Job-System with reusable jobs
- Multithreaded script execution (coming soon)
- Order of execution via DAG and Priorities (coming soon)
- Scene-independent Global Scripts (coming soon)
- Scene Queries for fast accessing a specific GameObject or Component depending on user-defined filters via events
- Easy integration of editor variables using the [EditorProperty] Attribute
- Unity-like Input System (offers maximum flexibility)
Rendering
- Physically based Rendering (Roughness, Metallic, Reflectance, AO Workflow)
- SDR (Gamma 2.2 Rec. 709) and HDR10 (SMPTE ST 2084 Rec. 2020) support with automatic switching.
- Skinned Mesh Rendering
- Multi-Layered Terrain rendering with optional GPU Tessellation
- Level of detail:
- LOD Generator (Fast Quadric Mesh Simplification)
- GPU Particle Systems:
- Render over thousands particles without performance impact
- Lighting:
- Ambient Lights
- Directional Lights
- Point Lights
- Spotlights
- Global Illumination over IBL importance sampling, SSGI, and Voxel Global Illumination (coming soon)
- Skybox Models:
- Environment Texture
- Hosek Wilkie
- Preetham
- Custom Sky
- Shadow Mapping:
- Perspective Shadow Mapping (PSM)
- Omni Directional Shadow Mapping (OSM)
- Dual Parabolic Shadow Mapping (DPSM)
- Cascaded Shadow Mapping (CSM)
- A Shadow Atlas for OSM DPSM and PSM
- Percent Closer Filter, Variance Shadow Mapping, and more
- Hybrid renderer (Clustered Forward and Clustered Deferred)
- Many post-processing effects (including DoF, SSR, Tonemapping, LUT, Bloom, Motion blur)
- Ambient Occlusion (SSAO, HBAO+, GTAO, and ASSAO are coming soon)
- Frustum and Occlusion Culling (GPU based)
UI System (WIP)
- XAML Support
- Routed events
- Automatic layouting
- Controls:
- Button, TextBox, Image, Grid, StackPanel
Audio System
- Playing Wav files
- 3D-Spatial audio processing
- Listeners
- Emitters
Screenshots
Credits
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. 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.
-
net9.0
- Hardware.Info (>= 101.0.0)
- Hexa.NET.Assimp (>= 1.0.3)
- Hexa.NET.DebugDraw (>= 2.3.2)
- Hexa.NET.FreeType (>= 1.1.1)
- Hexa.NET.ImGui (>= 2.2.6)
- Hexa.NET.ImGui.Backends.SDL3 (>= 1.0.14-preview)
- Hexa.NET.ImGuizmo (>= 2.2.6)
- Hexa.NET.ImNodes (>= 2.2.6)
- Hexa.NET.ImPlot (>= 2.2.6)
- Hexa.NET.Logging (>= 2.0.0)
- Hexa.NET.Math (>= 2.0.3)
- Hexa.NET.SDL3 (>= 1.2.13)
- Hexa.NET.Shaderc (>= 1.0.0)
- Hexa.NET.SPIRVCross (>= 1.0.1)
- Hexa.NET.SPIRVReflect (>= 1.0.1)
- Hexa.NET.Utilities (>= 2.2.1)
- HexaGen.Runtime (>= 1.1.17)
- K4os.Compression.LZ4.Streams (>= 1.3.8)
- Microsoft.CodeAnalysis.CSharp.Scripting (>= 4.12.0)
- Newtonsoft.Json (>= 13.0.3)
- Newtonsoft.Json.Bson (>= 1.0.3)
- System.IO.Hashing (>= 9.0.0)
- System.Net.Http (>= 4.3.4)
- System.Text.Json (>= 9.0.0)
- System.Text.RegularExpressions (>= 4.3.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 161 | 10/30/2025 |