Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Plastic SCM Support in UCB

Discussion in 'Unity Build Automation' started by hypeNate, Sep 17, 2014.

  1. hypeNate

    hypeNate

    Unity Technologies

    Joined:
    Apr 4, 2014
    Posts:
    272
    How many of you out there are using Plastic SCM? We'd be interested to hear your voices.

    Has anyone tried this solution to get Plastic SCM working with Unity Cloud Build?

    http://plasticscm.com/gitsync/info.html

    Please let us know. Thanks!
     
    Novack likes this.
  2. Saxi

    Saxi

    Joined:
    Jun 28, 2013
    Posts:
    381
    I used Plastic outside of Unity briefly, I am currently using Git but might start using Plastic w/ Unity.
     
    hypeNate likes this.
  3. mikaelwallin

    mikaelwallin

    Joined:
    Dec 11, 2013
    Posts:
    20
    We use PlasticSCM. We have used cloud based git solutions before. They are not good at storing large content.
     
    hypeNate likes this.
  4. Freaking-Pingo

    Freaking-Pingo

    Joined:
    Aug 1, 2012
    Posts:
    310
    I stumbled upon this thread while investigating the possibilities of PlasticSCM. I have previously been using Git, however as @mikaelwallin states, Git have its issues.

    I am currently investigating whether you can use PlasticSCM with UCB. Could be a real treat.
     
  5. Freaking-Pingo

    Freaking-Pingo

    Joined:
    Aug 1, 2012
    Posts:
    310
    Last edited: Sep 23, 2014
  6. mikaelwallin

    mikaelwallin

    Joined:
    Dec 11, 2013
    Posts:
    20
  7. andsee

    andsee

    Joined:
    Mar 20, 2012
    Posts:
    88
    Yes please support Plastic :) It's fantastic for working on Unity projects.
     
    hypeNate likes this.
  8. Saxi

    Saxi

    Joined:
    Jun 28, 2013
    Posts:
    381
    I'd really love to see Plastic supported by UCB, it is over twice as fast as Perforce and free for up to 20 users.
     
    hypeNate likes this.
  9. MaT227

    MaT227

    Joined:
    Jul 3, 2012
    Posts:
    628
    hypeNate likes this.
  10. Jesse_Pixelsmith

    Jesse_Pixelsmith

    Joined:
    Nov 22, 2009
    Posts:
    296
    I've not tired UCB yet, but I've just been discussing with team about source control. Plastic looks really cool and I've been hearing great things about it, and its $10/month for < 15 people (good chunk of indies) the kick in the nuts though is that you need a Unity Team license to work with it.

    Now I own a Unity team license, but a contractor I want to hire for the short term does not. This pretty much means I either have to pay an extra $500 to get him on our source control (currently use asset server, but looking to move to plastic), or have him pay the $500, because a team license is non-transferable.

    Either that or basically have to switch to a free source control system like Git or SVN just to work with this contractor - but I like the one we have (or plastic) because it can handle binaries. Same thing with perforce. I just don't get why we need to pay $500/seat for UT to expose a feature to use someone else's source control that we also need to pay for.

    Heck I'm fine with it being a Pro exclusive (well not really, but better than now) since at least most contractors have Unity Pro.
     
  11. andsee

    andsee

    Joined:
    Mar 20, 2012
    Posts:
    88
    @JesseAlexander I use plastic without the Unity team license and it works well, I prefer it to using Git and SourceTree. It's the same kind of workflow without the team license as there's no plugin in unity it's self, but using the plastic client outside of unity works very well. Nice and easy to quickly change change sets to get your machine to the same state as another team member to help out. This really helps when working remotely with people.
     
  12. PhoeniXTail26

    PhoeniXTail26

    Joined:
    Aug 31, 2013
    Posts:
    12
    I'm currently looking for new source control solution to replace Git and was looking at Plastic until I saw that it's not supported by UCB. The reason we started looking for a new solution was that due to the way that Git handles large files and their history (complete copies of all the revisions of those files) our project's repo had very quickly swelled past the size allowed by our tier of UCB (2Gb). Even though our actual project is only about 600mb, with all the changes and history being pulled down by UCB it was over 2Gb. I'm guessing that Plastic and Perforce don't handle their revisions on the client's side in that way and UCB would only see our project as 600mb if we were using one of those (correct me if I'm wrong). From what I can tell, Plastic's GitSync would require a Git repo intermediary and connecting UCB to that would suffer the same problems.

    Are there any plans to include native support for Plastic in UCB or is Perforce the only solution?
     
  13. David-Berger

    David-Berger

    Unity Technologies

    Joined:
    Jul 16, 2014
    Posts:
    743
    UCB should only fetch a snapshot of the current history. So it should only see it as 600mb - please try to build you project again, this might have been a problem from last week when the tiers were introduced.

    Regarding Plastic, we still gather information and do research on the possibility of the integration.
     
  14. vidjo

    vidjo

    Joined:
    Sep 8, 2013
    Posts:
    97
    We're looking into using PlasticSCM as well. We've used git in the past but it really doesnt handle large files well and I dont know of any cloud hosting that offers large enough repo size for games. I'f UCB had Plastic integration, it'd make Plastic an obvious choice.
     
  15. JuicePouch

    JuicePouch

    Joined:
    Sep 17, 2014
    Posts:
    2
    My team and I use Plastic and would really love to see some UCB integrations as well.
     
  16. antifuzz

    antifuzz

    Joined:
    Feb 22, 2013
    Posts:
    99
    Another vote here for Plastic integration with UCB. This would be awesome.
     
  17. AdamKane

    AdamKane

    Joined:
    Dec 3, 2012
    Posts:
    134
    +1 for Unity Cloud Build support for PlasticSCM
     
  18. antifuzz

    antifuzz

    Joined:
    Feb 22, 2013
    Posts:
    99
    Any news / progress on this?
     
  19. MobizITS

    MobizITS

    Joined:
    Jan 16, 2015
    Posts:
    12
    I would like plastic SCM support UCB as well
     
  20. hypeNate

    hypeNate

    Unity Technologies

    Joined:
    Apr 4, 2014
    Posts:
    272
    Thanks for keeping the thread alive everyone - we haven't forgotten this request. There's no timeline set for this yet, but we're also interested to see if any of you are using http://plasticscm.com/gitsync/info.html to work with Unity Cloud Build? If so let us know what you think.
     
  21. andsee

    andsee

    Joined:
    Mar 20, 2012
    Posts:
    88
    Some of our external projects are based within a git repository and hence work with cloud build and we have used Plastic's gitsync option to use the Plastic frontend with these, however when used on a team we ended up with too many errors :-( so unfortunately had to switch to sourcetree. Whenever we can we prefer to setup a project using a native plastic server hosted in the cloud.
     
  22. bitbarons

    bitbarons

    Joined:
    Oct 15, 2012
    Posts:
    16
    A little bit disappointing, that Unity has a Plastic Support but not the Build Cloud.

    +1 for Plastic UCB support, otherwise is UCB pretty useless for us
     
    Last edited: Jul 21, 2015
  23. ChezDoodles

    ChezDoodles

    Joined:
    Sep 13, 2007
    Posts:
    107
    Yeah, also using Plastic - which is fantastic with Unity.

    Another problem with UCB is the VERY LIMITED repro size support. Even as a lone indie developer, my projects are in 10+ GB area (mostly due to using Photoshop texture files, with layers, effects etc - making general 2K source textures take up 50 to 100MB each, and 4K source textures often end up being 200MB each).

    I really want to use UCB, but I don't need all the fancy features of the studio license - and I don't need a lot of collaborators - I just need access to larger projects...
     
    jtny10 and bitbarons like this.
  24. AndrewChewie

    AndrewChewie

    Joined:
    Mar 23, 2015
    Posts:
    9
    Is there any news about Plastic Support in the Cloud Build?
     
  25. Jesse_Pixelsmith

    Jesse_Pixelsmith

    Joined:
    Nov 22, 2009
    Posts:
    296
    Yeah we would really benefit from this. Plastic is ... aside from a few annoying things, pretty awesome.
     
  26. Tuni

    Tuni

    Joined:
    May 24, 2013
    Posts:
    74
    Are there any news? GitSync is not an option for our needs.
     
  27. antifuzz

    antifuzz

    Joined:
    Feb 22, 2013
    Posts:
    99
    Still no news..??

    At Unite last year in Amsterdam, I was told by members of the Unity Cloud Build team that Plastic support was unlikely primarily because Plastic servers were all self-hosted with no one common setup for UCB to plug into.
    Now that Plastic Cloud is here, surely that problem is solved? Couldn't UCB be setup to just pull in from Plastic Cloud repos?
    https://www.plasticscm.com/cloud/index.html
     
  28. Jesse_Pixelsmith

    Jesse_Pixelsmith

    Joined:
    Nov 22, 2009
    Posts:
    296
    The plastic SCM guys have told me they are very eager to integrate with UCB, and they dont think they have any tech barriers. It's probably a market share thing, I'm sure it takes time to support, but at this point I feel like doing my own auto patching solution sooner than I feel like changing my source control.
     
  29. james_rigby_gobobrighton

    james_rigby_gobobrighton

    Joined:
    Mar 7, 2016
    Posts:
    2
    Please, please, please support Plastic within Unity Cloud Build.

    I have just changed jobs and my old company used Plastic with Unity. It was awesome. My new company use Perforce (ugh). We use streams to try and use the "branch per task" approach, but it's nowhere near as good a plastic.

    However, it's a requirement of my new firm's client that we use Unity Cloud Build. That's the main reason they started using Perforce. I know we could do a plastic/git solution, but it would be a much easier sell to get my team to switch over if UCB supported Plastic.
     
  30. james_rigby_gobobrighton

    james_rigby_gobobrighton

    Joined:
    Mar 7, 2016
    Posts:
    2
    @JesseAlexander. I used Plastic and Unity for years without using the unity plastic plugin. Just use plastic's GUI to do your plastic stuff and Unity to do your Unity stuff. Plastic works really well with Unity without needing the plugin. Just add your Library and Temp folders and your .sln and .proj files etc. to plastic's ignore list.
     
  31. peterkao

    peterkao

    Joined:
    Nov 23, 2016
    Posts:
    2
    Does Unity Cloud Build support Plastic yet?
     
  32. PhilMcJ

    PhilMcJ

    Unity Technologies

    Joined:
    May 29, 2014
    Posts:
    187
    Cloud Build does not yet support Plastic - development time lately has gone (and is going!) into other features and bugfixes.
     
  33. Kalms

    Kalms

    Joined:
    Nov 18, 2016
    Posts:
    4
    Here is another vote for Plastic SCM support for UCB - but not focused on the regular, on-site Plastic SCM server, but rather the Plastic Cloud service.

    Plastic Cloud makes it easy to get started with Plastic SCM at a reasonable price. However, there is no reasonable way to connect Plastic Cloud to UCB today. Plastic Cloud runs a scalable but trimmed-down version of the Plastic server which does not support GitSync.

    All the options I have found involve replicating the Plastic Cloud repo contents into another repo in order to connect it UCB. One way to do this would be to run something on my local workstation (or a dedicated machine) that pulls from our Plastic Cloud repos and pushes to GitHub repos. We could then connect these GitHub repos to UCB. Another way would be to run a dedicated Plastic server (rent a machine in AWS or similar), set up replication from Plastic Cloud to our dedicated Plastic server, and then connect the dedicated Plastic server via Plastic's GitSync to UCB.

    I am currently considering to operate a Jenkins instance in AWS and have that run all our Unity build jobs.

    All the above Plastic Cloud -> UCB setups are fragile, and require us to operate infrastructure ourselves. A native Plastic Cloud -> UCB solution would make our lives considerably easier.
     
    Pix10, billy-kahong-chan and Dreamora like this.
  34. Kalms

    Kalms

    Joined:
    Nov 18, 2016
    Posts:
    4
    I have done some testing recently. It is possible to connect UCB to Plastic Cloud today, but it requires manual tooling by each individual team.

    UCB can successfully generate builds by talking Git protocol with a Plastic Server that has the GitServer feature active. I have done a proof-of-concept test with a "hello world" application. However, since Plastic Server's GitServer feature does not support any authentication whatsoever, this is not an acceptable solution for real projects.

    Plastic Cloud does not offer the GitServer feature.

    The Plastic Client offers a GitSync feature: it can talk to Git servers. I haven't tested this myself, but I think it can be used to set up simpler usage flows. I am outlining these below.

    ==============================================================

    Here is one flow that is should work reliably, in theory:

    1. Main repository is kept in Plastic Cloud
    2. A VM in Amazon/Azure/Google Cloud runs two bits of software:
      1. A Plastic Client + local Plastic Server is installed on the VM
      2. A Git server runs on the same VM
    3. UCB is run, by Unity Technologies, in some cloud service

    The Plastic Client is needed to shuffle data from the Plastic Cloud server into the dedicated Git server.
    The dedicated Git server is needed in order to provide authentication.

    Configuration that needs to be done:
    • Create an empty repo on the dedicated Git server
    • Set up a recurring task on the VM, that uses the Plastic command line client to replicate changes from the Plastic Cloud repo to the local Plastic Server, and then and then replicates these changes from the local Plastic Server to the local Git server
    • Configure a "git" SSH user on the VM with an appropriate key pair
    • Configure VM to expose the SSH server to the outside world. Make sure the VM has a static IP.
    • Configure UCB to talk to the Git server on the VM, using the Git protocol

    Exposing additional repos to UCB requires configuration modifications on the VM.

    ==============================================================

    Here is another flow. It is less setup work, but GitHub introduces new limitations and increases cost.

    1. Main repository is kept in Plastic Cloud
    2. A VM in Amazon/Azure/Google Cloud has a Plastic Client + local Plastic Server installed
    3. GitHub has repositories which will contain delayed replicas of content from Plastic Cloud
    4. UCB is run, by Unity Technologies, in some cloud service

    The Plastic Client on the VM is used to replicate repo contents from Plastic Cloud to GitHub. GitHub is used to make repos available to UCB.

    Configuration tasks that need to be done:
    • Create an empty repo on GitHub
    • Set up a recurring task on the VM, that uses the Plastic command line client to replicate changes from the Plastic Cloud repo to the local Plastic Server repo, and then replicates these changes from the local Plastic Server to the corresponding GitHub repo
    • Configure UCB to pull from the GitHub repo & build

    Exposing additional repos to UCB requires configuration modifications on the VM + creating new repos on GitHub.
     
  35. mikael_kalms

    mikael_kalms

    Joined:
    Mar 16, 2017
    Posts:
    5
    We have now built a bridge from Plastic Cloud to UCB for our own projects. It runs in a VM on Azure: https://github.com/falldamagestudio/plastic-cloud-to-ucb/

    It does work, and offers appropriate security/authentication. Setup & configuration is fiddly though. A direct Plastic Cloud -> UCB solution would be much more convenient.
     
    Last edited: Mar 18, 2017
    robotgentleman and nirvanajie like this.
  36. Kalms

    Kalms

    Joined:
    Nov 18, 2016
    Posts:
    4
    Last edited: Mar 18, 2017
  37. Tuni

    Tuni

    Joined:
    May 24, 2013
    Posts:
    74
    Any news on that?

    We want to use UCB for our next project without replacing Plastic or integrating a git server sync tool.
     
    chadq likes this.
  38. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Direct support for Plastic on UCB would be ideal. Among may things (simplicity being the first), we would have the changeset information available for the hooks.
     
    chadq likes this.
  39. RadialGames

    RadialGames

    Joined:
    Jan 31, 2017
    Posts:
    11
    Also tossing in a vote for native support. While I'm not afraid of spooling up my own servers to be an intermediary -- if I'm doing that, I might as well just make the build server myself.
     
    chadq likes this.
  40. Immu

    Immu

    Joined:
    Jun 18, 2013
    Posts:
    240
    Same thing here, having native support for palsticScm To UCB rather than having to pass through plasticScm -> gitsync -> gitlab -> UCB
    would be better.
     
    Last edited: Nov 27, 2019
    chadq likes this.
  41. WannabeCoder

    WannabeCoder

    Joined:
    Apr 11, 2013
    Posts:
    5
    I'll put a drop in the bucket as well. I'm looking into which SCM to use, and have been leaning to Plastic. It's very unfortunate that it isn't supported by Unity Cloud Built yet, despite being a recommended SCM to use with the engine itself.

    Is there any sort of ETA for that? I suppose I could set up a Jenkins build server for now, but we'd prefer to use first-party content by Unity itself.
     
    chadq, Immu and Novack like this.
  42. chadq

    chadq

    Joined:
    Dec 24, 2017
    Posts:
    3
    I've been using Plastic SCM for the last year and it's a great solution. I would really like to see native Plastic support in Unity Cloud Build, so I don't have to work around it like I do now. Thank you!
     
    Immu likes this.
  43. LazloBonin

    LazloBonin

    Joined:
    Mar 6, 2015
    Posts:
    809
    Hi!

    We also want to use Plastic and Cloud Build but we can't, even with Plastic's suggested workaround of using a Git host as a middleman.

    The problem is that our repo is over 10GB, with files over 100MB (which is arguably pretty common for game projects). As far as I know, no Git provider supports that level of storage unless you have Git LFS enabled. Unfortunately, Plastic's GitSync feature does not support Git LFS. Therefore, there's no way to host a git repo as a middleman for our project (even if we are willing to pay for extra storage fees).

    I talked to the Plastic team and they assured me they are committed to UCB integration, but I'd really like to see some progress on Unity's side for this. Plastic is a leading VCS with native integration into the Unity editor, and it's built specifically for handling large repositories and file sizes. It is extremely disappointing that it can't be used for the last important part of a game production pipeline, namely Unity Cloud Build.

    The last update here from Unity staff (@PhilMcJ) was in 2016. Since then, Unity Answers shut down and we can't even see the upvotes for the feature request. Is there still intent to support this at all, or should I look for another VCS than Plastic? @hypeNate @David-Berger
     
    mbarnes-mv, _met44, MattLT and 5 others like this.
  44. _met44

    _met44

    Joined:
    Jun 1, 2013
    Posts:
    633
    Hey just bumping this since I'm interested as well ! UCB is cool, plastic is cool, let them make cool babies together <3
     
  45. newlife

    newlife

    Joined:
    Jan 20, 2010
    Posts:
    1,064
    bumping again.. I really cant understand why Plastic SCM is supported directly by Unity as version control but not inside cloud build..
     
  46. victorw

    victorw

    Joined:
    Sep 14, 2016
    Posts:
    459
    We released support for PlasticSCM last night! You can configure a PlasticSCM repo by using the "Manual" tab for source control. You can find more detailed instructions here.

    Please let us know if you encounter any issues while using PlasticSCM with UCB. As always, forum posts are great for discussing issues and potential fixes with other users whereas support tickets are the best way to talk directly to a Unity engineer and request an investigation.

    (I'm holding off making a pinned announcement until Monday since we have very limited staff on the weekend but I wanted to let you all know!)
     
    Novack and newlife like this.
  47. newlife

    newlife

    Joined:
    Jan 20, 2010
    Posts:
    1,064
    This is a very good news! Is this working or its just a beta?
     
  48. victorw

    victorw

    Joined:
    Sep 14, 2016
    Posts:
    459
    It's working and we've tested everything we can think of but this is the first time we're putting it in front of users. I don't really think of things as beta unless it's a restricted user list (e.g. the windows builders). This is our first release of this functionality and we do expect to improve it over the next few months. PlasticSCM support will definitely be a priority for continual support from this point forward.
     
    _met44, Novack and newlife like this.
  49. DennisKipper

    DennisKipper

    Joined:
    Apr 14, 2020
    Posts:
    1
    Hello there,
    I just tried to Cloud Build a Plastic SCM project and get this error:

    Any help?

    Thanks a lot in advance!
     
  50. Atori07

    Atori07

    Joined:
    Sep 30, 2019
    Posts:
    4
    Hi.
    I've been using Github as a source for UnityCloudBuild, but recently I decided to use Plastic SCM.

    The build targets are both iOS and Android.
    iOS is not a problem.
    However, Android fails to build.

    UCB records that may be relevant
    I have omitted them.

    I don't know the cause and am struggling with it.
    I have deleted the Android project data and reconfigured it.
    I also reconfigured the Source Control Settings, but it doesn't work.
    I also don't know why it only works on iOS.

    Please help me.


    13: Scanning the drive for archives:
    14: 1 file, 4838188 bytes (4725 KiB)
    15: Extracting archive: C:\tools\cygwin\home\buildbot\buildpack.zip
    16: --
    17: Path = C:\tools\cygwin\home\buildbot\buildpack.zip
    18: Type = zip
    19: Physical Size = 4838188
    20: Everything is Ok
    21: Folders: 3
    22: Files: 12
    23: Size: 13443171
    24: Compressed: 4838188
    25: Requesting Unity licenses for this machine...
    26: License dir does not exist
    27: Client product version: 1.6.2+1.91f8005
    28: Trying to acquire floating license from: 35.238.64.14 ...
    29: License lease Created with token xxxxxxxx. Expires: Monday, September 6, 2021 2:04:18 PM
    30: Client product version: 1.6.2+1.91f8005
    31: Found a pooled license.
    32: bvr 3.7.16
    33: bvr-api 0.3.23
    34: Found a pooled license.
    35: Found a pooled license.
    36: [06/Sep/2021:14:56:21] Sent Unity activation metrics
    37: prebuildstatus finished successfully.
    38: All identities removed.
    39: BVR: SCM Checkout
    40: Plastic: Checkout project...
    41: Invalid working mode: SSOWorkingMode
    42: ! checkout failed. Failed to configure Plastic Client for user **** at Server xxx@cloud

    Some names and tokens are hidden.