Known Issues
Below you can find current known issues. If you found a bug, please report it by opening a GitHub issue.
#333: AtomicSafetyHandle may throw InvalidOperationException
Unity.Collections@2.2+
has an unresolved bug, as you can read here:
QUOTE
All containers allocated with Allocator.Temp
on the same thread use a shared AtomicSafetyHandle
instance rather than each having their own.
This can lead to safety check error throws like this:
InvalidOperationException: The Unity.Collections.NativeList`1[System.Int32]
has been declared as [WriteOnly] in the job, but you are reading from it.
when using UnsafeTriangulator
with Allocator.Temp
. Consider the following example:
using var positions = new NativeList<double2>(Allocator.Temp);
positions.Add(...);
new UnsafeTriangulator().Triangulate(input: new(){ Positions = positions.AsArray() }, ...);
Unfortunately, due to AsArray()
call, which should be safe, the above example will trigger an exception from the safety handle.
Currently the only way to resolve this issue is:
- Disable safety checks, or
- Call
ToArray(Allocator)
I recommend the second option, calling ToArray, unless you are certain about what you are doing.
using var positions = new NativeList<double2>(Allocator.Temp);
positions.Add(...);
using var p = postions.ToArray(Allocator.Temp);
new UnsafeTriangulator().Triangulate(input: new(){ Positions = p }, ...);
📂 Archived Issues (Click to expand)
Archive
#103: Leak Detected Warning in the Console
In the Unity Editor, you may encounter the following log message:
Leak Detected : Persistent allocates 257 individual allocations. To find out more please enable 'Jobs/LeakDetection/Full StackTraces' and reproduce the leak again.
Not to worry, this issue is likely related to an internal bug in the Unity.Collections
or Unity.Burst
package (related to NativeQueue<>
allocation).
Resolved: NativeQueue<T> is no longer used in the package. The log should no longer be visible since v3.6.
#105, #106: Incorrect triangulations for complicated input
Due to floating-point precision, triangulation may fail for some input. This is often related to single-point precision. Changing coordinates from float2
to double2
solves the issue. This will be addressed in the upcoming release. If you want to try it now, there is an experimental branch available here.
Resolved: Use double2
precision (e.g., Triangulator<double2>
). Fixed since v3.