Search Issue Tracker

Duplicate

Votes

0

Found in [Package]

Issue ID

1213854

Regression

Yes

[URP] WebGL build fails when URP is used in project

Package: Scriptable Render Pipeline Universal

-

When attempting to build for WebGL using the URP Template, the build fails.

Repro steps:
- Download this project or start a new URP template project
- Switch platform to WebGL
- Attempt to build

Tested with UR version 7.1.1 to version 7.1.8 - it doesn't seem to matter -the build will fail regardless.

Does not reproduce in 2019.3.0f6
Does not reproduce in 2020.1.0a18 or older versions
Does not reproduce usign the built-in renderer.
Reproducible in 2020.1.0a19 and 2020.1.0a20

Error:
Failed running E:\Unity\Unity Versions\2020.1.0a19\Editor\Data\il2cpp\build/deploy/net471/UnityLinker.exe -out=E:/Unity/Prototypes/webgl/Temp/StagingArea/Data/Managed/tempStrip -x=C:/Users/Catal/AppData/Local/Temp/tmp71269d57.tmp -x=E:/Unity/Prototypes/webgl/Temp/StagingArea/Data/Managed/TypesInScenes.xml -d=E:/Unity/Prototypes/webgl/Temp/StagingArea/Data/Managed --include-unity-root-assembly=E:/Unity/Prototypes/webgl/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll --include-unity-root-assembly=E:/Unity/Prototypes/webgl/Temp/StagingArea/Data/Managed/Unity.RenderPipelines.Core.Runtime.dll --include-unity-root-assembly=E:/Unity/Prototypes/webgl/Temp/StagingArea/Data/Managed/Unity.RenderPipelines.Universal.Runtime.dll --include-unity-root-assembly=E:/Unity/Prototypes/webgl/Temp/StagingArea/Data/Managed/UnityEngine.UI.dll --dotnetruntime=il2cpp --dotnetprofile=unityaot --use-editor-options --include-directory=E:/Unity/Prototypes/webgl/Temp/StagingArea/Data/Managed --rule-set=Conservative --editor-data-file=E:/Unity/Prototypes/webgl/Temp/StagingArea/Data/Managed/EditorToUnityLinkerData.json --platform=WebGL --enable-engine-module-stripping --engine-modules-asset-file="E:/Unity/Unity Versions/2020.1.0a19/Editor/Data/PlaybackEngines/WebGLSupport/Whitelists/../modules.asset"

stdout:
Fatal error in Unity CIL Linker
Mono.Linker.MarkException: Error processing method: 'System.Void UnityEngine.Rendering.ObjectParameter`1::set_value(T)' in assembly: 'Unity.RenderPipelines.Core.Runtime.dll' ---> System.NullReferenceException: Object reference not set to an instance of an object.
at Unity.Linker.Steps.Marking.ReflectionMarking.<>c.<ProcessGetFields>b__16_0(TypeDefinition t)
at Unity.Linker.Steps.Marking.ReflectionMarking.ProcessGetMemberCollection[T](ReflectionUsageContext reflectionContext, DetailedStackItem stackItem, Func`2 getMembers, Func`2 isPublic, Action`1 markMember, Boolean includeBaseTypes)
at Unity.Linker.Steps.Marking.ReflectionMarking.ProcessGetFields(ReflectionUsageContext reflectionContext, DetailedStackItem stackItem)
at Unity.Linker.Steps.Marking.ReflectionMarking.MarkThingsUsedViaReflection(MethodBody body)
at Unity.Linker.Steps.UnityMarkStep.MarkReflectionLikeDependencies(MethodBody body)
at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
at Unity.Linker.Steps.UnityMarkStep.MarkMethodBody(MethodBody body)
at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
at Unity.Linker.Steps.UnityMarkStep.ProcessMethod(MethodDefinition method)
at Mono.Linker.Steps.MarkStep.ProcessQueue()
--- End of inner exception stack trace ---
at Mono.Linker.Steps.MarkStep.ProcessQueue()
at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
at Mono.Linker.Steps.MarkStep.Process()
at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
at Unity.Linker.Steps.UnityMarkStep.Process(LinkContext context)
at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
at Unity.Linker.UnityPipeline.ProcessStep(LinkContext context, IStep step)
at Mono.Linker.Pipeline.Process(LinkContext context)
at Unity.Linker.UnityDriver.Run()
at Unity.Linker.UnityDriver.RunDriverWithoutErrorHandling()
at Unity.Linker.UnityDriver.RunDriver()
stderr:

UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase)
UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action`1)
UnityEditorInternal.AssemblyStripper:RunAssemblyLinker(IEnumerable`1, String&, String&, String, String)
UnityEditorInternal.AssemblyStripper:StripAssembliesTo(String, String&, String&, IEnumerable`1, UnityLinkerRunInformation)
UnityEditorInternal.AssemblyStripper:RunAssemblyStripper(UnityLinkerRunInformation)
UnityEditorInternal.AssemblyStripper:StripAssemblies(String, BaseUnityLinkerPlatformProvider, IIl2CppPlatformProvider, RuntimeClassRegistry, ManagedStrippingLevel)
UnityEditorInternal.IL2CPPBuilder:Run()
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Add comment

Log in to post comment