Smooth.Slinq Asset Store link. Smooth.Slinq is an asset store package that provides Linq-like operations backed by value type enumerators and pooled storage to significantly boost programmer productivity, increase code maintainability, and reduce time to market... all without any per-frame allocations. Some of the advantages of Smooth.Slinq over Unity's Linq implementation include: Slinq is allocation-free and slightly faster than Linq for constant space operations. Slinq uses pooled storage for operations that require non-constant space (eg: Distinct, GroupBy, Join, OrderBy). Once the pools are warm, these operations are allocation-free and are generally much faster than Linq's.* Slinq provides many useful operations not available in Linq, including element removal operations for enumerations that are backed by an appropriate type (eg: List<T>, LinkedList<T>). Slinq operations can be applied to and consume part of an emumeration, leaving the remainder for further processing. Slinq operations with delegate parameters have secondary method signatures with an additional, user-defined parameter that can be used to capture and pass state without the need for a closure. Slinq provides comprehension methods with Option<T> semantics rather than throwing exceptions on empty input or resorting to "OrDefault" methods that lose information. Slinq provides access to its internal collection representation, enabling advanced users to perform nested operations on pool backed enumerations without creating multiple copies of the data. Slinq uses Smooth.Compare to find comparers, which can help eliminate comparison allocations and JIT exceptions. Stop wasting precious development time on writing yet more for loops and maintanence heavy boilerplate and instead cut right to the chase with clean, declaritive code that directly expresses intent rather than being mired in bookkeeping logic! Companies like Twitter, Google, Amazon, and Microsoft don't squander time and resources by bogging programmers down with imperative minutae and neither should you! Start Slinqing, rediscover productivity, and get your project out the door fast! Online documentation for Smooth.Slinq can be found here. Discussion and support for Smooth Games products is available on the company forums. *: Slinq is much, much faster than Linq for most operations that require non-constant storage. However, Linq has better average case sorting performance for OrderBy / OrderByDescending operations as it uses quicksort while Slinq uses a linked list merge sort. An in-depth discussion of sorting algorithms is beyond the scope of this document, but if there is user demand for an array-based quicksort it may be added in a later version of Slinq.