Core RPG handbook · Development build / version notes

Documentation / Tile Tick Core RPG / Designer

Dialogue, Shops & Chat

OSRS inspired RPG systems for Unity: skills, XP, combat, inventory, equipment, loot, NPCs, interactions, editor tools, and tile aware action flow.

On this page

Dialogue, chat, and shops give the demo a much more game like loop: NPCs can talk, reward items or XP, open shop interfaces, and share the same OSRS style lower chatbox space.

Dialogue system#

DialogueConversationDefinition contains nodes, choices, speaker text, and reward entries. DialogueManager runs the conversation, DialoguePanelUI presents the active node, and DialogueRewardService can grant inventory items, XP, or both.

ScriptPurpose
DialogueConversationDefinition, DialogueNode, DialogueChoiceScriptableObject driven conversation content.
DialogueRewardEntry, DialogueRewardServiceOptional rewards for tutorial NPCs, quests, or progression moments.
StartDialogueConversationNpcActionNPC action that starts a configured conversation.

Shops#

Shops are data driven inventories that NPCs can open through OpenShopNpcAction. ShopDefinition stores stock entries, while ShopManager, ShopSession, and ShopTransactionService handle active buying and selling behavior.

Shop pieceUse
ShopStockEntryDefines item, quantity, price behavior, and stock data.
ShopRuntimeStockTracks stock during play.
ShopTransactionResultReports whether a buy/sell operation succeeded and why.

Chatbox#

ChatboxController and ChatMessageLineUI support in game chat style message presentation. The chatbox can also serve as the area that dialogue takes over, matching the old school RPG flow.

  1. Create the NPC and add NpcInteractable, which implements IContextActionProvider.
  2. Add one or more inline NpcActionDefinition entries to the interactable’s Actions list and bind their handler components. These are serializable entries, not standalone assets.
  3. Use StartDialogueConversationNpcAction for tutors and story NPCs.
  4. Use OpenShopNpcAction for merchants.
  5. Wire the chatbox/dialogue UI once, then reuse it across NPC content.