Search Unity

Feature Request Unity Cloud Build Feature Requests

Discussion in 'Unity Build Automation' started by David-Berger, Jun 2, 2015.

Thread Status:
Not open for further replies.
  1. David-Berger

    David-Berger

    Unity Technologies

    Joined:
    Jul 16, 2014
    Posts:
    745
    Starting today the Unity Feedback site has a new category for Unity Cloud Build.

    You’ll be able to check this area to see which feature requests are currently popular, and to vote for (or suggest!) the features you care about the most.

    Every user receives 10 votes to use, and if there is a feature you REALLY care about you can vote for it up to three times.

    You’ll notice that each feature has a status:
    • Active: Any Feedback which is currently not Completed, Declined or Invalid.
    • Under review: We’re considering this feature.
    • Planned: We’ve agreed that this feature should be implemented, and found a place for it on our roadmap
    • Started: We’ve started work on this feature.
    • Completed: This feature is complete.
    • Declined: We’ve considered this feature but decided not to implement it.
    • Invalid: Feedback which was rejected as it does not fit to the Service.
    When you’re discussing Cloud Build features on the forum, using Twitter, or anywhere else, try to remember to link to the feature request on the feedback site so that other users will find it and up-vote it! And if someone suggests something brilliant, encourage them to submit it to the feedback site so it can be documented and considered. The Cloud Build team will try to keep the requests updated and will reach out to the person who posted the request if any clarification is necessary.

    Thanks to all of you for using the service and being a vocal part of the Cloud Build community. We remain dedicated to helping relieve you of repetitive workflows so you can stay focused on building awesome games!
     
  2. goldbug

    goldbug

    Joined:
    Oct 12, 2011
    Posts:
    767
    @David-Berger, the last completed feature is 2 years old, nothing is started, nothing is planned and nothing new is in review.

    Are you guys watching the Unity feedback site? Is there any development in cloud build?
     
    Tarrag, Skade88 and erlioniel like this.
  3. ollieblanks

    ollieblanks

    Unity Technologies

    Joined:
    Aug 21, 2017
    Posts:
    460
    @goldbug Thank you for raising this concern. We are always making a conscious effort to respond to our user's feedback and keep our users up to date with new developments.

    Cloud Build is under active development, and most of that effort in recent months has gone into maintaining support for the existing platforms, reducing the error rates (such as the work with teams across Unity on solving the shader compiler errors), and working on a few key new features such as the new deployments service (for which Xiaomi's Mi Game Center is the first target).

    We have still been monitoring and reviewing new feedback items, although it is evident that the Feedback site has not been kept up to date as it should.
     
    Skade88 and goldbug like this.
  4. StaffanEk

    StaffanEk

    Joined:
    Jul 13, 2012
    Posts:
    380
    Include my template file in the WebGL build, and stop blowing smoke up my ass about hosting. I don't care about hosting.
     
    MaxGuernseyIII likes this.
  5. PlayItSafe_Fries

    PlayItSafe_Fries

    Joined:
    Jan 17, 2018
    Posts:
    11
    Instead of waiting for Unity to fix this, I decided to write a workaround myself. This will allow you to use your custom template with cloud build.

    Just put this code anywhere in your project (Preferrably under an /Editor folder) and don't forget to replace the <YOUR TEMPLATE NAME> part with your actual template name.

    Code (CSharp):
    1. #if UNITY_EDITOR && UNITY_WEBGL
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4. using UnityEditor.Callbacks;
    5. using UnityEditor;
    6. using System.IO;
    7. using System;
    8. using System.Text.RegularExpressions;
    9. using System.Linq;
    10.  
    11. public class PostProcessWebGL
    12. {
    13.     //The name of the WebGLTemplate. Location in project should be Assets/WebGLTemplates/<YOUR TEMPLATE NAME>
    14.     const string __TemplateToUse = "<YOUR TEMPLATE NAME>";
    15.  
    16.     [PostProcessBuild]
    17.     public static void ChangeWebGLTemplate(BuildTarget buildTarget, string pathToBuiltProject)
    18.     {
    19.         if (buildTarget != BuildTarget.WebGL) return;
    20.  
    21.  
    22.         //create template path
    23.         var templatePath = Paths.Combine(Application.dataPath, "WebGLTemplates", __TemplateToUse);
    24.  
    25.         //Clear the TemplateData folder, built by Unity.
    26.         FileUtilExtended.CreateOrCleanDirectory(Paths.Combine(pathToBuiltProject, "TemplateData"));
    27.  
    28.         //Copy contents from WebGLTemplate. Ignore all .meta files
    29.         FileUtilExtended.CopyDirectoryFiltered(templatePath, pathToBuiltProject, true, @".*/\.+|\.meta$", true);
    30.  
    31.         //Replace contents of index.html
    32.         FixIndexHtml(pathToBuiltProject);
    33.     }
    34.  
    35.     //Replaces %...% defines in index.html
    36.     static void FixIndexHtml(string pathToBuiltProject)
    37.     {
    38.         //Fetch filenames to be referenced in index.html
    39.         string
    40.             webglBuildUrl,
    41.             webglLoaderUrl;
    42.    
    43.         if (File.Exists(Paths.Combine(pathToBuiltProject, "Build", "UnityLoader.js")))
    44.         {
    45.             webglLoaderUrl = "Build/UnityLoader.js";
    46.         }
    47.         else
    48.         {
    49.             webglLoaderUrl = "Build/UnityLoader.min.js";
    50.         }
    51.  
    52.         string buildName = pathToBuiltProject.Substring(pathToBuiltProject.LastIndexOf("/") + 1);
    53.         webglBuildUrl = string.Format("Build/{0}.json", buildName);
    54.  
    55.         //webglLoaderUrl = EditorUserBuildSettings.development? "Build/UnityLoader.js": "Build/UnityLoader.min.js";
    56.         Dictionary<string, string> replaceKeywordsMap = new Dictionary<string, string> {
    57.                 {
    58.                     "%UNITY_WIDTH%",
    59.                     PlayerSettings.defaultWebScreenWidth.ToString()
    60.                 },
    61.                 {
    62.                     "%UNITY_HEIGHT%",
    63.                     PlayerSettings.defaultWebScreenHeight.ToString()
    64.                 },
    65.                 {
    66.                     "%UNITY_WEB_NAME%",
    67.                     PlayerSettings.productName
    68.                 },
    69.                 {
    70.                     "%UNITY_WEBGL_LOADER_URL%",
    71.                     webglLoaderUrl
    72.                 },
    73.                 {
    74.                     "%UNITY_WEBGL_BUILD_URL%",
    75.                     webglBuildUrl
    76.                 }
    77.             };
    78.  
    79.         string indexFilePath = Paths.Combine(pathToBuiltProject, "index.html");
    80.       Func<string, KeyValuePair<string, string>, string> replaceFunction = (current, replace) => current.Replace(replace.Key, replace.Value);
    81.         if (File.Exists(indexFilePath))
    82.         {
    83.           File.WriteAllText(indexFilePath, replaceKeywordsMap.Aggregate<KeyValuePair<string, string>, string>(File.ReadAllText(indexFilePath), replaceFunction));
    84.         }
    85.  
    86.     }
    87.  
    88.     private class FileUtilExtended
    89.     {
    90.    
    91.         internal static void CreateOrCleanDirectory(string dir)
    92.         {
    93.             if (Directory.Exists(dir))
    94.             {
    95.                 Directory.Delete(dir, true);
    96.             }
    97.             Directory.CreateDirectory(dir);
    98.         }
    99.  
    100.         //Fix forward slashes on other platforms than windows
    101.         internal static string FixForwardSlashes(string unityPath)
    102.         {
    103.             return ((Application.platform != RuntimePlatform.WindowsEditor) ? unityPath : unityPath.Replace("/", @"\"));
    104.         }
    105.  
    106.  
    107.  
    108.         //Copies the contents of one directory to another.
    109.       public static void CopyDirectoryFiltered(string source, string target, bool overwrite, string regExExcludeFilter, bool recursive)
    110.         {
    111.             RegexMatcher excluder = new RegexMatcher()
    112.             {
    113.                 exclude = null
    114.             };
    115.             try
    116.             {
    117.                 if (regExExcludeFilter != null)
    118.                 {
    119.                     excluder.exclude = new Regex(regExExcludeFilter);
    120.                 }
    121.             }
    122.             catch (ArgumentException)
    123.             {
    124.               UnityEngine.Debug.Log("CopyDirectoryRecursive: Pattern '" + regExExcludeFilter + "' is not a correct Regular Expression. Not excluding any files.");
    125.                 return;
    126.             }
    127.             CopyDirectoryFiltered(source, target, overwrite, excluder.CheckInclude, recursive);
    128.         }
    129.       internal static void CopyDirectoryFiltered(string sourceDir, string targetDir, bool overwrite, Func<string, bool> filtercallback, bool recursive)
    130.         {
    131.             // Create directory if needed
    132.             if (!Directory.Exists(targetDir))
    133.             {
    134.                 Directory.CreateDirectory(targetDir);
    135.                 overwrite = false;
    136.             }
    137.  
    138.             // Iterate all files, files that match filter are copied.
    139.             foreach (string filepath in Directory.GetFiles(sourceDir))
    140.             {
    141.                 if (filtercallback(filepath))
    142.                 {
    143.                     string fileName = Path.GetFileName(filepath);
    144.                     string to = Path.Combine(targetDir, fileName);
    145.  
    146.                
    147.                     File.Copy(FixForwardSlashes(filepath),FixForwardSlashes(to), overwrite);
    148.                 }
    149.             }
    150.  
    151.             // Go into sub directories
    152.             if (recursive)
    153.             {
    154.                 foreach (string subdirectorypath in Directory.GetDirectories(sourceDir))
    155.                 {
    156.                     if (filtercallback(subdirectorypath))
    157.                     {
    158.                         string directoryName = Path.GetFileName(subdirectorypath);
    159.                       CopyDirectoryFiltered(Path.Combine(sourceDir, directoryName), Path.Combine(targetDir, directoryName), overwrite, filtercallback, recursive);
    160.                     }
    161.                 }
    162.             }
    163.         }
    164.  
    165.         internal struct RegexMatcher
    166.         {
    167.             public Regex exclude;
    168.             public bool CheckInclude(string s)
    169.             {
    170.                 return exclude == null || !exclude.IsMatch(s);
    171.             }
    172.         }
    173.  
    174.     }
    175.  
    176.     private class Paths
    177.     {
    178.         //Combine multiple paths using Path.Combine
    179.         public static string Combine(params string[] components)
    180.         {
    181.             if (components.Length < 1)
    182.             {
    183.                 throw new ArgumentException("At least one component must be provided!");
    184.             }
    185.             string str = components[0];
    186.             for (int i = 1; i < components.Length; i++)
    187.             {
    188.                 str = Path.Combine(str, components[i]);
    189.             }
    190.             return str;
    191.         }
    192.     }
    193.  
    194. }
    195.  
    196. #endif
    Good luck!
     
  6. iMer

    iMer

    Joined:
    May 21, 2013
    Posts:
    29
    @ollieblanks
    ..and a month and a half later still nothing notable has happened

    Please find some time to fix all the smaller issues (looking over the feedback site: headless builds, being able to edit signing credentials, more predefined webhook endpoints, svn externals and more) people have been complaining about for YEARS.
    It's just mindboggling why Unity hasn't invested any time in sorting these sore spots in a otherwise fairly good service ESPECIALLY since cloud build is a fully fledged paid product under Unity Teams now

    I don't need a solution this instant, I just want to see something is happening at least.
    Give us a roadmap, update us, tell us what's going on. Please.
     
    Immu, thibouf, mmortall and 5 others like this.
  7. mmortall

    mmortall

    Joined:
    Dec 28, 2010
    Posts:
    89
    Looks like Unity not working on Unity Cloud anymore. All the same, as it was 2 years ago.
     
    StaffanEk likes this.
  8. Karsten

    Karsten

    Joined:
    Apr 8, 2012
    Posts:
    187
    Can we please have an option for a public download link for Builds OR if UT fears too much traffic an option to upload ready builds to FTP or Google Faildrive or Dropbox (FTP prefered because pro...) would be awesome.As it looks like the links from the Build success webhook work only for people with a Unity Teams seat/account .
    I will recommend you for the Alan Touring avard if you implement a way to share a public link or an upload to an alternate space.
    Thanks.
     
  9. darbotron

    darbotron

    Joined:
    Aug 9, 2010
    Posts:
    352
    Hi

    Firstly, love cloudbuild - it's a great bit of tech and has saved countless hours :)

    A couple of feature requests:

    1) public sharing links
    I think it would be great to be able to manage these separately from the individual builds.

    Ideally I'd like to be able to auto-remove links for builds as they move down the build queue (e.g. just keep them for the top X entries).

    2) Integrations
    (Yeah, I know these are beta)
    We have people from our publisher on our slack who don't have Unity accounts for our project, so it would be awesome if the integration for slack could optionally generate a public sharing link.​

    I'm sure I could implement these myself with the Unity / Slack webhook APIs but since I think these would be super useful features for lots of people using cloud build I thought I'd mention them here :)
     
    Last edited: Sep 14, 2018
    ollieblanks likes this.
  10. darbotron

    darbotron

    Joined:
    Aug 9, 2010
    Posts:
    352
    d'oh! I'll add this to the actual feature request site. my bad.
     
    ollieblanks likes this.
  11. TanselAltinel

    TanselAltinel

    Joined:
    Jan 7, 2015
    Posts:
    190
  12. FMaroy

    FMaroy

    Joined:
    Oct 8, 2015
    Posts:
    5
    What about Blender files support? Is it coming some time?
     
    senjacob and Skade88 like this.
  13. james7132

    james7132

    Joined:
    Mar 6, 2015
    Posts:
    166
    A small one: use a different archive format for desktop platforms other than ZIP.

    When processing the result of the build in a continuous deployment system following a build, because the ZIP file format requires the file metadata to be stored at the end of a file instead of at the beginning. This means the entire file must be downloaded to disk to locally process the build. This can be quite costly when the build is several gigabyte while working in a low disk or even diskless environment.

    If possible, could we also get the build artifacts uploaded in some other fomat? Either as compressed individual files (w/file hash) or some archive format that supports stream decompression like *.tar.gz.
     
  14. jmanx18

    jmanx18

    Joined:
    Feb 6, 2013
    Posts:
    13
    Snupiman likes this.
  15. Snupiman

    Snupiman

    Joined:
    Sep 7, 2012
    Posts:
    34
    This is a perfect feature for us. We have many Android devices for testing. Typing URL or opening URL on all devices is a tedious job. Scanning QR codes save a ton of time.

    It would be even more awesome if QR code was visible to anyone and not only members of the cloud service. Eg. Member of SLACK channel (external QA tester) gets notified with new build available and link to download APK. If he doesn't want to have all testing devices connected to SLACK or manually type the URL, he has to generate his QR code to speed up the process. What do you think about this
    @ollieblanks ?

    Thanks.
     
    Last edited: Jan 25, 2019
  16. Snupiman

    Snupiman

    Joined:
    Sep 7, 2012
    Posts:
    34
    Hey guys!

    I often build for iOS TestFlight. It would be handy to have the option to override some "Player Settings" like version # and build # before clean build or build.

    This feature would be especially useful if a developer is making commits from Windows. As far as I am aware there is no option to change build number for the iOS target from Windows.

    @ollieblanks Please let me know if this is possible or we should find work around.
     
    Skade88, andersemil and Deleted User like this.
  17. Snupiman

    Snupiman

    Joined:
    Sep 7, 2012
    Posts:
    34
    @ollieblanks Thank you for fixing our account!

    Since our account can Auto-Build which is extremely helpful, we suggest that you integrate opt-in delay to auto-build. The reason would be that we push several commits at once yet Unity cloud will only pick up on the first one and initiate the build which takes time. Not having to waste time we have to cancel manually and request to build the last commit manually. Thus it defeats the purpose of Auto-Build.
    BTW: We are RAPID PROTOTYPING, so there are several builds to a day.
     
    Skade88 and ollieblanks like this.
  18. jmanx18

    jmanx18

    Joined:
    Feb 6, 2013
    Posts:
    13
    THANKS GUYS that QR update to the share page is extremely helpful true heroes.
     
    victorw likes this.
  19. ollieblanks

    ollieblanks

    Unity Technologies

    Joined:
    Aug 21, 2017
    Posts:
    460
    @jmanx18, :)

    @Snupiman, All of these are great feedback items! Please submit them to the Feedback page to raise awareness with our Product Managers and the community.

    • If you have further feedback you want to submit, please do so here.
    • If you have a support issue with the Cloud Build service, please log a ticket via the Cloud Build section of the Developer Dashboard
    Happy building everyone!!
     
    Skade88 and Deleted User like this.
  20. dimib

    dimib

    Joined:
    Apr 16, 2017
    Posts:
    50
    sdg_unity and slowdth like this.
  21. andersemil

    andersemil

    Joined:
    Feb 2, 2015
    Posts:
    112
    Feature request: Select multiple builds for deleting. The old interface (which was miles faster too) had this option.
     
  22. Skade88

    Skade88

    Joined:
    Jan 2, 2017
    Posts:
    21
    Good Morning Unity Team,

    Thank you for the wonderful Cloud Build services. I have a feature request that would help my dev team move forward better within our workflow. We use Blender to create our models, currently they need to be converted to fbx if we want them to show up in the version of our game compiled using the Unity Cloud Build Agents. Its an extra step we don't need to do if we compile locally on our computers that do have Unity support for blend files (because Blender is installed on our local machines). Please consider adding support for compiling Blender files using the Unity Cloud build agents. Is it harder than installing Blender on the virtual machines/cloud servers or containers that run the build agents? If at all possible I would love to hear about the technical aspects of getting this going.

    Best,
    David Brooks
     
    ollieblanks likes this.
  23. bdavis1000

    bdavis1000

    Joined:
    Oct 4, 2013
    Posts:
    18
    Feature request: console platform builds (switch, ps4, xbone, etc)
     
    CotretJulien likes this.
  24. Vipatronon

    Vipatronon

    Joined:
    Aug 23, 2016
    Posts:
    11
    Feature request: Choose which Vuforia version will be used in the build
     
    henriqueranj likes this.
  25. MaxGuernseyIII

    MaxGuernseyIII

    Joined:
    Aug 23, 2015
    Posts:
    315
    Feature Request: If Auto-Build is on, I should never have to manually trigger a build in order to see the result of my work.

    Currently, according to this support thread, the prose of Auto-Build us only to reduce the need for manual build builds. It would be cool if you could reduce that need all the way to zero, like other pipeline tools already do.
     
  26. lkdin

    lkdin

    Joined:
    Jun 29, 2018
    Posts:
    10
    It would be great if there would be a way to speed up the build process.

    I have a small ARKit application and every build process takes about 30min..
    There is a way to add concurent builds with Unity Teams advanced, but AFAIK it still doesn't speed up the build time.

    I would defenitely be open to pay an 'enterprise fee' to get that 30min build time to something close to 10mins.

    Please let me know if there is something to speed up the build time on your roadmap.
    I really love the cloud build service, but if every single build takes 30mins i'll have to find alternative.
     
  27. alan-lawrance

    alan-lawrance

    Joined:
    Feb 1, 2013
    Posts:
    360
    The ability to deploy to Steam would allow Cloud Build to function as a full continuous integration system for those of use that distribute builds via Steam. I assume this would be a lot of developers.
     
    jaydeebee likes this.
  28. Novack

    Novack

    Joined:
    Oct 28, 2009
    Posts:
    844
    Uploading resulting build files to any address detailed. For WebGL builds this would be the logical step.
     
  29. MaxGuernseyIII

    MaxGuernseyIII

    Joined:
    Aug 23, 2015
    Posts:
    315
    Please support the configured WebGL template. It seems like the ability to use the Kongregate preloader has to be one of the more common WebGL use cases, right?

    I think it's safe to assume that someone who wants a custom template doesn't care about hosting, so you could just disable hosting for those of us who want to use a custom template.
     
  30. BitAssembler

    BitAssembler

    Joined:
    Jul 13, 2017
    Posts:
    90
    Please allow builds with project sizes over 25 GB. Of course, as long as the project size is covered by the collab subscription. Only the Collaboration subscription size should restrict the build.
     
  31. joonturbo

    joonturbo

    Joined:
    Jun 24, 2013
    Posts:
    77
    Please add tvOS support
     
    studentutu likes this.
  32. GAMEDIA_Justin

    GAMEDIA_Justin

    Joined:
    Mar 29, 2017
    Posts:
    19
    Request: don't auto rebuild the project if nothing inside the sub-folder has changed.

    In our repo, we have a folder for the Unity project (frontend) and a folder for the server (backend). UCB uses the sub-folder of the frontend to build. But when we change something in our backend, UCB will auto rebuild the frontend sub-folder, even though nothing has changed inside of that. It would be nice if UCB could pick up that nothing has changed in the sub-folder, thus not causing an automatic rebuild.
     
  33. victorw

    victorw

    Joined:
    Sep 14, 2016
    Posts:
    459
    Unfortunately that's probably something we could only achieve in Collab since all other SCM types don't give us any details on what files you actually changed and we would have to check out and keep a careful record of the subfolder contents in order to know what happened in a given commit. That said, something which we could do to achieve the same goal would be to enable smart commits so that you could configure specific commit messages (e.g. "!build") which have to be present in order to trigger a build.
     
    Novack likes this.
  34. AlexNanomonx

    AlexNanomonx

    Joined:
    Jan 4, 2017
    Posts:
    41
    Is it possible to build the StreamingAssets and copy them before running the tests? Some of our play mode tests require the StreamingAssets, but they're not present when run on the CloudBuild, despite being built and copied as part of our build pipeline.
     
  35. MaxGuernseyIII

    MaxGuernseyIII

    Joined:
    Aug 23, 2015
    Posts:
    315
    I would love to have a badge link that I could include in my external dashboard.

    In case the terminology isn't obvious, what I mean is I'd love to have an image link I can use to show the current status of the build in another web page.
     
  36. Xarbrough

    Xarbrough

    Joined:
    Dec 11, 2014
    Posts:
    1,188
    I'd love to give Cloud Build a try, but my team is developing for Nintendo Switch. Are there any plans to support this platform?
     
    toyhunter likes this.
  37. Sycoforge

    Sycoforge

    Joined:
    Oct 6, 2013
    Posts:
    751
    Please allow the Unity Team version control system being accessed outside of the Unity ecosystem using a GIT URL. This would allow the usage of a proprietary build system in conjunction with Unity Team.
     
    BitAssembler likes this.
  38. MaxGuernseyIII

    MaxGuernseyIII

    Joined:
    Aug 23, 2015
    Posts:
    315
    How about making strict mode fail when there's a missing script?

    I'll give you a use case.

    1. You switch spellcheckers from one that doesn't know the word "multiplayer" to one that does know it.
    2. You rename a bunch of your behaviors from MultiPlayer... to Multiplayer...
    3. You think you fix all the references, everything works in the editor, your automated build with strict mode enabled passes.
    4. One of your screens doesn't load.
    5. You search through the various logs to find a tiny little blurb with yellow text that shows the automated build couldn't find the script...probably because it's running on a Mac or something like that.
    It would be nice if the missing script, which is clearly an error, were treated like an error and caused the build to fail in strict mode.

    Also, why is there a non-strict mode? Is there someone out there who wants to build to pass when a script is missing or something?
     
  39. saltatory

    saltatory

    Joined:
    Jul 17, 2015
    Posts:
    3
    Ugh - I posted a customer support ticket but they claimed they were not technical and directed me here. So it's a little disappointing to see that this area appears not to be active!

    Here's my request:

    I want BUILD_NUMBER to be properly exposed as an environment variable and to automatically increment by one.

    Why?

    There is a feature in UCB where Android builds will automatically increment the Bundle Version Code if the Bundle Version Code in the Unity Editor is set to 0. This works fine. However, like many (MOST!) developers, we are building for both iOS and Android with iOS first. Our process is to increment the version number (e.g. 1.0.0) to the next increment (e.g. 1.1.0) at the start of a feature cycle. We do this in the Unity editor and commit the change. We want the version number for a given release to stay the same during development of that release but the bundle version code should automatically increment producing builds like 1.1.0 (36), 1.1.0 (37) and so forth.

    We do not want to require that devs make this change and commit it to the repo for the obvious reason that they will forget. We could try to write a pre-commit script for this but we don't want to have to check that all devs have it installed. Asking the build system to keep track of the build number seems the correct approach and, in other positions, we have had this implemented and it worked great!

    Jenkins exposes the BUILD_NUMBER as an environment variable for just this purpose. I know you use Jenkins under the hood. So I naively implemented an Editor script that read this variable and injected it into the project as a Pre-Export step. This works except that the BUILD_NUMBER appears to be an almost random number. We get (4) on one build, (63) on the next, followed by (3). Uploads to TestFlight are failing (randomly) because the build numbers are being repeated.

    An alternative to this request would be to implement a feature for iOS like you have for Android. This would be "good".

    "Best" would be to do the request as above but also to make the starting number configurable in the UCB Config Editor. That way, for apps migrating onto UCB as we were, we could set the starting number.
     
  40. victorw

    victorw

    Joined:
    Sep 14, 2016
    Posts:
    459
    Does it need to be exposed as an environment variable? The build target number is exposed on the Build Manifest. I've logged a ticket for adding this as an environment variable but it sounds like the Build Manifest is probably sufficient for your purposes.
     
  41. saltatory

    saltatory

    Joined:
    Jul 17, 2015
    Posts:
    3
    I'm open to ideas.

    Not sure when the Build Manifest gets injected. If it gets injected prior to export, then maybe it's fine - I could pick up the correct values in the PreExport trigger and inject the correct values prior to the native build phase. If not, how would I inject the values into the built binary?

    If it were exposed as an environment variable I'm quite certain how and when to handle it.
     
    Arik_st likes this.
  42. saltatory

    saltatory

    Joined:
    Jul 17, 2015
    Posts:
    3
    @victorw thanks for your help. Any idea about when the variable might be exposed?
     
  43. Flarup

    Flarup

    Joined:
    Jan 7, 2010
    Posts:
    164
    Being help to clean build a specific commit from your branch would be SUPER helpful for debugging purposes, instead of just always building the latest commit from your branch.
     
  44. jasonatkaruna

    jasonatkaruna

    Joined:
    Feb 26, 2019
    Posts:
    64
    Got a couple that would help our CI out a lot:
    1. Allow us to add arbitrary values to the build manifest from our scm webhooks via the JSON key.
    2. Support other triggers than branch updates, like PRs or specific tags.
    3. Allow us to edit the target name of the build with string values from the build manifest. e.g., we can name a target "Win 64 {tag}" and it will replace the "{tag}" with `manifest.GetValue<string>("tag")` when that target is built.
     
  45. Rabadash8820

    Rabadash8820

    Joined:
    Aug 20, 2015
    Posts:
    94
    It would be REALLY nice if we could auto-build in response to new commits on any branch matching a pattern, e.g. `feature-*` or `pr/*`, so that we could trigger Cloud Build builds as part of pull request validation or branch protection policies.
     
  46. thePostFuturistUnity

    thePostFuturistUnity

    Joined:
    Nov 16, 2012
    Posts:
    53
    UWP build support, please. Compiling for the Hololens is a two-step process of going from a Unity Solution to a UWP package that I'd love to bundle into one Cloud Build.
     
  47. victorw

    victorw

    Joined:
    Sep 14, 2016
    Posts:
    459
    Hey, sorry for not responding earlier - we released this a while ago, build numbers are now exposed as the UCB_BUILD_NUMBER environment variable.
     
    Thaina likes this.
  48. damelin2

    damelin2

    Joined:
    Jan 8, 2013
    Posts:
    19
    Hi,

    We would love to have the ManifestMerger logs included in the Cloud Build Full Log output.

    Google Play Console was warning us that 2 new important permissions (WRITE_EXTERNAL_STORAGE, READ_PHONE_STATE) were added to our game and this wasn't intentional from us.

    After exporting the project and build it with Android Studio, I saw why theses permissions were added:
    uses-permission#android.permission.WRITE_EXTERNAL_STORAGE
    IMPLIED from /Users/..../src/main/AndroidManifest.xml:2:1-60:12 reason: com.android.installreferrer has a targetSdkVersion < 4


    From there I was able to address our problem. I would have loved it to see this mention directly from the Cloud Build log.

    Thanks!
     
  49. Revolter

    Revolter

    Joined:
    Mar 15, 2014
    Posts:
    216
    • Build report for Addressable Assets (not sure if already available for Asset Bundles) when included in the normal build. Would be useful to see which assets are not optimized.
    • Build times for different stages of the build (including building addressables). Right now the times don't add up to 2 hours
    upload_2020-1-26_10-39-48.png
     
    vrobel-lte likes this.
  50. AppBite

    AppBite

    Joined:
    Jul 5, 2012
    Posts:
    79
    Can we please get the release version of Unity added to Cloud Build in sync when the release goes public?

    eg) I updated to 2019.3.1f1, but Cloud Build's "Latest 2019.3" = 2019.3.0f6 when I run it (and I'm not spotting 2019.3.1f1 in the dropdown menu to set manually).

    Thanks
     
Thread Status:
Not open for further replies.