VR Dungeon Knight

DK Reforged

Same dungeon, same knight —
rebuilt from the inside.

BepInEx 5 mod. The game shipped incomplete and the developer moved on. DK Reforged adds a mod API, a custom rooms SDK, and incrementally rewrites the internals into patchable components. At every step the game is fully playable and existing mods keep working.

For players

Fixes a double-hit bug where weapons occasionally dealt damage twice on the same collision. More fixes follow as each system is rewritten. No gameplay changes — the dungeon plays exactly as it did.

For mod authors

Subscribe to game events without writing a Harmony patch or touching internal classes. As systems get rewritten, each becomes a small, documented, patchable component. Declare a BepInDependency on DK Reforged for stable API contracts across versions.

DKREvents

A static class. Subscribe in Awake(), unsubscribe in OnDestroy(). No patching required.

Also included: EnemyRegistry — enumerate and track all live enemies without touching game internals.

  • OnEnemyDiedAn enemy was killed
  • OnEnemyHitAn enemy took damage (includes amount)
  • OnDamageTakenPlayer took damage (includes post-armor amount)
  • OnPlayerDiedA player died
  • OnBossDiedThe boss was killed
  • OnParryA parry or counter-parry landed
  • OnRoomLoadedA new dungeon room became active
  • OnRoomClearedAll enemies in the room are dead
  • OnDungeonCompleteThe dungeon was completed
  • OnLevelUpPlayer levelled up (includes new level)
  • OnItemGrabbedPlayer grabbed an item (includes which hand)
  • OnItemDroppedPlayer dropped an item
  • OnItemBeltedAn item was placed on the belt

Build your own
dungeon rooms.

Build rooms in Unity — geometry, enemies, traps, loot — export as an asset bundle, drop it in the BepInEx data folder. DK Reforged injects it into the dungeon pool at the start of every solo run.

No code required. Enemies navigate the room automatically (NavMesh is baked into the bundle). Named GameObjects in Unity control spawn positions. Rooms declare which dungeon slot they appear in.

Read the tutorials →
1
Set up your project
Unity project template with the SDK pre-configured. Configure rooms.json and build.
2
Design your room
Place geometry, enemies, traps, and loot using named GameObjects. Bake the NavMesh.
3
Export the bundle
Build the .rooms asset bundle from Unity. One click.
4
Drop it in and play
Place the bundle in BepInEx\data\fantastic-jam-DKReforged\rooms\. DK Reforged picks it up automatically.

Status

Shipped

  • DKREvents (all 13 events)
  • EnemyRegistry
  • Custom Rooms SDK
  • Custom rooms pool routing
  • NavMesh support for custom rooms
  • TestRoom config option
  • Double-hit fix

In progress

  • MasterManagerScript rewrite — game's main state hub into focused components

Planned

  • EnemyAI rewrite — unlocks new enemy behaviours as simple classes
  • PlayerManager rewrite — unlocks new player interactions and locomotion
  • WeaponDamage rewrite — unlocks new weapon types via an interface