UnityTogether is a hobby project, designed to enable real-time collaboration inside the Unity Editor. By leveraging a custom C# networking server, UnityTogether allows multiple users to work together seamlessly within the same Unity scene, allowing for teams to collaborate.
-
Real-Time Collaboration:
Multiple users can connect to the same Unity project and see each other's changes live. -
Custom Networking Server:
The project includes a C# server built with .NET 6.0. -
Unity Integration:
Scripts and example scenes are provided for testing out the library.
- Unity Editor (recommended version: 2021.3 LTS or later)
- .NET 6.0 SDK (for building and running the server)
git clone https://github.com/Saphirah/UnityTogether.git- Navigate to
UnityTogetherServer2.0 Source/UnityTogetherServer/ - Build and run the server:
dotnet build dotnet run
- The server will start and listen for incoming connections from Unity Editor clients.
- Launch Unity Hub and open the cloned project folder.
- Open your desired scene or create a new one.
- Use the provided UnityTogether MonoBehaviour to connect to the running server.
- Each user should connect their Unity Editor to the same server instance.
- Changes made in one editor will be synchronized in real-time with all connected users.
- Assets will be automatically synchronized over the network.
The plugin simply synchronizes the changes happening in the editor. It does not enforce that every user has the same scene, assets, or same VSC commit. Please make sure, you start the session on a shared VSC commit.
Contributions are welcome! This project is not in active development, but I will maintain and review pull requests.
This project is licensed under the MIT License.