I need to use a Concurrent Dictionary or at least some kind of non blocking concurrent collection, is this supported? I get a "namespace name `Concurrent' does not exist in the namespace`System.Collections'" error on Unity.
If not, is there an alternative library?
What do you mean why do you need thread safe collections? The unity api not being thread safe is no reason to not use threads in unity, it just means don’t use their api outside of the main thread. Using thread safe collections or queues to pass information between the main thread and your own threads is perfectly acceptable, given you know what you are doing.
I have a feeling they left it out to discourage people who don’t know what they are doing from using threads. But that just forces us to use primitive synchronization which sucks.
Just take a look at the Mono compatibility page. It's not in the list. Why do you need thread safe collections? You can of course start threads but in Unity it's not that common because the whole API is not thread safe.