Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Unity 5 API Updater: "API updating failed. Check previous console messages." with no messages

Discussion in 'Editor & General Support' started by Dreamzle, Mar 5, 2015.

  1. Dreamzle

    Dreamzle

    Joined:
    Apr 23, 2014
    Posts:
    43
    Using Unity 5.0.0f4 Personal, I go to Assets/Run API Updater, it thinks for a while, then says "API updating failed. Check previous console messages" ...but there are no previous console messages about why the update failed. All I got are the same hundreds of errors, many of which say "UnityUpgradable" at the end so should in theory work with the Updater.
     
  2. Dreamzle

    Dreamzle

    Joined:
    Apr 23, 2014
    Posts:
    43
    OK, I think all I have left are two types of errors. Ones like this:
    'UnityEngine.Component.renderer' is obsolete. Property renderer has been deprecated. Use GetComponent<Renderer>() instead. (UnityUpgradable)

    followed by an error with how that property was used:
    'sharedMaterials' is not a member of 'UnityEngine.Component'.

    The second error is always fixed by fixing the first error, so the API Updater should easily be able to deal with this. But it doesn't, it just gives me that error about "API updating failed" with no details about why it failed. Sure I could fix this by hand, but with 270 errors in many scripts, it'd be a hell of a lot nicer if the automatic updater worked :)
     
  3. masterchafe

    masterchafe

    Joined:
    Oct 2, 2011
    Posts:
    59
    270! - I got 999+ (with no idea of an exact number this is a nightmare :D)

    it's great that the log says (UnityUpgradable) for errors it can upgrade, but what does it say after errors it can't upgrade? If I knew that I could search for what is stopping it in the editor.log file. I've tried searching for (Not UnityUpgradable), (NotUnityUpgradable), (!UnityUpgradable) etc but can't find a thing.

    While you're at it, how does deprecating a property like "renderer" or "rigidbody" make my life easier? I used to be able to type something like "transform.renderer.material" for example, but now will have to type "transform.GetComponent<Renderer>().material". Changes like that add up over a project's lifetime and could cost a lot in work hours in the log run. Thanks for that one.
     
    Last edited: Mar 9, 2015
  4. pixellegolas

    pixellegolas

    Joined:
    Apr 10, 2011
    Posts:
    223
    I installed 32bit version of unity and it passed all the autoupdate
     
  5. Graham-Dunnett

    Graham-Dunnett

    Unity Technologies

    Joined:
    Jun 2, 2009
    Posts:
    4,287
    Assets/Run API Updater looks at your scripts from 4.x and attempts to update the scripts to 5.x. This function happens when you load a 4.x project into 5.x, so typically the menu version isn't actually needed. (I don't think I have ever seen this option not greyed out.) The updater is trying to update your scripts for you. If it is unable to update something, just look in the docs to see how the 5.x version of the function/class/member is implemented.
     
  6. masterchafe

    masterchafe

    Joined:
    Oct 2, 2011
    Posts:
    59
    I installed 5.1 and it converted the 4.5 project which 5.0 wouldn't. Oh yeah! Sweet :D
     
  7. HalversonS

    HalversonS

    Joined:
    Jan 24, 2014
    Posts:
    28
    Don't attempt to update from anything prior to Unity 5 to Unity 5.3. Update to Unity 5.2 then to 5.3. Otherwise the recent changes made to how languages are handled in 5.3 will stop the updater from working. I had some 900 errors trying to go from 4.6 to 5.3. Very few going from 4.6 to 5.2 to 5.3. Seems like a lot of it gets hung up on various components not being part of UnityEngine.Component.