Skip to content


Switch branches/tags

Latest commit

- VSCode extension
- Dynamic type construction for speeding up & bullet variable access
- Bullet update parallelization

Git stats


Failed to load latest commit information.


Danmokou is a danmaku (bullet hell) engine built in C# for Unity. It is free (as in free speech) software. The source code is on Github:

See the website for a friendly introduction to what DMK can do.

Setup and tutorial instructions can be found here.

The changelog can be found here.

Documentation can be found here.

There is a VSCode extension for DMK's scripting language, which can be found here.


The source code is licensed under MIT. See the Danmokou.LICENSE file for details, as well as information on non-code assets. Note that submodule projects may have different licenses.


Is there a tutorial?

Go to for setup and tutorial instructions

Are there any examples?

For real game code, look in the directory MiniProjects/Scripts, which contains boss scripts for recent short games I've made. You can also check out the scripts from Spirits in Memetic Paradise if you have that installed as a submodule.

Under the Patterns folder, everything in examples and feature testing should work. The scripts there are fairly simple, but don't have many comments.

The files under demo are from old scripts. They may not work, as the engine has gone through a lot of changes since then.

The scripts under Tests are guaranteed to work, but they won't make any sense if you run them, so don't bother.

How difficult is it to port scripts from (DNH/LuaSTG/etc) to this engine?

You'd have to rewrite any scripts from scratch. The scripting language is highly opiniated. For example, there are no for loops (instead, there are repeater objects).

Can I submit PRs?

You may freely submit PRs for bugfixes or new features. If you submit a PR, you must license that code under MIT or a MIT-compatible license. If you would like to submit non-code resources, please contact me.

How do I contact you?

Email (keys on or contact me on Discord (Bagoum#4773).

Why Unity?

Honestly, I'd rather not be using Unity, but I don't know of any engines which support all this project's requirements, and at this point there's too much investment in Unity-specific handling to have a simple port.

What does Danmokou mean?

See Chapter 18 of IoMIoE.

What does 陰陽葬 mean?

This is the Japanese title for my Touhou fangame Spirits in Memetic Paradise. You can play it here.


This repository has some test coverage.

In Unity, there are "edit-mode tests", which can be run statically, and "play-mode tests", which are run while the game is running.

Definitions for these tests are under Assets/Plugins/Danmokou/Testing/Tests and Assets/Plugins/Self/Testing/PlayTests respectively.

Most play-mode tests operate by running some state machine and checking the output game state. State machines used for testing are in the folder Assets/Pattern/Tests.

Scenes used for play-mode tests are in the folder Assets/Scenes/Testing.


A bullet hell engine for Unity.








No packages published