Unity and collaborative development

Hi all,

We have been playing around with Unity for the last couple months and now would like to do some serious development based on the platform. However, reading about Unity and collaborative working, it seems like all common version control systems hate Unity :frowning:

There must be loads of people around who do collaborative development on Unity projects. Multiple people working on different parts of the project the same time and from remote locations (and even with complementary skills such as 3D modeling and scripting). And all that with full version control for different aspects of the project.

I would appreciate people’s views on how to realise the above scenario? Is the way to purchase the Unity Asset Server? I don’t mind doing this, but first would like to have a confirmation that it enables all of the above. Would be nice to be able to evaluate it before purchase but seems there is no option for that…

Anyway, any views on this are highly appreciated. At the moment we are having to transfer the whole project for every little change and that really makes collaborative working impossible :frowning:

Regards,

Olli

The asset server does wonders for us. The only major drawback is that simultanious changes to scenes or models cannot be merged and one version will have to be chosen. Clear task division helps here.

Related, for my master project I’m working on integrating real time collaborative editing into Unity.

Thanks Mike.

So what you are saying is that with the asset server we could have SVN like version control for Unity and accessible over the internet? Do everyone require a PRO client in order to use it or can you also use it with the basic client?

Sorry for asking such basic questions. As I said before it would be a lot easier if Unity would make an evaluation copy of the server available…

Regards,

Olli

The asset server is indeed pretty similar to SVN. You commit&update inside the unity editor and you can revert to older versions. Merging of scripts is available as well. It’s over the internet indeed; you’ll need to host an assetserver somewhere (on a mac/unix/win).

You need Unity pro+assetserver plugin.

This is really interesting. I really liked collaborative building in HeroEngine:

http://www.heroengine.com/features/world-building/

And if such feature exists in unity, it can tremendously increase productivity. How does your system work? You have some master server with data and unity works as client?

Actually, the server only routes messages atm since the first client to connect and open a specific scene is the master-client so to speak. When clients are offline they need to commit to the masterserver or other versioning tools. This “assumption” makes it easier on myself, plus I don’t think it’s a bad one either. But I could always have the server save the scene data.

I was using one collaborative tool for my previous game (tool for terrain and buildigns design) and there was master server with all data (textures, assets…) and clients only conntected there (they had art data locally too). And clients always synchronized with server, which run 24/7.
How are you designing asset synchronization? For example if i add new mesh to the project? It will do replication for other clients? Or they have to shut down unity, update from for example svn and then continue work?

How far are you planning to go? Something like heroengine, that mean full terrain editing plus placing assets?

As for my project I’m currently simple assuming the users use the asset server (or SVN and similar). This makes the project a lot more feasible and is still a great solution. This could always be extended later.

Thats true.