- Home /
Best way to work with a team?
Hello guys! So at the moment I'm working with a unity project with my team and we tried both Unity collab and Github but none of them do what we want or maybe we are using it wrong.
So what we want is a thing that makes us able to work on a project and same scene simultaneously (we don't need to see the changes live) and then be able to merge it somehow, without overwriting each others work.
The problem right now is that we have one person do their work, then make that person upload it, then next person can work on his part, which is VERY inconvenient and slow. With unity collab this also changes stuff in the scenes for some reason, sometimes the textures are not applied and things change colors.
If you guys have any ideas, I will gladly hear them!
Hi there,
it is indeed difficult to work in parallel in Unity (and no, Perforce is not the solution, no matter what their marketing $$anonymous$$m says). There are various ways that can help, one of the most important using prefabs for everything, and constructing your scenes from prefabs. Optionally, you can set up a system (with the help of ScriptableObjects) where the scene is initially empty, and all of it is constructed from prefabs at the beginning. But this can be tiresome.
Another approach that I haven't tried, but looked great in this talk about the making of Firewatch, is to divide each scene into multiple scenes based on functionality, e.g. Scene03_Environment, Scene03_UI, Scene03_Events, etc. As I said, I haven't tried it, but it looks like a great idea.
@Harinezumi: Why do you think Perforce should not be used? I have never used this version control solution but I wanted to give it a try.
I haven't used it personally either, but a the $$anonymous$$m I am working with was sold on it, because they were told it will solve their art asset syncing problems.
In practice, what I see is that they still can get conflicts, or they check out assets (lock it for exclusive access), which makes others wait for that asset, and things can still break when you check it in.
At the same time it is a paid version control system (supposedly there is free version now), with custom repository servers, and it requires a lot of bandwidth to keep everything synced.
But as I said, I don't have direct experience with it, and maybe they didn't configure the system correctly, or aren't using it correctly. But even if configured well, I would rather use a free, open source, and well-known version control system (like git), with good work processes that would work independently of the VCS behind it.
Use git, it is an industry standard. Check this out. If you are willing to pay go with github ins$$anonymous$$d of bitbucket . Will take some time to figure it out but it is worth it and you can use it for several different purposes. Cheers.
As much as I agree with the use of git with Unity, there are some issues to be mentioned.
Git is designed for the efficient handling of text differences, which does not work well for binary files. However, games usually have a LOT of binary files (textures, sounds, models, etc.). In order to avoiding filling your repository space with binary file versions and cause performance issues, you either need to set up and use git LFS, or design a workflow where you don't commit many versions of binary assets.
Git is notoriously difficult to learn. Before starting, I highly recommend reading various tutorials to thoroughly learn the basic concepts (as a $$anonymous$$imum: remote, local, pull, commit, push, merge, branch, checkout, and probably rebase). A UI based git client helps a lot which brings me to the next point...
Even though it's free, SourceTree, is a good client... until it decides to act up and then you cannot do anything with it anymore. Every new version introduces new bugs, the newer ones more. If you don't $$anonymous$$d spending some money, buy Git$$anonymous$$raken.
Your answer
Follow this Question
Related Questions
Is the current basic water bugged? 0 Answers
Can Mecurial be used with Unity3d 3.1 2 Answers
Unity Upgrade issue 0 Answers