Interestingly, only WireCapsule
had this issue, other draw api compile fine. I suspect it’s an actual bug.
Hi
Yes, sorry. That’s a bug in the current version. It’s already fixed in my dev version and the fix will be included in the next update.
Is it still not released? I can observe the same in 1.5.2
. Is there a beta, we can use in the mean time (like with A*)?
Hi
That issue should have been fixed. What exact error message are you seeing?
Hey, @aron_granberg ! I’m really sorry it took me so long to respond
To redeem myself I’ve attached a simple example showcasing the bug: GitHub - xSeagullx/ALINE-Bug-Report: A SSCCE for a bug
You’ll need to install ALINE itself, though, as it’s a dependency. Everything else should be set up correctly.
There is a scene with two capsules. Green one is drawn outside burst, red one from inside.
You can see it, but I believe the non-burst execution path is being chosen, as Burst gives aforementioned error.
And if you just want the code (with no package / project etc)
public class WireCapsuleDrawingSystem : MonoBehaviour
{
void Update()
{
var draw = DrawingManager.GetBuilder(true);
var handle = new DrawWireCapsuleJob { draw = draw }.Schedule();
draw.DisposeAfter(handle);
handle.Complete();
}
[BurstCompile(CompileSynchronously = true)]
private struct DrawWireCapsuleJob : IJob
{
public CommandBuilder draw;
public void Execute()
{
draw.WireCapsule(new float3(1, 0, 0), math.up(), 1, .4f, Color.red);
// Produces
// (0,0): Burst error BC1091: External and internal calls are not allowed inside static constructors: UnityEngine.Quaternion.Internal_FromEulerRad_Injected(ref UnityEngine.Vector3 euler, ref UnityEngine.Quaternion ret)
// While compiling job: System.Void Unity.Jobs.IJobExtensions/JobStruct`1<WireCapsuleDrawingSystem/DrawWireCapsuleJob>::Execute(T&,System.IntPtr,System.IntPtr,Unity.Jobs.LowLevel.Unsafe.JobRanges&,System.Int32)
// at <empty>:line 0
}
}
}
Thanks!
I have fixed this locally and the fix will be included in the next update.