Check out our latest project ✨ OpenChapter.io: free ebooks the way its meant to be 📖

LinkUx

An asset by IUXGames
The page banner background of a mountain and forest
LinkUx hero image

Quick Information

0 ratings
LinkUx icon image
IUXGames
LinkUx

LinkUx (Godot 4.2+ Add-on)LinkUx is a Godot 4.2+ add-on designed to simplify multiplayer development by providing a unified and scalable networking layer for both local and online play.MAIN GOALTo offer a production-ready, backend-agnostic solution that abstracts networking complexity, allowing developers to focus on gameplay instead of low-level implementation details:- Session management- Player synchronization- Scene coordination- State replication- RPC routingCORE COMPONENTS- Global Autoload API: LinkUx- Backend system: NetworkBackend (pluggable)This system provides full control over multiplayer flow and behavior, including:- Sessions (create, join, close)- Player lifecycle and authority- Scene loading and readiness synchronization- Entity spawning and destruction- Property replication and interpolation- Message and RPC routing- Tick-based updatesWHAT’S NEW IN VERSION 2.0.0?- Modular backend architecture with LAN (ENet) support- Improved state replication system with snapshot/delta handling- Synchronization helpers with inspector integration- Scene synchronization with host-driven flow- Enhanced debugging tools and network stats- Cleaner API with stronger separation of concernsADDITIONAL FEATURESGlobal singleton to manage networking from any script:- create_session()- join_session()- close_session()Advanced multiplayer systems:- LinkUxEntity for replicated objects- LinkUxSynchronizer for property syncing- LinkUxSpawner for networked instantiation- MessageRegistry and RpcRelay for structured communication- Debug logger and performance helpers- Editor plugin with custom inspectors and toolsMULTIPLAYER SUPPORT- Built-in LAN backend using ENet- Designed for easy integration of future online backends- Same gameplay code works across different network transports- Ideal for co-op and small competitive games (listen-server model)SUMMARYLinkUx is a modular, backend-agnostic, and developer-focused networking solution for Godot, enabling robust multiplayer systems with minimal friction while maintaining full flexibility and scalability.

Supported Engine Version
4.2
Version String
2.0.0
License Version
MIT
Support Level
community
Modified Date
2 hours ago
Git URL
Issue URL

LinkUx

README Godot 4 README Version

LinkUx is a multiplayer abstraction addon for Godot 4. It exposes one high-level Autoload API (LinkUx) while routing traffic through pluggable backends—today LAN (ENet) with a clean path for online transports later—so gameplay code stays the same whether players join over the local network or the internet.

Sessions, players, scene readiness, authority, state replication, RPC routing, late join, and tick helpers are coordinated internally. You configure the active backend, call create_session / join_session / close_session, react to signals, and attach optional nodes such as LinkUxEntity, LinkUxSynchronizer, and LinkUxSpawner where you need replicated entities and properties.


📑 Table of contents


✨ Features

Single public API One LinkUx Autoload: sessions, signals, helpers, and typed message routing.
Swappable backends NetworkBackend contract; LAN backend included (binary protocol on top of ENet). Online-oriented backends can be added without rewriting game flow.
Listen-server friendly Peer-to-host style session and authority model aligned with typical co-op / small competitive games.
State replication StateReplicator + LinkUxSynchronizer for snapshots / deltas and optional interpolation.
Scene sync Host-driven scene load / ready gates so all peers transition together.
Spawning LinkUxSpawner for replicated spawn and teardown of entity scenes.
RPC & messages MessageRegistry with serialization helpers and RpcRelay for routing where the transport requires it.
Debug & tooling Debug logger, hooks, network stats helpers, and an inspector plugin for configuring sync_properties on synchronizers.
Editor integration Plugin registers the LinkUx autoload on enable; custom node types with icons.

📋 Requirements

Item Required? Notes
Godot 4.2+ Yes Developed and tested on Godot 4.x (see plugin.cfg).
Same addon version Yes All players must share a compatible protocol_version.gd build or joins may fail with PROTOCOL_VERSION_MISMATCH.

Expected install path in your project:

res://addons/linkux/

📦 Installation

  1. Copy this repository’s addons/linkux folder into your Godot project under res://addons/linkux/.
  2. Open Project → Project Settings → Plugins.
  3. Enable LinkUx — the editor registers the LinkUx autoload (see plugin.gd and linkux.tscn).
  4. Configure your default backend / resources (for example LinkUxConfig and LanBackendConfig) as described in the docs.
  5. From gameplay / UI code, call LinkUx.create_session(...), LinkUx.join_session(...), etc.

🚀 Quick start

1️⃣ Verify the autoload

After enabling the plugin, you should see LinkUx under Project → Project Settings → Autoloads, pointing at res://addons/linkux/linkux.tscn.

2️⃣ Host or join from code

func _on_host_pressed() -> void:
    var err := LinkUx.create_session("My Lobby", 8, {})
    if err != NetworkEnums.ErrorCode.SUCCESS:
        push_error("create_session failed: %s" % err)


func _on_join_pressed(info: SessionInfo) -> void:
    var err := LinkUx.join_session(info)
    if err != NetworkEnums.ErrorCode.SUCCESS:
        push_error("join_session failed: %s" % err)

3️⃣ React to session signals

func _ready() -> void:
    LinkUx.session_created.connect(_on_session_created)
    LinkUx.player_joined.connect(_on_player_joined)


func _on_session_created(_info: SessionInfo) -> void:
    print("Session ready")


func _on_player_joined(_player: PlayerInfo) -> void:
    print("Peer joined")

