BoxEngine 1.0.51-beta
See the version list below for details.
dotnet add package BoxEngine --version 1.0.51-beta
NuGet\Install-Package BoxEngine -Version 1.0.51-beta
<PackageReference Include="BoxEngine" Version="1.0.51-beta" />
<PackageVersion Include="BoxEngine" Version="1.0.51-beta" />
<PackageReference Include="BoxEngine" />
paket add BoxEngine --version 1.0.51-beta
#r "nuget: BoxEngine, 1.0.51-beta"
#:package BoxEngine@1.0.51-beta
#addin nuget:?package=BoxEngine&version=1.0.51-beta&prerelease
#tool nuget:?package=BoxEngine&version=1.0.51-beta&prerelease
BoxGameEngine
BoxEngine is a simple game engine for building 2D games in .NET.
Features
- Easy to use
- High performance
- Cross-platform
- Does not require an editor to create entities
- And much more...
Getting Started
- Install the package: - dotnet add package BoxEngine
- Usage example: - using Box; [STAThread] static void StartGame() { using var game = new Engine(new EngineSettings { Window = new Vect2(1920, 1080), Viewport = new(320, 180), Screens = [new BootScreen()], UseTextureHalfOffset = true, DebugDraw = false, }); game.Start(); } StartGame();
License
MIT
| Product | Versions Compatible and additional computed target framework versions. | 
|---|---|
| .NET | net7.0 is compatible. 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 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. | 
- 
                                                    net7.0- BoxPack (>= 1.0.0-alpha)
- Microsoft.Extensions.ObjectPool (>= 9.0.0)
- SFML.Net (>= 2.6.0)
 
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.56-beta | 128 | 5/10/2025 | |
| 1.0.55-beta | 57 | 5/10/2025 | |
| 1.0.51-beta | 129 | 5/8/2025 | |
| 1.0.50-beta | 138 | 5/7/2025 | |
| 1.0.46-beta | 135 | 5/7/2025 | |
| 1.0.45-beta | 132 | 5/4/2025 | |
| 1.0.44-beta | 138 | 4/20/2025 | |
| 1.0.43-beta | 166 | 4/17/2025 | |
| 1.0.42-beta | 168 | 4/17/2025 | |
| 1.0.41-beta | 175 | 4/15/2025 | |
| 1.0.40-beta | 80 | 3/29/2025 | |
| 1.0.38-beta | 116 | 3/28/2025 | |
| 1.0.37-beta | 116 | 3/27/2025 | |
| 1.0.36-beta | 455 | 3/26/2025 | |
| 1.0.34-beta | 458 | 3/26/2025 | |
| 1.0.33-beta | 455 | 3/25/2025 | |
| 1.0.32-beta | 458 | 3/25/2025 | |
| 1.0.30-beta | 447 | 3/24/2025 | |
| 1.0.26-beta | 77 | 2/28/2025 | |
| 1.0.25-beta | 82 | 2/27/2025 | |
| 1.0.23-beta | 68 | 1/15/2025 | |
| 1.0.22-beta | 43 | 1/15/2025 | |
| 1.0.20-beta | 69 | 1/12/2025 | |
| 1.0.18-alpha | 68 | 1/12/2025 | |
| 1.0.16-alpha | 81 | 1/5/2025 | |
| 1.0.15-alpha | 83 | 12/7/2024 | |
| 1.0.14-alpha | 76 | 12/7/2024 | |
| 1.0.13-alpha | 76 | 11/29/2024 | |
| 1.0.11-alpha | 77 | 11/18/2024 | |
| 1.0.10-alpha | 92 | 8/9/2024 | |
| 1.0.9-alpha | 91 | 7/27/2024 | |
| 1.0.8-alpha | 88 | 7/6/2024 | |
| 1.0.7-alpha | 92 | 7/1/2024 | |
| 1.0.6-alpha | 90 | 6/30/2024 | |
| 1.0.5-alpha | 100 | 6/29/2024 | |
| 1.0.4-alpha | 91 | 6/28/2024 | |
| 1.0.3-alpha | 85 | 6/28/2024 | |
| 1.0.2-alpha | 87 | 6/25/2024 | |
| 1.0.1-alpha | 122 | 6/25/2024 | |
| 1.0.0-alpha | 93 | 6/25/2024 | 
- Improved Renderer and RenderTarget performance, resulting in a 40% increase in frame rate.
    - Improved SaveTypeWriterReader: It will now attempt to compress files if the compressed size is smaller; otherwise, it will default to an uncompressed format.
    - Fixed and improved Sound Manager:
    --- All SoundManager.Play methods now return a SoundInstance, allowing you to set up transitions or other effects.
    --- Sound assets can now be set to always loop, eliminating the need to use blocking to keep them playing on a channel.
    --- Removed channel blocking, which also led to the removal of fade-in and fade-out functionality.
    --- Added functionality to check if a sound is playing on a channel based on either the sound asset or the sound instance.
    --- Added sound instance pan and sound channel pan, allowing sounds to be adjusted to play through the left or right speaker.
    --- Improved Master Channel behavior to function properly across all channels.
    - New Input System Features:
    --- Expanded Axis Input Handling:
    ------ Added GetKeyAxisPressed, GetKeyAxisReleased, and GetKeyAxisJustPressed for keyboard input.
    ------ Added GetGamepadAxisPressed, GetGamepadAxisReleased, and GetGamepadAxisJustPressed for gamepad input.
    --- Improved Action Handling:
    ------ Added action-based axis detection for gamepads and keyboards.
    ------ Supports IsActionPressed, IsActionReleased, and IsActionJustPressed for more precise input tracking.
    - Fixed a bug where the FPS counter incorrectly displayed 30 FPS, even when the actual frame rate was much higher.
    - Object Pool hs been updated to version 9.0.0.
    - Fixed a bug with bitmap font line height. Text now renders correctly and aligns as intended. 
    - Added ChildrenAs to improve child entity handling based on a type.
    - Added Camera Zoom
    - Bug with resizing the window.
    - Fixed a bug where enum arrays weren't appearing correctly in the map settings.
    - Fixed Rand.Range(int min, int max) to be inclusive of max
    - Updated Rand.Range(float min, float max) to properly include max
    - Ensured consistent clamping behavior in FloatRange and IntRange
    - Added FloatRange and IntRange structs for clamped value handling with min/max bounds
    - Improved value clamping and percent normalization in range types
    - Improved Entity property setters for Size, GlobalPosition, Visible, and Layer
    --- Now avoids redundant updates using distance/equals checks
		- Added support for DropTable system: load item drops from external `.table` files located in the `Tables/` directory.
		- Introduced DropTableDirectory class to manage, parse, and evaluate drop tables at runtime.
		- DropTables support weighted entries, quantity ranges, and roll modifiers.
		- Integrated into engine-level asset loading for easy reuse across entities, chests, and enemy types.
		- Added TimerTrigger to Box.Entities.Triggers. This entity triggers a callback after a specified duration. Supports one-shot or repeating modes and can be auto-started. Includes chainable methods: Start(), Stop(), Restart().
		- Added GridPanel for dynamic grid-based layout of entities. Supports configurable columns, spacing, alignment, and optional auto-sizing.