Install Asset
Install via Godot
To maintain one source of truth, Godot Asset Library is just a mirror of the old asset library so you can download directly on Godot via the integrated asset library browser
Quick Information
EasyChat (Godot 4.3 Add-on) EasyChat is a Godot 4.3 add-on designed to implement fully featured chat systems in games, both offline and multiplayer.MAIN GOALTo provide a production-ready, easy-to-integrate, and highly customizable solution, removing the need to build from scratch:- User interface (UI)- Text input flow- Command autocomplete- Presentation logicCORE COMPONENTS- Reusable node: EasyChat- Centralized configuration system: EasyChatConfigThis system allows full control over both behavior and appearance of:- Message history- Input field- Send button- Autocomplete- Notifications- Layout- Sounds- CommandsWHAT’S NEW IN VERSION 2.0.0?- More robust customization system- Per-element StyleBox support- Default styles preserved as fallbacks- Interactive Preview section in the editor:- Test states- Preview animations in real timeADDITIONAL FEATURESGlobal singleton to manage chat from any script:- enable()- disable()- add_message()- add_system_message()- Command system using ChatCommand resources- Keyboard navigation with autocomplete- Signals for seamless game logic integrationMULTIPLAYER SUPPORT- Optional integration with LinkUX- Reuse the same chat flow across different network backends- No changes required in game logicSUMMARYEasyChat is a modular, scalable, and UX-driven solution for adding professional in-game chat to Godot projects, reducing development time while maximizing both visual and functional customization.
EasyChat
EasyChat is a modular, reusable in-game chat and command console addon for Godot 4. Drop a single custom node into your UI, tune appearance and behaviour with resources, and optionally sync chat over the network when you pair it with LinkUx (LAN / online backends with the same game-side flow).
Whether you are building a single-player HUD, a co-op lobby, or a competitive session, EasyChat gives you history, autocomplete for / commands, notifications while the panel is closed, and a small global API so gameplay code can post system messages without juggling node references.
📑 Table of contents
- Features
- What’s new in 2.0.0
- Requirements
- Installation
- Quick start
- Documentation
- Project layout
- Credits
✨ Features
| Custom node | Registered editor type EasyChat (Control) with its own icon and live editor preview. |
| Global API | Autoload EasyChat for enable(), disable(), add_message(), add_system_message(), and more. |
| Robust customization | EasyChatConfig now centralizes a simpler but more powerful setup: colors, fonts, layout, animations, sounds, limits, and command list—share one .tres across scenes. |
| StyleBox per element | Assign custom StyleBox resources to history, input, send button, autocomplete, suggestion rows, and notifications while preserving built-in default styles. |
| Interactive preview tools | New Preview section in EasyChatConfig with editor buttons to rebuild, toggle sections, spawn sample messages/notifications, and preview show/hide animations instantly. |
| Expanded animations | All chat elements support NONE, FADE, FADE_UP, FADE_DOWN, FADE_LEFT, FADE_RIGHT, SLIDE_*, and SCALE, plus per-group Slide Distance controls in Animations. |
| Commands | ChatCommand resources with executed(args); autocomplete and keyboard navigation. |
| Offline & online | Works out of the box offline; enable multiplayer_enabled and LinkUx for real-time RPC chat. |
| Player-friendly | Open/close keys, optional “close on send”, floating notifications, and input that does not eat gameplay when the chat is closed. |
🚀 What’s new in 2.0.0
- Simplified and redesigned the customization workflow so setup is faster while still allowing deep visual control.
- Added
StyleBoxsupport across chat elements, enabling fine-grained skinning without losing the default fallback theme. - Added the new Preview tools in
EasyChatConfigfor direct editor-side testing of states, sample content, and animations. - Expanded animation options with directional fade variants (
FADE_UP/DOWN/LEFT/RIGHT) and per-subgroup slide distance values.
📋 Requirements
| Item | Required? | Notes |
|---|---|---|
| Godot 4.3 | Yes | Uses Godot 4 APIs (@export, typed signals, Tween, etc.). |
| LinkUx addon | Optional | Only if you turn on multiplayer_enabled on the EasyChat node and want networked chat. Expects autoload /root/LinkUx. |
Expected install path in your project:
res://addons/easychat/
📦 Installation
- Copy this repository’s
addons/easychatfolder (or the packaged addon folder) into your Godot project underres://addons/easychat/. - Open Project → Project Settings → Plugins.
- Enable EasyChat.
- (Optional) Install LinkUx and register it as an autoload if you plan to use multiplayer chat.
- Add an EasyChat node to a scene (for example under a
CanvasLayerthat covers the viewport).
That’s it—the plugin registers the EasyChat autoload and the custom node type automatically.
🚀 Quick start
1️⃣ Add the node
In your main UI or gameplay scene, add EasyChat from the Add Node dialog. The node fills the screen and anchors the chat bar to the bottom of the viewport.
2️⃣ Try it in-game
- Default open chat key:
T(configurable on the node). - Default close key:
Escape. - Type plain text and press Enter to send; lines starting with
/run commands.
3️⃣ Use the singleton from code
func _ready() -> void:
EasyChat.set_player_name("Ada") # Only if you want it to display a custom name (in multiplayer mode, it does this automatically)
EasyChat.enable() # You need to activate it to use it (you can deactivate it with disable())
func _on_match_started() -> void:
EasyChat.add_system_message("Match started — good luck!")
4️⃣ Optional: shared look
Create an EasyChatConfig resource (.tres), tweak styles, animations, and limits, assign it to the node’s config field, and reuse the same resource in other scenes.
5️⃣ Preview in the editor
In EasyChatConfig, use the Preview section buttons to:
- Rebuild and refresh the preview UI.
- Toggle History/Input/Autocomplete/Notifications visibility.
- Trigger show/hide animations for History Panel and Input Row.
- Spawn local/remote/system messages and notification samples.
- Quickly inspect command autocomplete visuals.
📚 Documentation
The official documentation is a website:
Then open EasyChat Official Documentation in your browser for the full interactive docs (navigation, EN / ES language toggle, and quick search).
🗂 Project layout
addons/easychat/
├── plugin.cfg # Plugin metadata
├── plugin.gd # EditorPlugin: autoload + custom type registration
├── easychat.gd # Global EasyChat singleton (facade)
├── easychat_node.gd # EasyChat Control node (UI, Input, Sync, etc.)
├── easychat_config.gd # EasyChatConfig resource
├── chat_command.gd # ChatCommand resource
├── icon.svg
└── icon.png
🙏 Credits
- EasyChat — IUX Games, Isaackiux · version 2.0.0 (see
plugin.cfg). - Designed to work alongside LinkUx for swappable multiplayer backends, but it can work without any problems offline (just uncheck the Multiplayer checkbox in EasyChatConfig).
EasyChat (Godot 4.3 Add-on)
EasyChat is a Godot 4.3 add-on designed to implement fully featured chat systems in games, both offline and multiplayer.
MAIN GOAL
To provide a production-ready, easy-to-integrate, and highly customizable solution, removing the need to build from scratch:
- User interface (UI)
- Text input flow
- Command autocomplete
- Presentation logic
CORE COMPONENTS
- Reusable node: EasyChat
- Centralized configuration system: EasyChatConfig
This system allows full control over both behavior and appearance of:
- Message history
- Input field
- Send button
- Autocomplete
- Notifications
- Layout
- Sounds
- Commands
WHAT’S NEW IN VERSION 2.0.0?
- More robust customization system
- Per-element StyleBox support
- Default styles preserved as fallbacks
- Interactive Preview section in the editor:
- Test states
- Preview animations in real time
ADDITIONAL FEATURES
Global singleton to manage chat from any script:
- enable()
- disable()
- add_message()
- add_system_message()
- Command system using ChatCommand resources
- Keyboard navigation with autocomplete
- Signals for seamless game logic integration
MULTIPLAYER SUPPORT
- Optional integration with LinkUX
- Reuse the same chat flow across different network backends
- No changes required in game logic
SUMMARY
EasyChat is a modular, scalable, and UX-driven solution for adding professional in-game chat to Godot projects, reducing development time while maximizing both visual and functional customization.
Reviews
Quick Information
EasyChat (Godot 4.3 Add-on) EasyChat is a Godot 4.3 add-on designed to implement fully featured chat systems in games, both offline and multiplayer.MAIN GOALTo provide a production-ready, easy-to-integrate, and highly customizable solution, removing the need to build from scratch:- User interface (UI)- Text input flow- Command autocomplete- Presentation logicCORE COMPONENTS- Reusable node: EasyChat- Centralized configuration system: EasyChatConfigThis system allows full control over both behavior and appearance of:- Message history- Input field- Send button- Autocomplete- Notifications- Layout- Sounds- CommandsWHAT’S NEW IN VERSION 2.0.0?- More robust customization system- Per-element StyleBox support- Default styles preserved as fallbacks- Interactive Preview section in the editor:- Test states- Preview animations in real timeADDITIONAL FEATURESGlobal singleton to manage chat from any script:- enable()- disable()- add_message()- add_system_message()- Command system using ChatCommand resources- Keyboard navigation with autocomplete- Signals for seamless game logic integrationMULTIPLAYER SUPPORT- Optional integration with LinkUX- Reuse the same chat flow across different network backends- No changes required in game logicSUMMARYEasyChat is a modular, scalable, and UX-driven solution for adding professional in-game chat to Godot projects, reducing development time while maximizing both visual and functional customization.