Kind of a confusing question to ask, but in a sense, the engine becomes a world, where multiple developers can create content at the same time. Me and a friend of mine would love to work side by side, much like we do using google drive for game documentation. Where we can both work on a level at the same time, where either I work on the blueprints, and he propagates the world with buildings and terrain, or something to that extent. Is there currently a way to do this, and if not, will there be plans to implement that? We both think that it would make things much easier for us to work on the same project at the same time, instead of waiting for one to build something, then import it to what the other is currently working on, such as a city block.
The proper term is collaboration, which for some reason isn’t supported by pretty much any content creation software.
The closest I got is to have all of the assets in Dropbox, so that every time an asset is changed, it’s updated automatically for everyone (the editor will automatically refresh assets when it detects they were changed in the file system).
This still doesn’t let you to change the same assets at the same time, but it does make it easier to collaborate.
If you are going this way, make sure to use links for your content directory, rather than sharing the whole project, because the later will mean you’ll also share all the local build files, which are big and useless for your teammates.
See this - YouTube
Dropbox is a terrible solution. Dropbox is intended for individual files. Using it for development will have files updating everytime they are saved, even if you’re just experimenting with something. If you work at the same time, you’ll get file collisions constantly. And there’s no way to ignore files you don’t need to share (such as DLLs and other engine compiled binaries) without some convoluted content directory system that requires an instructional video.
Source control collaboration is supported by pretty much every content creation software intended for professional use - since professionals don’t develop without source control.
“Not likely” is all I can say, based on not working for Epic, it not existing on the roadmap, and how much time, energy, and effort this would take for them to implement - it wouldn’t be realistic. If you asked, and they decided to, it would sit on the roadmap for years before you see anything.
The solution for now is source control but you’re not going to be able to work on the same files. Git doesn’t support binaries, svn has had issues when working with multiple people in my experience, however perforce has worked well but it can be a pain to setup if you’re unfamiliar, I feel like I need to re-learn what I’m doing any time I change something after a few months.
Epic themselves use perforce.
What you are looking for is source control for collaborative development. At its most basic, it’s simply a system to keep tabs on previous software versions of development, allowing recovery to a previous working version if a horrible bug is introduced. It was invented sometime in the 1960s or 1970s. It’s come a long way since, and has been instrumental in allowing multiple users to develop software at scale, concurrently, instead of funneling all work through a limited number of people allowed to touch code.
It is supported by UE4 natively.
Perforce and SVN are the systems of choice by Epic, probably because of their long standing use in the game industry. There’s only two problems for most of us: they can be expensive and very centralized. You not only need a license, but a master host server. (SVN might be affordable, or their free community or $100 individual versions might fit your needs, but Perforce is so expensive you have to ask).
Git is a great choice otherwise. It’s free, and source can be stored remotely, but it’s also stored locally. This has the advantage over a host server in that you don’t need one (and avoids a single fail-point, any machine with the latest code can be a point of recovery). Github.com offers free remote storage, if you don’t mind making your code public.
The disadvantage is that there’s no master authority for data, so you have to employ good work habits if you want to keep a functional master separate from development code. Perforce and SVN handles this by giving the master authority over who has the rights to change a file at a given time, which sort of enforces good work habits. Git handles this with branches, allowing you to work away from production code.
Git is also extremely popular in the development industry (less so for games than software development in general), so it’s worth learning if for no other reason.
Not to mention the high cost of Perforce! IME, Perforce is the most common among all game studios, but IME hasn’t included a PC/console developer for some years. I worked at another place that switched from SVN to Git, and it was mostly upsides. Git has been gaining ground, particularly among the younger web & mobile game studios. I’d wager it’s more popular for younger studios of all kinds.
Perforce and SVN really can’t handle binaries either, they just circumvent the issue by locking files and allowing a release manager to control binary changes from unapproved sources. Heck, they had problems with non-text based data of any kind. Git will at least take a stab at merging an xlsx file or XCode storyboard, recognizing the text-based xml that underlies them, and it will work more than half the time. Still, graphical files are largely binaries and are either changed&new or not. I haven’t seen any source control system be able to handle graphics files with the same flexibility text/code files are handled.