Skip to content

Latest commit

 

History

History
78 lines (52 loc) · 4.39 KB

README.md

File metadata and controls

78 lines (52 loc) · 4.39 KB

Textalog - A DialogSystem Plugin for Godot Engine

Godot Engine GitHub license GitHub issues Godot Engine


Twitter: @AnidemDex

An user-friendly dialog system for Godot Engine with characters, text boxes, dialog bubbles and many more (planned) features for your games.

Note: If you find a bug, or want a feature to be included, feel free to open a new issue. You can also send me a message on twitter or join us on Discord.

Features

🪧 DialogNode and 🗨️ DialogBubble

A node implementation for dialog box and dialog bubble, fully customizable and build with common dialog commands to improve your game development in the dialogue interaction.

  • DialogNode DialogNode

  • DialogBubble

🐱‍👤 Characters and 🖼️ Portraits

Characters are data containers to describe what expressions (portraits) are going to be used in dialogue and what properties of the dialogue will be overriden during the gameplay.

character editor

🎨 Customization through Godot's Themes

Modify the DialogNode through themes!

Theme Customization

Use it as a Dialog System!

The plugin can help you creating sequences of dialogs and dialog branches to certain conditions, all in the editor, thanks to its integration with EventSystem.

You can create the entire dialog sequence through code too!

See more about this implementation on the documentation.

🚩 Installation

Download the lastest release and extract the ZIP file. Move the addons folders to the root of your project. Finally, enable the plugin in your project settings, under plugins tab. It's that easy!

You can take a look in a more detailed tutorial in the plugin's documentation. If you want more information about installing plugins in Godot, please refer to official documentation page.

If you're downloading the repository instead, make sure to move only textalog to your addons folder. Extra files and folders are for debug purposes.

🧵 Usage

Quick example to try the most simple functionality: showing text on the screen.

extends Node

func _ready() -> void:
  # Creates a new DialogNode instance
  var dialog_node = DialogNode.instance()
  # Add the node as child
  add_child(dialog_node)

  # Show an string. BBCode works too!
  dialog_node.show_text("Hello world!")

⚠️ Control node and Node2D node types are incompatible. If you want to add the DialogNode as child of a Node2D type, make sure to give it a proper rect_size, add it as child of a CanvasLayer or add it in the scene, not in code.

📚 Documentation

Now we have an official documentation! All the information about the plugin you will find it organized in the documentation page. Tutorials, class information, FAQ and more will be added there, eventually.

Want to see the whole changelog? Take a look on the documentation, the Changelog section.