Kni is a simple and powerful .NET framework for creating games for desktop PCs, and mobile devices using the C# programming language.
It is an open-source re-implementation of the discontinued Microsoft's XNA Framework. Kni is a derivative of MonoGame & XNA Touch.
We support a growing list of platforms across the desktop, mobile, and console space. If there is a platform we don't support, please make a request or come help us add it.
- Windows 8.1 and up (OpenGL & DirectX)
- Windows Store Apps (UWP)
- Oculus VR (OvrPC/DirectX)
- Linux (OpenGL)
- macOS 10.15 and up (OpenGL)
- Android 6.0 and up (OpenGL)
- iPhone/iPad 10.0 and up (OpenGL)
- Web Browsers (WebGL)
If you think you have found a bug or have a feature request, use our issue tracker. Before opening a new issue, please search to see if your problem has already been reported. Try to be as detailed as possible in your issue reports.
If you need help using Kni or have other questions we suggest you post on our community forums. Please do not use the GitHub issue tracker for personal support requests.
If you are interested in contributing fixes or features to Kni, please read our contributors guide first.
The full source code is available here from GitHub:
- Clone the source:
git clone https://github.com/kniengine/kni.git
- Set up the submodules:
git submodule update --init
- Open the solution for your target platform to build the game framework.
- Open the Tools solution for your development platform to build the pipeline and content tools.
For the prerequisites for building from source, please look at the Requirements file.
A high level breakdown of the components of the framework:
- The game framework is found in MonoGame.Framework.
- The core math types are located in src/Xna.Framework.
- The Design converters are located in src/Xna.Framework.Design.
- The content pipeline is located in src/Xna.Framework.Content.Pipeline.
- Project templates are in Templates.
- See Tests for the framework unit tests.
- See Tools/Tests for the content pipeline and other tool tests.
- mgcb is the command line tool for content processing.
- KNIFXC is the command line effect compiler tool.
- The pipeline-editor tool is a GUI frontend for content processing.
- monogame.net.
- Our issue tracker is on GitHub.
- Use community forums for support questions.
- You can join the Discord server and chat live with the core developers and other users.
- The MonoGame documentation.
- Download release and development tools Releases.
The Kni project is under the Microsoft Public License except for a few portions of the code. See the LICENSE.txt file for more details. Third-party libraries used by KNI are under their own licenses. Please refer to those libraries for details on the license they use.
While KNI is free and open-source, maintaining and expanding the framework requires ongoing effort and resources. We rely on the support of our community to continue delivering top-notch updates, features, and support. By becoming a Sponsor, you can directly contribute to the growth and sustainability of the KNI Game Framework.