Search Issue Tracker

Fixed

Votes

0

Found in [Package]

2.0.0a13

Issue ID

UVSB-935

Regression

Yes

Unable to build projects due to Odin FileNotFoundException

Package: Visual Scripting Bugs

-

When trying to create a build using Unity's Build settings or via a build script the Odin Serializer gives errors saying it's not inside the current project.

{code:java}
FileNotFoundException: The referenced Odin Serializer assemblies are not inside the current Unity project - cannot use build automation script!
Unity.Bolt.OdinSerializer.Utilities.Editor.OdinBuildAutomation..cctor () (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Dependencies/Odin Serializer/OdinBuildAutomation.cs:32)
Rethrow as TypeInitializationException: The type initializer for 'Unity.Bolt.OdinSerializer.Utilities.Editor.OdinBuildAutomation' threw an exception.
Unity.Bolt.OdinSerializer.Utilities.Editor.OdinPreBuildAutomation.OnPreprocessBuild (UnityEditor.Build.Reporting.BuildReport report) (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Dependencies/Odin Serializer/OdinBuildAutomation.cs:113)
UnityEditor.Build.BuildPipelineInterfaces+<>c__DisplayClass15_0.<OnBuildPreProcess>b__1 (UnityEditor.Build.IPreprocessBuildWithReport bpp) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:411)
UnityEditor.Build.BuildPipelineInterfaces.InvokeCallbackInterfacesPair[T1,T2] (System.Collections.Generic.List`1[T] oneInterfaces, System.Action`1[T] invocationOne, System.Collections.Generic.List`1[T] twoInterfaces, System.Action`1[T] invocationTwo, System.Boolean exitOnFailure) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildPipelineInterfaces.cs:391)
UnityEditor.BuildPipeline:BuildPlayer(BuildPlayerOptions)
BuildScripts.Editor.CreateBuilds:StandAloneWindows64Bit() (at Assets/Editor/CreateBuilds.cs:168)
BuildScripts.Editor.CreateBuilds:All64Bit() (at Assets/Editor/CreateBuilds.cs:84)
{code}

