Dealing With Lack of Perforce Support

So I understand that Unity does not support perforce well. I also understand that the Asset Server is the way to do things. Unfortunately the lack of support for Windows Server is a total non-starter here, and I’m going to need to use some form of perforce source control.

I’m interested in getting some feedback on the best way to go about this.

It seems that the asset folder can just be checked in directly and worked on by multiple people at the same time reasonably well. This piece seems very straightforward and comparable to a traditional source control setup. Is this true, or is there something I’m missing?

The library folder seems to be where things go downhill fast. I understand that this folder is a whole bunch of binary stuff that won’t deal well with source control. If I check in this entire folder and keep it up to date with changes, will other people at least be able to run the game? I understand that this won’t allow solid concurrent development, but it seems like the best we can do?

Am I missing anything here? Any advice would be appreciated.

Hello,

I’ve used Git, and it works perfectly, but as you said, it will not work as a solid concurrent development.

And, also, if you do not have updated the Library folder, then when someone checks out the project, the scenes are going to be empty.

Cheers!

If we make it a habit to checkin the entire Library directory whenever making other changes, will others be able to run the game?

If you make sure that each person makes an update, then works, and then commits, then you’ll have your project up to date.

but be aware that if more than one person work on the project and they commit they changes at the same time without updating the project, then you can have problems…

I used to use git more for keeping up to date the whole project and have a back up, than making a concurrent development.

I mainly just share a single package folder between all the workers. Whenever someone finished an asset, they’d add it to their asset package and I could re-import the package to get the fully functional items. This way, you wouldn’t have to worry about the library, as the library is packaged in with the rest of it. Also, each user updates their own package, so there’s no overlap and people can freely submit and update as necessary.

Trying to share the entire folder tends to lead to a lot of pain for larger teams.

Downsized Games has released a plugin on the Unity Store allowing perforce (p4) functionality from within Unity3D.

Unity Store

Documentation
http://downsizedgames.com/p4u-overview/