Odin breaks my Unity Cloud Build

Issue #248 open
Anonymous created an issue

I have added Odin to a project I'm working on, and it now breaks the Unity Cloud Build.

Below is the error feedback I get from Unity Cloud Build...

1: [Unity] Initialize engine version: 2017.1.2f1 (cc85bf6a8a04) 2: [Unity] Assets/Scripts/TableSwipe.cs(19,9): warning CS0618: DigitalRubyShared.GestureRecognizer.Updated' is obsolete:Please use StateChanged as this property will be removed in a future version.' 3: [Unity] Assets/Scripts/TableSwipe.cs(19,9): warning CS0618: DigitalRubyShared.GestureRecognizer.Updated' is obsolete:Please use StateChanged as this property will be removed in a future version.' 4: [Unity] Refresh: detecting if any assets need to be imported or removed ... A meta data file (.meta) exists but its asset 'Assets/Plugins/Sirenix/Odin Inspector/Config/Resources/Sirenix' can't be found. When moving or deleting files outside of Unity, please ensure that the corresponding .meta file is moved or deleted along with it. 5: [Unity] Assets/Scripts/TableSwipe.cs(19,9): warning CS0618: DigitalRubyShared.GestureRecognizer.Updated' is obsolete:Please use StateChanged as this property will be removed in a future version.' 6: [Unity] Assets/Scripts/TableSwipe.cs(19,9): warning CS0618: DigitalRubyShared.GestureRecognizer.Updated' is obsolete:Please use StateChanged as this property will be removed in a future version.' 7: [Unity] Assets/Scripts/TableSwipe.cs(19,9): warning CS0618: DigitalRubyShared.GestureRecognizer.Updated' is obsolete:Please use StateChanged as this property will be removed in a future version.' 8: [Unity] Assets/Scripts/TableSwipe.cs(19,9): warning CS0618: DigitalRubyShared.GestureRecognizer.Updated' is obsolete:Please use StateChanged as this property will be removed in a future version.' 9: [Unity] Initialize engine version: 2017.1.2f1 (cc85bf6a8a04) 10: [Unity] Assets/Scripts/TableSwipe.cs(19,9): warning CS0618: DigitalRubyShared.GestureRecognizer.Updated' is obsolete:Please use StateChanged as this property will be removed in a future version.' 11: [Unity] Assets/Scripts/TableSwipe.cs(19,9): warning CS0618: DigitalRubyShared.GestureRecognizer.Updated' is obsolete:Please use StateChanged as this property will be removed in a future version.' 12: [Unity] WARNING: 281165664 format is not supported, decompressing texture 13: [Unity] -----CompilerOutput:-stdout--exitcode: 1--compilationhadfailure: True--outfile: Temp/Assembly-CSharp.dll 14: [Unity] Compilation failed: 2 error(s), 0 warnings 15: [Unity] Assets/Scripts/GameData.cs(3,15): error CS0234: The type or namespace name Serialization' does not exist in the namespaceSirenix'. Are you missing an assembly reference? 16: [Unity] Assets/Scripts/GameData.cs(8,25): error CS0246: The type or namespace name SerializedScriptableObject' could not be found. Are you missing an assembly reference? 17: [Unity] Assets/Scripts/GameData.cs(3,15): error CS0234: The type or namespace nameSerialization' does not exist in the namespace Sirenix'. Are you missing an assembly reference? 18: [Unity] Assets/Scripts/GameData.cs(8,25): error CS0246: The type or namespace nameSerializedScriptableObject' could not be found. Are you missing an assembly reference? 19: [Unity] Error building Player because scripts had compiler errors 20: [Unity] Player export failed. Reason: 3 errors 21: ! build of 'default-android' failed. compile failed 22: publishing finished successfully. 23: Finished: FAILURE

