RPG Creation Kit 2

project DESCRIPTION

Overview

The RPG Creation Kit 2 (or RCK) is a comprehensive framework I built in Unity and C#, engineered to simplify complex RPG development. Designed with a modular, data-driven architecture, it provides an extensive suite of editor tools and gameplay systems. My core focus was translating complex RPG systems into an accessible toolkit, allowing designers to rapidly iterate and develop deep RPGs through code-free, editor-oriented workflows.

The RCK was built from the ground up to be able to handle massive amounts of data, world transitions, and extensible gameplay systems. I was the sole architect and developer on this project, while also taking on a leadership role to direct and manage multiple 3D artists for the demo’s assets.

At the core of the RCK are several custom-built systems designed for scale and performance, including a seamless Open World Streaming system for managing massive cell-based worlds, a robust AI framework driven by custom Behavior Trees, a complete serialization architecture capable of saving and loading the exact state of the entire world, and a Scripting System.

To support designers and non-programmers, I’ve also developed several Editor Tools including a visual, node-based editor for branching Dialogues and Quests, everything supported by a centralized database system capable of managing thousands of objects.

Since its launch, the framework has been adopted by over 100 active users (as of February 2026) who started building games, extending the gameplay systems and tools, proving the stability, scalability, and overall viability of the architecture. I’ve also had the honor to manage my community and develop an official Documentation for the framework.


Components

An in-depth and technical view on the systems is available on the Documentation page.

Here is an overview, click on a Component for details:

Gameplay Elements

Gameplay Systems take a lot from western-RPGs such as The Elder Scrolls and Fallout, and are designed to support that kind of depth and complexity.

  • FPS & TPS Controllers: seamlessly synced together to support 1st Person and 3rd Person games.
  • Combat & Magic: data driven and easily tweakable via formulas, stats and locational damage.
  • Effects & Consumables: dynamic system for temporary enhancements, damage-over-time (such as poison), and consumable utility.
  • Compass & Quest Markers: dynamic compass system with auto-updating Points of Interest (POIs) and Quest Markers.
  • Mounts: customizable riding mechanics for horses or creatures, usable by both player and AI.
  • Reputation & Factions: that allows the tracking of relationships, alliances, and rivalries between Player->Factions and NPCs->Factions
  • Character Creation: for defining player appearance, starting class and stats.
  • Looting & Stealing: loot items in the world, containers (such as chests), set ownership to items and allow for stealing mechanics.
  • Trade System: vendor logic with buy/sell multipliers, stock refreshment, and currency handling.
  • Books & Notes: interactive interfaces for readable items that can trigger quests, teach spells, or allow for enviromental storytelling.
  • XP, Level up and Attributes: configurable XP curves, level-up logic, and attribute point distribution.
  • Sneaking & Pickpocketing: visibility-based detection logic, sneak attacks, and pickpocketing systems.
  • More!
AI

The RCK’s AI System manages complex NPCs and creatures behavior through Behavior Trees, high-level Goals, and adaptive conditional logic. It enables developers to design highly customizable routines and dynamic scenarios in which entities can respond to their surroundings.

AI is accesible and manageable anywhere during runtime, thanks to the Save System and World Serialization, AI can be edited even when not loaded, summoned, deleted or altered in any way possible.

The AI System differentiates:

  • Local AI: optimized to exist and operate within loaded Cells.
  • Persistent AI: that physically exists at anytime and is simulated continuously across the whole world, allowing for dynamic encounters.
Behavior Trees

Inspired by the Behavior Trees system in Unreal Engine, I’ve designed a custom written, node-based solution to create Behavior Trees that act as the “brain” of the AI and can be hotswapped at anytime in coincidence with the current AI’s goal.

Supports Live Debugging as well!

Open World Streaming & Cells

The Open World Streaming system leverages Unity’s scene-oriented workflow by splitting the whole World in Cells and only have a grid (3×3 by default) of cells fully loaded at once. Supports Distant Cell Rendering to load LODs of terrains and objects beyond the 3×3 grid.

The Cell System also allows for interiors, both being part of the outer world or present in dedicated Cells accessible via Doors.

Quest System

Built with a data-oriented approach. The Scripting Support allows the creation of complex, branching main and side quests that can alter the state of the world (for example, a faction taking over a whole City) and allow designers to freely iterate their ideas.

Dialogue System

The Dialogue System is built on a node-based graph editor to manage in game conversations, and fully supports robust conditional logic. This means that it can dynamically evaluate game states such as completed quests, NPCs alive or dead, player statistics, faction reputation and much more.

Items System

Ammo, equipment, consumables (potions, food), key items, melee and ranged weapons, firearms, and more are all defined using Scriptable Objects, which are then integrated directly into the core gameplay systems.

Inventory & Equipment

Slot-based management for equipment and weight-based inventory.

The Equipment System manages the Character basemesh as well, allowing to morph blendshapes and hide parts of the base mesh as gear pieces are equipped.

Day/Night Cycle

Fully integrated Day/Night cycle that can directly influence AI schedules and world states, allowing for dynamic events.

Events & Consequences

All the systems work together to allow triggering world-changing states and narrative consequences based on player and NPCs actions, such as a Faction taking over a City as the consequence of the Player deciding to side with that faction.

Save System

The Save System has been built to support truly large-scale RPG experiences. At its core is a structured JSON-based serialization system that captures and restores the complete state of the world. Every meaningful change is tracked, including NPC locations, AI routines and goals, faction relationships, combat states, player inventory and equipment, dropped or stolen items, quest progression, branching decisions, reputation shifts, and dynamic world events.

The core principle I’ve adopted was scalability. Every system (AI, quests, inventory, factions, etc) serializes independently through a unified Save Manager, ensuring clean and organized data handling and support for future features to be seamlessly integrated into existing savegames.

The data-driven approach allows for any new content, such as quest, item, faction, etc, to be automatically registered and tracked by the save system without requiring writing additional save logic or manual integration.

This design also makes the entire framework fully ready for DLC and post-launch content as well. New locations, questlines, factions, items, mechanics, and even entire worldspaces can be introduced into existing player saves without corruption or breaking progression of existing playthroughs.

Scripting Support

Provides access to core functionalities for all skill levels, combining intuitive Editor Windows for visual design with versatile APIs and Event Hooks to be used by programmers.

Editor Tools

Specialized inspectors and Editor Windows designed to automate configuration and streamline the workflow.


editor OVERVIEW