mukia-engine 0.3.3

dotnet add package mukia-engine --version 0.3.3
                    
NuGet\Install-Package mukia-engine -Version 0.3.3
                    
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="mukia-engine" Version="0.3.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="mukia-engine" Version="0.3.3" />
                    
Directory.Packages.props
<PackageReference Include="mukia-engine" />
                    
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 mukia-engine --version 0.3.3
                    
#r "nuget: mukia-engine, 0.3.3"
                    
#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 mukia-engine@0.3.3
                    
#: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=mukia-engine&version=0.3.3
                    
Install as a Cake Addin
#tool nuget:?package=mukia-engine&version=0.3.3
                    
Install as a Cake Tool

<div align="center">

<h3>Mukia</h3> An open-source Game Engine

<i>Engine Test</i>

</div>

Use the Project

Prerequisite: DOTNET

Using Bash

  1. Download and extract the release (NOTE: gzip decompressor needs to be manually installed)
  2. Run the script

Manually

  1. Download and extract the release (NOTE: gzip decompressor needs to be manually installed)
  2. Remove the install.sh as it's not needed
  3. Create a Project Directory
  4. Open the Terminal into your Project Directory and run dotnet new console
  5. Then, run dotnet add package mukia-engine
  6. Finally, move all files in install-assets and move the folders: resources and shaders

Scenes

Loading Demo Scene

ZombieSurvial demo

When getting an error check:

  1. Does the scene folder have any malformed text
  2. Is this resource\scene\ directories is created
  3. Forgot to add the SaveNode attribute, or uses the wrong name
  4. Make an issue on the github project

Publish Game

To publish your code use:

dotnet publish --output <output> -r <os> --self-contained

Loading Scenes

ZombieSurvial load <path-to-scene>

When recieving an error, do the same steps in the Loading Demo Scene.

Scene Formating

Editing a file scene directly is not suggested

Node should always come first

A node declearation should be the first thing in scene, with all of the properties under it.

e.g.

# Node
[engine.camera local-id='1' parent='0']
	# Properties of Node
	MukiaEngine.Vector3 Position={"X":0,"Y":0,"Z":0}
	MukiaEngine.Vector3 Rotation={"X":0,"Y":0,"Z":0}
	MukiaEngine.Vector3 Scale={"X":1,"Y":1,"Z":1}
	System.String Name="PlayerCamera"

Type Name=Value

Node declearation properties should be as follows:

  • Type: as in full name (so float becomes System.Single) and be or inherit the type in the node class.
  • Name: The name should also be in a valid name, in the node's type
  • Value: in the JSON format (allows for number literals like NaN or infinity)

local-ids should not duplicate

Local id's should be unique and should not be duplicate in multiple Node declearations. For example:

# fine
[engine.node local-id"1" parent="parent"]
# results in error, or unknown behaviour
[engine.node local-id"1" parent="parent"]

No parent is a 0

To declear that node is parented to tree, add 32 0s.

[engine.node local-id"1" parent="0"]

Meshes

To convert a .obj to a mesh usable in the Engine.

  1. Export the mesh as an .obj

In blender, File/Export/Wavefront (.obj).

  1. Use the command:
py tools/mesh_converter.py [obj-file-here] [export-file-here]

To be noted, the script only supports .obj files and is surport to handle one object.

Product 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.

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
0.3.3 125 8/16/2025
0.3.2 168 8/15/2025