UPDATE: I just reverted all to before upgrading to URP, then updated Burst separately, which doesn’t result in the errors below, we still don’t know what causes the compilation to fail once URP is used in the project, so if anyone has any idea to that please respond ![]()
(Thread might be moved to URP / C# compilation / dunno ?)
Original Post:
Soo, we recently started out next project and thus upgraded unity and decided to finally make the switch from built-in render-pipeline to URP.
With that our Burst package got a forced update from 1.8.13 to 1.8.16 and since that, Unity / Bee spits out errors en mass which seem to be the same issue for multiple In-Project-Assemblies of ours, all referencing a pre-build managed-dll of ours that hadn’t any issue before.
It seems to boild down to generic-[interface/struct]-types being unable to be resolved.
Funny thing is we don’t use any “Job”-related stuff there nothing marked with [BurstCompile]
Do you have any hint to what’s going on here?
Processing assembly Library/Bee/artifacts/1900b0aEDbg.dag/CustomAssemblyInTheSameProject.dll, with 135 defines and 250 references
processors: Unity.Jobs.CodeGen.JobsILPostProcessor, zzzUnity.Burst.CodeGen.BurstILPostProcessor
running Unity.Jobs.CodeGen.JobsILPostProcessor
Unity.Jobs.CodeGen.JobsILPostProcessor: ILPostProcessor has thrown an exception: Mono.Cecil.ResolutionException: Failed to resolve [Insert: PrebuildManagedDll-Assembly].[Insert: SomeInterfaceType]
at Unity.Jobs.CodeGen.TypeReferenceExtensions.CheckedResolve(TypeReference typeReference)
at Unity.Jobs.CodeGen.JobsILPostProcessor.VisitJobStructInterfaces(TypeReference jobTypeRef, TypeDefinition jobType, TypeDefinition currentType, ILProcessor processor, MethodBody body)
at Unity.Jobs.CodeGen.JobsILPostProcessor.VisitJobStructs(TypeReference t, ILProcessor processor, MethodBody body)
at Unity.Jobs.CodeGen.JobsILPostProcessor.PostProcessImpl()
at Unity.Jobs.CodeGen.JobsILPostProcessor.Process(ICompiledAssembly compiledAssembly)
at Unity.ILPP.Runner.PostProcessingPipeline.PostProcessAssemblyAsync(PostProcessAssemblyRequest request, Action2 progressSink) PostProcessing failed: Mono.Cecil.ResolutionException: Failed to resolve [Insert: PrebuildManagedDll-Assembly].[Insert: SomeInterfaceType] at Unity.Jobs.CodeGen.TypeReferenceExtensions.CheckedResolve(TypeReference typeReference) at Unity.Jobs.CodeGen.JobsILPostProcessor.VisitJobStructInterfaces(TypeReference jobTypeRef, TypeDefinition jobType, TypeDefinition currentType, ILProcessor processor, MethodBody body) at Unity.Jobs.CodeGen.JobsILPostProcessor.VisitJobStructs(TypeReference t, ILProcessor processor, MethodBody body) at Unity.Jobs.CodeGen.JobsILPostProcessor.PostProcessImpl() at Unity.Jobs.CodeGen.JobsILPostProcessor.Process(ICompiledAssembly compiledAssembly) at Unity.ILPP.Runner.PostProcessingPipeline.PostProcessAssemblyAsync(PostProcessAssemblyRequest request, Action2 progressSink)
at Unity.ILPP.Runner.PostProcessingService.PostProcessAssembly(PostProcessAssemblyRequest request, IServerStreamWriter`1 responseStream, ServerCallContext context)
Unhandled Exception: System.InvalidOperationException: Post processing failed
at Unity.ILPP.Trigger.TriggerApp.d__1.MoveNext() + 0xf74
— End of stack trace from previous location —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x20
at Unity.ILPP.Trigger.TriggerApp.d__1.MoveNext() + 0x1149
— End of stack trace from previous location —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x20
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task) + 0xb6
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task) + 0x42
at Unity.ILPP.Trigger.TriggerApp.d__0.MoveNext() + 0xc7
— End of stack trace from previous location —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x20
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task) + 0xb6
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task) + 0x42
at Program.<$>d__0.MoveNext() + 0x1a3
— End of stack trace from previous location —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x20
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task) + 0xb6
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task) + 0x42
at Program.(String) + 0x20
at Unity.ILPP.Trigger!+0x48d4fb
One of the ‘problematic’ interfaces is this one:
public interface ICharArrayFormattable
{
// Array is a readonly ref struct in this case
Array<char> ToCharArray();
}
The other problematic one:
public interface IInComparable<T>
{
int CompareTo(in T other);
}