All along I assumed Plastic would be a great addition. I only hadn’t upgraded because Collaborate worked fine and I had no reason to. Recently Unity forced me to migrate, and I thought it would be fine. NOPE. What a pain. Somehow it’s so much worse than Collab. Collab often bugged out after hibernating and I had to restart the editor, but that’s nothing compared to Plastic.
Look, I’m a relatively experienced programmer. I’ve used Mercurial for about 6 years now at work and never had an issue with it, yet somehow I can’t seem to figure out what Plastic is doing.
All seemed like it was working all right. I was able to commit/push changes without problems. Then I decided to mess around with ECS 0.50 and installed the package. Shortly after doing so I realised the hybrid renderer isn’t compatible with the built-in renderer and removed the package. It left appeared to leave some cruft behind so I thought no big deal, I’ll just revert. Ummmmm… well ok, there’s no revert option in the Plastic integration. Wtf. Fine, it’s pretty crappy that the Plastic integration went backwards from Collab but whatever, I’ll just learn to use the Plastic SCM client program. Sigh, there doesn’t appear to even be a button to open the external client from within Unity. WHATEVER. After a couple of minutes of exploration I found how to revert changes in the Plastic client. I reverted and then restarted Unity to make sure it loaded the reverted changes.
I got some errors that hadn’t been there before and Plastic showed boot.config as changed even though it also reported that the file was identical in the diff view (at this point I’m thinking wtf is this crappy source control software). I then thought ok, that’s weird, maybe there’s some folder or file that isn’t source-controlled that didn’t get reverted, so I deleted the entire project folder and re-downloaded through Hub.
What do you know, now I have way more errors and Plastic is showing some files as deleted and some as added. You have got to be f*cking kidding me, Unity. What is this garbage??? I don’t understand how you can still be releasing such incomplete, broken software as production-ready. It’s insane. And not only that, but Unity’s greatest strength is how beginner-friendly it is, so you go and replace the beginner-friendly Collab with a much more complex 3rd-party solution that doesn’t even work properly (this complaint is part of a general sense of Unity having no clue about who its users actually are - or at least, not realising that the only reason it’s so popular is because beginners like it, not because enterprise users are enamoured by its unreliability and janky, unfinished “production-ready” features).
I don’t even know what to do. It just doesn’t work. I fully revert to the last commit, removing all changes in the workspace, yet somehow it’s not fully reverted. What is the source control even doing if not keeping a history of my project? Even though I made three separate commits since “upgrading” from Collab to this trash system, the workspace isn’t the same after cloning fresh as it was after making those commits. All I can say is WTF.
EDIT: So actually just now I decided to try one more time (not least because I actually need this project to work). I deleted the project folder again and redownloaded through Hub again. This time it seems to have worked. I’m really f*cking concerned that it can work one time but not another. How brittle is this source control software that the repo can partly fail to clone or can’t fully revert to a previous revision or whatever the frick it was doing??