4️⃣ Replicate entities

  • Add LinkUxEntity (or compatible setup) to scenes you spawn through LinkUxSpawner.
  • Attach LinkUxSynchronizer to nodes whose properties should follow network state; use the inspector’s Synchronized Properties section to pick fields.

(Exact API names and enums live on the LinkUx facade and the global NetworkEnums class—use your IDE’s go-to-definition on the autoload.)


📚 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/linkux/
├── plugin.cfg              # Plugin metadata
├── plugin.gd               # EditorPlugin: autoload + inspector registration
├── linkux.tscn             # Autoload scene root
├── linkux.gd               # LinkUx singleton (public API facade)
├── config/                 # LinkUxConfig, network & backend resources
├── core/                   # Enums, events, session/player info, protocol version, backends base
├── backends/               # Backends implementation
├── subsystems/             # Session, replication, RPC relay, scene sync, ticks, etc.
├── transport/              # Transport layer, channels, validation
├── nodes/                  # LinkUxEntity, Spawner, Synchronizer + editor tools
├── debug/                  # Logger, debugger hooks, stats helpers
├── optimization/           # Interest management, batching, interpolation helpers
└── security/               # Authority / error helpers

🙏 Credits

  • LinkUxIUX Games, Isaackiux · version 2.0.0 (see plugin.cfg).

LinkUx (Godot 4.2+ Add-on)

LinkUx is a Godot 4.2+ add-on designed to simplify multiplayer development by providing a unified and scalable networking layer for both local and online play.

MAIN GOAL
To offer a production-ready, backend-agnostic solution that abstracts networking complexity, allowing developers to focus on gameplay instead of low-level implementation details:
- Session management
- Player synchronization
- Scene coordination
- State replication
- RPC routing

CORE COMPONENTS
- Global Autoload API: LinkUx
- Backend system: NetworkBackend (pluggable)

This system provides full control over multiplayer flow and behavior, including:
- Sessions (create, join, close)
- Player lifecycle and authority
- Scene loading and readiness synchronization
- Entity spawning and destruction
- Property replication and interpolation
- Message and RPC routing
- Tick-based updates

WHAT’S NEW IN VERSION 2.0.0?
- Modular backend architecture with LAN (ENet) support
- Improved state replication system with snapshot/delta handling
- Synchronization helpers with inspector integration
- Scene synchronization with host-driven flow
- Enhanced debugging tools and network stats
- Cleaner API with stronger separation of concerns

ADDITIONAL FEATURES
Global singleton to manage networking from any script:
- create_session()
- join_session()
- close_session()

Advanced multiplayer systems:
- LinkUxEntity for replicated objects
- LinkUxSynchronizer for property syncing
- LinkUxSpawner for networked instantiation
- MessageRegistry and RpcRelay for structured communication
- Debug logger and performance helpers
- Editor plugin with custom inspectors and tools

MULTIPLAYER SUPPORT
- Built-in LAN backend using ENet
- Designed for easy integration of future online backends
- Same gameplay code works across different network transports
- Ideal for co-op and small competitive games (listen-server model)

SUMMARY
LinkUx is a modular, backend-agnostic, and developer-focused networking solution for Godot, enabling robust multiplayer systems with minimal friction while maintaining full flexibility and scalability.

Reviews

0 ratings

Your Rating

Headline must be at least 3 characters but not more than 50
Review must be at least 5 characters but not more than 500
Please sign in to add a review

Quick Information

0 ratings
LinkUx icon image
IUXGames
LinkUx

LinkUx (Godot 4.2+ Add-on)LinkUx is a Godot 4.2+ add-on designed to simplify multiplayer development by providing a unified and scalable networking layer for both local and online play.MAIN GOALTo offer a production-ready, backend-agnostic solution that abstracts networking complexity, allowing developers to focus on gameplay instead of low-level implementation details:- Session management- Player synchronization- Scene coordination- State replication- RPC routingCORE COMPONENTS- Global Autoload API: LinkUx- Backend system: NetworkBackend (pluggable)This system provides full control over multiplayer flow and behavior, including:- Sessions (create, join, close)- Player lifecycle and authority- Scene loading and readiness synchronization- Entity spawning and destruction- Property replication and interpolation- Message and RPC routing- Tick-based updatesWHAT’S NEW IN VERSION 2.0.0?- Modular backend architecture with LAN (ENet) support- Improved state replication system with snapshot/delta handling- Synchronization helpers with inspector integration- Scene synchronization with host-driven flow- Enhanced debugging tools and network stats- Cleaner API with stronger separation of concernsADDITIONAL FEATURESGlobal singleton to manage networking from any script:- create_session()- join_session()- close_session()Advanced multiplayer systems:- LinkUxEntity for replicated objects- LinkUxSynchronizer for property syncing- LinkUxSpawner for networked instantiation- MessageRegistry and RpcRelay for structured communication- Debug logger and performance helpers- Editor plugin with custom inspectors and toolsMULTIPLAYER SUPPORT- Built-in LAN backend using ENet- Designed for easy integration of future online backends- Same gameplay code works across different network transports- Ideal for co-op and small competitive games (listen-server model)SUMMARYLinkUx is a modular, backend-agnostic, and developer-focused networking solution for Godot, enabling robust multiplayer systems with minimal friction while maintaining full flexibility and scalability.

Supported Engine Version
4.2
Version String
2.0.0
License Version
MIT
Support Level
community
Modified Date
2 hours ago
Git URL
Issue URL

Open Source

Released under the AGPLv3 license

Plug and Play

Browse assets directly from Godot

Community Driven

Created by developers for developers