A Godot 4 plugin that provides Steam lobby management, P2P packet networking, and player management using the GodotSteam GDExtension.
⚠️ This plugin requires the GodotSteam GDExtension and is NOT a standalone plugin.
You must install the GodotSteam GDExtension separately before using this plugin.
| Dependency | Version | Notes |
|---|---|---|
| Godot Engine | 4.4+ | |
| GodotSteam GDExtension | Latest | Must be installed manually |
| Steam Client | Any | Must be running when testing |
This plugin depends on GodotSteam. Follow the official GodotSteam installation instructions:
- Download the GDExtension from the GodotSteam releases page.
- Place the
addons/godotsteam/folder into your project'saddons/directory. - Enable the extension in your project (it should be detected automatically).
Via the Godot Asset Library (recommended):
- Open your Godot project.
- Go to AssetLib tab.
- Search for Fxll3n's Steam Integration.
- Click Download and then Install.
Manually:
- Copy the
addons/fsi/folder into your project'saddons/directory. - In Godot, open Project → Project Settings → Plugins.
- Enable Fxll3n's Steam Integration.
Set your Steam App ID in steam_appid.txt in the root of your project (use 480 for Spacewar during development):
480
- SteamManager autoload — Initialises Steam, exposes
steam_id,steam_username, andsteam_avatar. - NetworkManager autoload — Creates and joins Steam lobbies, sends/receives P2P packets, handles handshakes.
| Singleton | Path | Description |
|---|---|---|
SteamManager |
addons/fsi/managers/SteamManager.gd |
Steam initialisation and player info |
NetworkManager |
addons/fsi/managers/NetworkManager.gd |
Lobby and P2P networking |
NetworkManager.create_lobby()NetworkManager.join_lobby(lobby_id)NetworkManager.send_p2p_packet(
NetworkManager.ALL_TARGETS,
{
"tag": "my_tag",
"data": "hello"
}
)func _ready() -> void:
NetworkManager.recieved_packet.connect(_on_packet_received)
func _on_packet_received(packet_data: Dictionary) -> void:
print(packet_data["tag"])A working demo scene is included under addons/fsi/demo/. It demonstrates:
- Lobby creation and joining
- P2P packet sending (chat messages, game start)
- Player spawning synced over Steam P2P
The demo also uses LimboConsole for in-game debugging.
This plugin is released under the MIT License.
The GodotSteam GDExtension is a separate project with its own license — see the GodotSteam repository for details.