Make Godot games together in real time!
Warning
This plugin is not ready for use.
Many important features have not are not implemented or are buggy.
Back up your projects before using.
Caution
Never EVER join or host projects to people you don't trust.
Your project can be very easily stolen and someone can remotely execute malicious code with tool scripts.
- Create a folder called
addons
in your project's directory - Download the repository's source code
- Extract the contents into the
addons
folder:yourProject/addons/GodotTogether
- Go to Project > Project settings in Godot
- Go to the Plugins tab
- Enable Godot Together
TODO
Due to the high possibility of using this plugin to remotely execute code, I wanted it to be as secure as possible before publishing. I also wanted it to be usable enough. However due to feedback I've decided to make it public despite not being ready.
I must admit that I was being lazy and unmotivated to work on it.
I also got a bit too excited for something that was just an experiment.
The server is hosted on your machine, not some centralized network, so you need to either open ports in your router, host the server on a VPS or use a virtual network such as ZeroTier.
So yes, it is possible with a virtual network. Don't worry it's very easy.
It uses the Godot's built-in multiplayer functionality.
Each node's property is saved and then compared every frame to check if it changed. If it did, the change is sent to the host, which verifies the user who made the change, and then applies it and replicates it to other users.
Godot allows you to execute scripts within the editor without needing to run the game. Simply opening a malicious project could get you hacked.