We have multiple developers working on the same level files now. We are finding it’s quite easy for several of us to make changes and then be unable to integrate since they are binary files.
I’ve looked at https://rocket.unrealengine.com/docs/ue4/INT/Editor/UserGuide/SourceControl/index.html and it appears that the actual behavior doesn’t match the documentation - checking out an asset doesn’t lock it with Perforce. Today I think we’ve all managed to check out the same asset and all of us ended up redoing our changes.
It looks like umap files are binary and so can’t be merged. Since our game is basically one giant world that tends to mean that we end up working simultaneously on the same level.
What are the best practices for multiple people working on the same level? I’ve looked into https://rocket.unrealengine.com/docs/ue4/INT/Editor/LevelEditing/LevelStreaming/UserGuide/index.html and it looks like this doesn’t apply to UE4.
Bump. This is becoming a big problem for us – we only have three people but we’re running into a lot of these kinds of conflicts.
Bumps aren’t necessary on the UDN. Issues remain open and in-queue until answered, although sometimes it can take a little while to get to it, or until the proper individual becomes available or the information is gathered. However, all questions get addressed.
The ability to lock files when Checked Out is an option that you will need to enable in Perforce. This is not handled within the editor, but once you do this it should resolve many of the workflow problems you are facing.
Ultimately for this question, we recommend not working on just one single giant level. The best practice in this case is via Level Streaming. Although the documentation is not yet up-to-date, the principles still apply. Your main level is the Persistent level which could potentially be completely empty. Into this you load all of your sub-levels. Not only can you use level streaming to load and hide different areas of the map, but you can even include all of your lighting in one sub-level, and all blocking volumes or sound cues in another, etc.
The preferred method for handling the Streaming is via Level Blueprints, although traditional Streaming Volumes are still available. Don’t forget to search the UDN as a source of information in lieu of documentation:
You also have access to the World Browser, although this tool is still a work in progress and currently has no available documentation. This tool allows you to edit large worlds made up of streaming levels by adjusting their position and streaming properties. The World Browser can be enabled in the preferences under ‘Epic Labs’ and then accessed via Widow > World Browser.
Hopefully this has helped to provide a brief overview of your options. Feel free to reach out to us as you have questions or come upon specific issues.
Thanks, Stephen – that’s very helpful!