Working in team on same scene

Hey, we in our project got a big scene and whenever any of us modifies the scene we get a conflict which is incredibly hard to merge…we need to remember what we changed. How do you work on same scene in your teams? I know we could work on different scenes or create prefabs but sometimes its just inevitable.

A bunch of options exist

  • Use a checkout system to ensure that the scene is only ever modified by one person at a time
  • Prefab everything, and just adjust the prefabs
  • Break your scene into a bunch of smaller scenes and use additive loading
  • Don’t use scenes
2 Likes

1.we are using git
2/3 - there are some references problem pointing to something in another scene, you know.

Hmm im curious about last option: could you provide some link?

Wasn’t the VR team working on multiple VR editors working on the same scene?

Unity is not designed at all for teamwork. It’s clear that they never intended Unity to be used for serious development. It’s just a solo hobbyist engine which became very popular because it’s highly accessible to beginners.

There’s always an option to have a lead game developer who would be the only one working on the scene and everyone else would just provide assets for him.

But if the requirement is that you can all work on the same scene at once there is a plugin on the asset store, who’s name escapes me at the moment, that lets you do this exact thing and even lets you see what everyone is doing in real time.

This could be solved by changing the way you reference stuff in other scenes. In general you should keep your scenes independent from one another, which is the whole point of scenes.

One method is you load everything externally in the game. It’s basically like how Bethesda games operate behind the scenes, if you know anything about that. Expect to write entirely new tools that likely function similarly to Unity’s scenes, but are now not a nightmare for git, while possibly costing a sizable amount of development time/budget. It’s a costly solution for something that can possibly be solved cheaply by enforcing a project management stratagem.

This is just a problem with game engines in general. Unreal idtech and source have the same issues.

It really just comes down to how you organize your project. Just separate into multiple scenes in a way that makes sense for your project.

Also not like the problem is limited to just unity scenes, you can’t really merge .ma or psds either

Check out Unity Collaborate: Real-time tools for 3D, AR, and VR development | Products
I believe it has features to help out with your issue:
https://www.youtube.com/watch?v=_K6I0x6_ekY

Unity - Manual: Smart merge That’s all.

If you find that SmartMerge isn’t 100% reliable for you, Jane Ng’s GDC talk on The Making of Firewatch might be helpful. It predates the Unity Collab video above, but it still has some great advice learned from making a real, successful game.

Since this thread has been revived, the latest trick I use with my teams is to break the scene into multiple parts, then load them on top of each other additively. Works wonders. The last project I worked on was arranged like this:

  • Art/environment - In this scene the artists could mess with stuff to their hearts content
  • Interactivity - The game designer spent all of his time here
  • Services - Programmer stuff to keep the game running
  • Character - He got his own scene because he required so much tweaking by everybody

In practice we still had a locking system so only one person could work on each scene at a time. But their were seldom conflicts.

The beauty of this is you can actually have all of the scenes loaded in the editor at the same time. So you can see what is happening in all of the other scenes. But you only save and commit the scene that you are working on. There is no real reason you can’t use this system to continue to split scenes ad infinitum to scale with your team size and their assignments.

2 Likes

We created Scene Fusion, which is a real-time collaboration system for the scene layout aspect. It lets you load a scene into a shared session that everyone can join.

It’s better than merging, better than sub-scene editing. www.kinematicsoup.com/scene-fusion

2 Likes