इस प्रोजेक्ट के बारे में

UniTask यूनिटी के लिए एक उच्च-प्रदर्शन async/await लाइब्रेरी है, जिसे पारंपरिक coroutines और Task-आधारित एसिंक्रोनस संचालन को शून्य आवंटन के साथ बदलने के लिए डिज़ाइन किया गया है। यह struct-आधारित `UniTask<T>` और कस्टम AsyncMethodBuilder प्रदान करता है, जिससे सभी यूनिटी AsyncOperations और coroutines awaitable बन जाते हैं। मुख्य विशेषताओं में PlayerLoop-आधारित कार्य जैसे `UniTask.Yield` और `UniTask.DelayFrame`, `CancellationToken` के माध्यम से रद्दीकरण और टाइमआउट हैंडलिंग, हल्के `Progress` क्लास के साथ प्रगति रिपोर्टिंग, और मेमोरी लीक को रोकने के लिए TaskTracker विंडो शामिल हैं। यह async LINQ, Channel, और AsyncReactiveProperty का समर्थन करता है, और .NET Standard 2.1 के ValueTask/IValueTaskSource के साथ संगत है। UniTask पूरी तरह से यूनिटी के PlayerLoop पर चलता है, थ्रेड से बचते हुए, और WebGL और wasm पर काम करता है। यह `WhenAll`, `WhenAny`, और `WhenEach` जैसी उपयोगिताएँ प्रदान करता है, और मानक कार्यों और coroutines में/से परिवर्तित किया जा सकता है। इंस्टॉलेशन UPM या एसेट पैकेज के माध्यम से होता है, जिसके लिए यूनिटी 2018.3 या बाद के संस्करण की आवश्यकता होती है।