Comments (22)

  1. Ben Visser

    As an outsider with this problem as well. This problem persists for me after updating all the .dll files to compile w/ iOS enabled.

    I can create builds without hitting any of these issues - but I may of missed something in the setup if you guys can't replicate.

    Screen Shot 2017-12-18 at 5.07.55 PM.pngScreen Shot 2017-12-18 at 5.07.55 PM.pngScreen Shot 2017-12-18 at 5.07.55 PM.pngScreen Shot 2017-12-18 at 5.07.55 PM.pngScreen Shot 2017-12-18 at 5.07.55 PM.pngScreen Shot 2017-12-18 at 5.07.55 PM.png

  2. Ben Visser

    Am using 1.0.5.3 and Unity 2017.1.1f

    To help outlay the situation; I've set all the attributes values in the Assemblie packages to include all platforms.

    I'm a little confused about What the NoEditor, NoEmitAndNoEditor and the base class do differently, but have set the values across all of them. I do get the error 'error CS1704: An assembly with the same name `Sirenix.Utilities' has already been imported. Consider removing one of the references or sign the assembly Assets/Plugins/Sirenix/Assemblies/NoEditor/Sirenix.Utilities.dll (Location of the symbol related to previous error) Assets/Plugins/Sirenix/Assemblies/NoEmitAndNoEditor/Sirenix.Utilities.dll (Location of the symbol related to previous error)

    Compilation failed: 1 error(s), 0 warnings' I get the impression I should only be using one of these sets. Is there a right one for unity cloud build?

    I've had previous cloud build failures off other files not related directly to my project. For example the /sirenix/demos/scripts files would cause a bunch of errors as well (not being able to locate the libraries that it needed). I silenced this by adding a ~ to the end of the library folder [to remove from the project]...

    I have tried building a bunch of #IF_Unity_Editor || Unity_CloudBuild pragmas around everything, and can lull some of the error messages. But couldn't get a working build running.

    Happy to provide any more infomation if it helps.

    https://www.pastiebin.com/5a3790f9719e3 // cloud build log

  3. Tor Esa Vestergaard

    From checking the cloud build log you've posted, it looks to me like you've enabled Editor Only Mode without deleting the demo folders, as it says to do in the Editor Only Mode page where you enable it. If that isn't the case, messing around with the assembly import settings as you describe doing could easily have caused similar effects, in which case, you should delete and reimport Odin in order to restore the correct assembly import settings.

    It looks like you might also need to delete the BuildAOTAutomation.cs script file, in addition to the demo folders. This script hasn't been reported to cause compiler errors so far even with Editor Only Mode enabled, but things might be inexplicably different in Mac cloud builds for unknown reasons. Try without deleting that script first, and if there are still compiler errors, then try deleting it.

  4. Ben Visser

    Hi, uninstalled and reinstalled Odin. Build failed. https://www.pastiebin.com/5a38ae5acb195

    Removed BuildAOTAutomation.cs class [which seemed to be the only thing cloud build was crying about] Build failed again https://www.pastiebin.com/5a38bd16e3649 This time complaining about my class that uses your libraries. The class in question; https://www.pastiebin.com/5a38bd5a97b6b

    Updated class to include pragams around everything when building it out on the cloud; https://www.pastiebin.com/5a38bd8219f28

  5. Ben Visser

    Still haven't managed to get a build out of it. One thing that stands out to me is that platforms aren't included in the plugin .dll files; ios in particular. I'm unsure if you guys know what these should be set to? I haven't messed with them at all. But off the bat they're not working..

    bs.png

  6. Tor Esa Vestergaard

    I know that other customers have used cloud build for iOS, and it has worked just fine there, yes, so this is rather mystifying. Which errors did you get after you compiled with this file? Also, would it be possible for you to hop onto Discord, so we can get into this issue more thoroughly than through the issue tracker?

  7. Ben Visser

    To reply to Bjarke Ellas's question. I haven't enabled editor only mode. I'm not using any parts of the serialisation system.
    After compiling with the above file I got an error pointing at files in the LevelSequencer class I thought I had pragra'd out. I'm currently rebuilding it with the entire class commented out; just to see what will happen.

    Totally happy to try discord at some point. I don't have a unity teams licence, so some times the unity cloud builds can get up to an hours space between builds; so that might be abit painful at times to test.

  8. Tor Esa Vestergaard

    Let's hope that build works out. Even without Editor Only mode enabled, there are a lot of things in Odin that are only present in the editor.

    I should also note that the "regenerating files" are Odin's config files, and these should probably be admitted into source control, as they store Odin configuration in your project.

  9. Tor Esa Vestergaard

    That looks like Odin's dlls are just plain not being included in the compile process at all. How... very odd. It should be the NoEmitAndNoEditor assemblies being used for the iOS platform. How does their configuration look in your project? And if you do an iOS build locally, and not a cloud build, does it work?

  10. Ben Visser

    4.PNG5.PNG6.PNG7.PNG8.PNGcap2.PNGcap3.PNGCapture.PNGCapture1.PNG

    Haven't tested an iOS build on a mac machine. Will need to do that at work at some stage. Can build an iOS version build on a pc, doesn't break... But; i don't know if that counts.

  11. Tor Esa Vestergaard

    Those settings look entirely correct to me. This is beginning to look like a bug in Unity's cloud build, where for some reason the correct assemblies aren't included in the build compilation process.

  12. Tor Esa Vestergaard

    Have you tried running Odin in source mode instead, and seeing if that solves the problem?

    Apart from that, I would say try reporting this to Unity as an error, and send them the project that fails in cloud build - it looks like something in Unity is causing the assemblies to not be included correctly in the iOS cloud build process, despite them having the correct configuration.

  13. Log in to comment