Team-working: how to collaborate on the same scene?

Hi,

(provided that a VCS is used and you have more than 1 level designer that should work on a single scene)

what is the best way to allow multiple lever designers to work together on the same scene? (Only level designers; not programmers, maybe artists)

Is it possible? Does UE4 supports diffing&merging of the changes to the scene file? Otherwise, how do you manage this problem with your team?

You could let them work on separate parts of the levels and then they can merge those parts into one level with the level browser -> so that you have a full level in the end

Do you refer to the “World Composition” feature?

Do you know if the “layers” of a level are independent files? They would be great to allow people working on different aspects of a level at the same time.

You can’t work on the same map file at the same time, Unreal doesn’t have that feature. You can however, work on different streaming levels that the persistent level references which may speed up your workflow in some circumstances.

Updates won’t happen in real-time however, you’ll have to commit changes to your repository and update your local repository to see them.

Yep. I haven tried it ou yet, but as far as I can see from this video they are independent map files :slight_smile:

?v=fUx8vLosDLY

As said, you should use streaming levels. Basically you need to subdivide your level to a smaller sub-levels and add them as “Always Loaded” streaming levels in the “Levels” tool. Sub-levels stored in a separate files, so you can work on them in parallel.
“Always Loaded” streaming levels will be loaded together with main(persistent) level, so you don’t need to merge them.

Layers unfortunately stored inside one file, so they will not help here.

Thanks guys for all your replies! Very useful!

Bumping this a bit because i have some questions.

I executed the procedure explained here, but for baking purposes i go to the Persistent and bake light, then i have to save all the levels, which creates conflicts in the repository. Is there any workaround for this?

Thanks.

How to resolve conflicts depends more on how you have your project set up as far as being able to manage the data and how to resolve conflicts as a rule that everyone agrees to follow. Our set up is as described above but each map has a “owner” of the work in progress and manages the the technical requirements, like baking lighting as a global process, and for our purpose use Tortoise to manage conflicts.

For example when a conflict occurs, and it happens a lot as some files will get reset for no reason, the project manager has the opportunity to select the current asset or override the update using the version being committed.

To be able to advise a better understanding of how you have your CMS pipeline set up is required as in some cases the current solution can become the very obstacle that prevents co-op management from occurring even if the problem in hand is a file reset on the client end.

Some notes:

CMS over Internet as yet does not have a practical application as to management of large asset pools visible to a single project that is much more manageable on the local level and as such source control relies more on backups and the ability to revert the project in hand manually, which Tortoise can do, and relies less on automated systems.

GIT and SVN are well suited as to the needs of code based projects but map, environment, based projects “will” generate a flood of data that will in most cases upset the coders when pushing code iterations along the same path as content updates where 90% of the asset pool is not required.

There are a lot more notes we have developed over the past few years but I would suggest breaking the commit pipeline into two different pathways to prevent conflicts between code and content as the resource pool has a tendency to create more problems as to the demands of assets being made visible to the project.

The long way around to say that the “procedure” is all about the individual willing to take responsibility to solve the problem now and continue to look for the “best” solution that as the manager you can add at a later date. :wink: