A plugin for the Godot game engine that provides a simple drag-and-drop networking interface that requires as little code as possible.
Inlcuded: A Networking global script that provides many networking functions, including: state changes, creating players, and receiving local and global IP addresses from an API. A NetworkSyncer node that allows a user to type-in the properties of the parent that need to be synced. Lastly, an example lobby for rapid prototyping that also functions as a lobby demo.
This is still in development, expect a lot of issues and missing features (interpolation being one of them).
The networking state-syncer is heavily based on vec64's Godot-Multiplayer-FPS https://github.com/vec64/Godot-Multiplayer-FPS
The cloud icons are by Kenney - https://kenney.nl/
- Add the addons folder from this repo into your godot project.
- Enable the plugin and the autoload Networking script (Errors will show up, you will probably have to restart the editor a couple times)
- Assign the lobby tscn as the startup scene.
- On the lobby scene, set the export variable "scene to start" as the path to the scene your game will take place in.
- Create a script for that world that creates players. Networking.create_players() can be used for this.
- On the player scene, add the NetworkSync node as a child of the root node. On it's array export variable, set the names of the variables to be synced. Ensure that the player objects that are puppets aren't going to receive player input.
- Test it out.