Steps to reproduce
- Create a new project with Unity 2019.4.4f1 install Bolt 2.0.0a13
- Open File, Build settings.
- Add the current scene
- Select build
- Save Build
Notice issue >>
{code:java}
FileNotFoundException: The referenced Odin Serializer assemblies are not inside the current Unity project - cannot use build automation script!
Unity.Bolt.OdinSerializer.Utilities.Editor.OdinBuildAutomation..cctor () (at /Users/johncrowe/Downloads/package/Runtime/Bolt.Core/Dependencies/Odin
{code}

I tried this with 2.0.0a12rc2 and the builds work. I do get a different Odin error, however. Setting this as a regression.

{code:java}
PrecompiledAssemblyException: Multiple precompiled assemblies with the same name Unity.Bolt.OdinSerializer.dll included or the current platform. Only one assembly with the same name is allowed per platform. Assembly paths:
Assets/Bolt/Bolt.Core/Runtime/Dependencies/Odin Serializer/AOT/Unity.Bolt.OdinSerializer.dll
Assets/Bolt/Bolt.Core/Runtime/Dependencies/Odin Serializer/JIT/Unity.Bolt.OdinSerializer.dll
UnityEditor.Scripting.ScriptCompilation.EditorBuildRules.ValidateAndGetNameToPrecompiledAssembly (UnityEditor.Scripting.ScriptCompilation.PrecompiledAssembly[] precompiledAssemblies) (at /Users/builduser/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorBuildRules.cs:625)
UnityEditor.Scripting.ScriptCompilation.EditorBuildRules.ToScriptAssemblies (System.Collections.Generic.IDictionary`2[TKey,TValue] targetAssemblies, UnityEditor.Scripting.ScriptCompilation.ScriptAssemblySettings settings, UnityEditor.Scripting.ScriptCompilation.EditorBuildRules+CompilationAssemblies assemblies, System.Collections.Generic.HashSet`1[T] runUpdaterAssemblies) (at /Users/builduser/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorBuildRules.cs:637)
UnityEditor.Scripting.ScriptCompilation.EditorBuildRules.GenerateChangedScriptAssemblies (UnityEditor.Scripting.ScriptCompilation.EditorBuildRules+GenerateChangedScriptAssembliesArgs args) (at /Users/builduser/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorBuildRules.cs:581)
UnityEditor.Scripting.ScriptCompilation.EditorCompilation.CompileScripts (UnityEditor.Scripting.ScriptCompilation.ScriptAssemblySettings scriptAssemblySettings, System.String tempBuildDirectory, UnityEditor.Scripting.ScriptCompilation.EditorScriptCompilationOptions options, UnityEditor.Scripting.ScriptCompilation.CompilationTaskOptions compilationTaskOptions, UnityEditor.Scripting.ScriptCompilation.EditorBuildRules+TargetAssembly[]& notCompiledTargetAssemblies, System.String[]& notCompiledScripts) (at /Users/builduser/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilation.cs:1530)
UnityEditor.Scripting.ScriptCompilation.EditorCompilation.CompileScripts (UnityEditor.Scripting.ScriptCompilation.EditorScriptCompilationOptions options, UnityEditor.BuildTargetGroup platformGroup, UnityEditor.BuildTarget platform, UnityEditor.Scripting.ScriptCompilation.CompilationTaskOptions compilationTaskOptions) (at /Users/builduser/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilation.cs:1460)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface+<>c__DisplayClass39_0.<CompileScripts>b__0 () (at /Users/builduser/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:335)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface.EmitExceptionAsError[T] (System.Func`1[TResult] func, T returnValue) (at /Users/builduser/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:104)
UnityEditor.BuildPipeline:BuildPlayer(BuildPlayerOptions)
BuildScripts.Editor.CreateBuilds:StandAloneWindows64Bit() (at Assets/Editor/CreateBuilds.cs:168)
BuildScripts.Editor.CreateBuilds:All64Bit() (at Assets/Editor/CreateBuilds.cs:84)
{code}

Tested: macOS, Unity 2019.4.4f1, 2.0.0a12rc2, 2.0.0a13.
--------
On Windows, with the same steps to Reproduce as above the following errors where found:

{code:java}
InvalidOperationException: Failed to get PluginImporter for Packages/package/Runtime/Bolt.Core/Dependencies/Odin Serializer/EditorOnly/Unity.Bolt.OdinSerializer.dll
Unity.Bolt.OdinSerializer.Utilities.Editor.AssemblyImportSettingsUtilities.SetAssemblyImportSettings (UnityEditor.BuildTarget platform, System.String assemblyFilePath, System.Boolean includeInBuild, System.Boolean includeInEditor) (at OdinSerializer/Utilities/Misc/AssemblyImportSettingsUtilities.cs:185)
Unity.Bolt.OdinSerializer.Utilities.Editor.AssemblyImportSettingsUtilities.SetAssemblyImportSettings (UnityEditor.BuildTarget platform, System.String assemblyFilePath, Unity.Bolt.OdinSerializer.Utilities.Editor.OdinAssemblyImportSettings importSettings) (at OdinSerializer/Utilities/Misc/AssemblyImportSettingsUtilities.cs:166)
Unity.Bolt.OdinSerializer.Utilities.Editor.OdinBuildAutomation.OnPreprocessBuild () (at Packages/package/Runtime/Bolt.Core/Dependencies/Odin Serializer/OdinBuildAutomation.cs:60)
Unity.Bolt.OdinSerializer.Utilities.Editor.OdinPreBuildAutomation.OnPreprocessBuild (UnityEditor.Build.Reporting.BuildReport report) (at Packages/package/Runtime/Bolt.Core/Dependencies/Odin Serializer/OdinBuildAutomation.cs:113)
UnityEditor.Build.BuildPipelineInterfaces+<>c__DisplayClass15_0.<OnBuildPreProcess>b__1 (UnityEditor.Build.IPreprocessBuildWithReport bpp) (at <fd8fd784002f49beab0500d3a24213b9>:0)
UnityEditor.Build.BuildPipelineInterfaces.InvokeCallbackInterfacesPair[T1,T2] (System.Collections.Generic.List`1[T] oneInterfaces, System.Action`1[T] invocationOne, System.Collections.Generic.List`1[T] twoInterfaces, System.Action`1[T] invocationTwo, System.Boolean exitOnFailure) (at <fd8fd784002f49beab0500d3a24213b9>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
{code}

{code:java}
PrecompiledAssemblyException: Multiple precompiled assemblies with the same name Unity.Bolt.OdinSerializer.dll included or the current platform. Only one assembly with the same name is allowed per platform. Assembly paths:
C:/Users/wendy.valles/Desktop/com.unity.bolt-develop/com.unity.bolt-develop/a13 release/Packages/package/Runtime/Bolt.Core/Dependencies/Odin Serializer/AOT/Unity.Bolt.OdinSerializer.dll
C:/Users/wendy.valles/Desktop/com.unity.bolt-develop/com.unity.bolt-develop/a13 release/Packages/package/Runtime/Bolt.Core/Dependencies/Odin Serializer/JIT/Unity.Bolt.OdinSerializer.dll
UnityEditor.Scripting.ScriptCompilation.EditorBuildRules.ValidateAndGetNameToPrecompiledAssembly (UnityEditor.Scripting.ScriptCompilation.PrecompiledAssembly[] precompiledAssemblies) (at <fd8fd784002f49beab0500d3a24213b9>:0)
UnityEditor.Scripting.ScriptCompilation.EditorBuildRules.ToScriptAssemblies (System.Collections.Generic.IDictionary`2[TKey,TValue] targetAssemblies, UnityEditor.Scripting.ScriptCompilation.ScriptAssemblySettings settings, UnityEditor.Scripting.ScriptCompilation.EditorBuildRules+CompilationAssemblies assemblies, System.Collections.Generic.HashSet`1[T] runUpdaterAssemblies) (at <fd8fd784002f49beab0500d3a24213b9>:0)
UnityEditor.Scripting.ScriptCompilation.EditorBuildRules.GenerateChangedScriptAssemblies (UnityEditor.Scripting.ScriptCompilation.EditorBuildRules+GenerateChangedScriptAssembliesArgs args) (at <fd8fd784002f49beab0500d3a24213b9>:0)
UnityEditor.Scripting.ScriptCompilation.EditorCompilation.CompileScripts (UnityEditor.Scripting.ScriptCompilation.ScriptAssemblySettings scriptAssemblySettings, System.String tempBuildDirectory, UnityEditor.Scripting.ScriptCompilation.EditorScriptCompilationOptions options, UnityEditor.Scripting.ScriptCompilation.CompilationTaskOptions compilationTaskOptions, UnityEditor.Scripting.ScriptCompilation.EditorBuildRules+TargetAssembly[]& notCompiledTargetAssemblies, System.String[]& notCompiledScripts) (at <fd8fd784002f49beab0500d3a24213b9>:0)
UnityEditor.Scripting.ScriptCompilation.EditorCompilation.CompileScripts (UnityEditor.Scripting.ScriptCompilation.EditorScriptCompilationOptions options, UnityEditor.BuildTargetGroup platformGroup, UnityEditor.BuildTarget platform, UnityEditor.Scripting.ScriptCompilation.CompilationTaskOptions compilationTaskOptions) (at <fd8fd784002f49beab0500d3a24213b9>:0)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface+<>c__DisplayClass39_0.<CompileScripts>b__0 () (at <fd8fd784002f49beab0500d3a24213b9>:0)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface.EmitExceptionAsError[T] (System.Func`1[TResult] func, T returnValue) (at <fd8fd784002f49beab0500d3a24213b9>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
{code}

{code:java}
UnityEditor.BuildPlayerWindow+BuildMethodException: 4 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002bb] in <fd8fd784002f49beab0500d3a24213b9>:0
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <fd8fd784002f49beab0500d3a24213b9>:0
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
{code}

{code:java}
Build completed with a result of 'Failed' in 1 seconds (1468 ms)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
{code}

{code:java}
Error building Player because scripts had compiler errors
{code}

Tested on: Win 10, Unity version: 2019.4.4f1, Bolt version 2.0.0a13.

  1. Resolution Note:

    Fixed Odin Build Automation errors on build (Win64)

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.