30 open-source projects similar to cysharp/unitask, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best UniTask alternative.
UniRx is a reactive programming library and event orchestration framework for the Unity engine. It implements observable sequences and functional operators to transform callbacks, coroutines, and engine events into cancellable data streams for unified asynchronous event handling. The library provides a reactive UI binding system that synchronizes data models with user interface elements to trigger automatic visual updates. It includes a type-based publication and subscription system to route messages between producers and consumers, decoupling internal game components. The framework covers a
Deepagents is an LLM agent orchestration platform and stateful application server designed for deploying and managing AI agents built with computational graphs. It provides a containerized runtime environment that handles agent execution, state persistence, and the versioning of AI assistants. The platform distinguishes itself through deep integration with the Model Context Protocol, allowing agents to function as servers that expose tools and capabilities to external clients. It features a sophisticated observability suite for capturing execution traces, performing LLM-based evaluations agai
Bolts-Swift is a concurrency control framework designed to manage asynchronous workflows in native mobile applications. It provides a collection of primitives that allow developers to orchestrate background operations through a promise-based model, replacing deeply nested callback structures with chainable task sequences. The library distinguishes itself by offering granular control over task lifecycles and execution environments. It enables developers to define custom executors for specific threading contexts and provides mechanisms to manually signal the completion, error, or cancellation o
Acontext is an LLM orchestration backend and agent memory framework designed to manage session state and knowledge for AI agents. It functions as a context manager and orchestration layer that integrates model providers with a secure code sandbox and a zero-knowledge data store. The project is distinguished by its approach to knowledge distillation, capturing agent learnings as reusable Markdown skills and structured memory files. It provides a secure execution environment where shell commands and scripts run in isolated containers with the ability to mount these persistent skill files direct
The Model Context Protocol SDK is a framework for building clients and servers that connect AI models to external data, tools, and resources using a standardized communication protocol. It provides the foundational libraries and interfaces necessary to establish reliable, transport-agnostic connections between AI agents and external systems, enabling seamless information retrieval and task automation. The SDK distinguishes itself through a robust capability negotiation handshake that ensures compatibility between connected parties before exchanging messages. It supports a pluggable transport
Boardgame.io is a framework for developing turn-based, multiplayer games for the web. It functions as a game engine and orchestrator that manages the complexities of state synchronization, player turn order, and rule enforcement across a distributed network of clients. The framework utilizes pure functions to handle state transitions, ensuring that game logic remains predictable and consistent for all participants. By structuring game flow into hierarchical phases and turn-based segments, it automates transitions and enforces rules, preventing illegal moves while maintaining a synchronized vi
Folia is a regionised multithreaded Minecraft server fork and game engine designed to increase capacity and processing speed for large player counts. It functions as a multithreaded system that distributes entity and block logic across a thread pool to avoid single-core bottlenecks. The server utilizes a regional task scheduler that splits the game world into independent regions processed in parallel across multiple CPU cores. This architecture employs coordinate-based thread mapping and spatial task scheduling to ensure that game logic is executed on specific threads based on the physical lo
Bevy is a cross-platform game engine and framework built in Rust, designed for creating interactive simulations and graphical applications. It utilizes a data-oriented entity-component-system architecture to manage game state, organizing data into contiguous memory blocks to facilitate high-performance processing and massive parallelization of entities. The engine distinguishes itself through a modular plugin architecture and a system-based task scheduler that automatically parallelizes logic by analyzing data access patterns. By employing reactive change detection and deferred command buffer
JerryScript is a lightweight, ECMAScript-compliant JavaScript engine and bytecode compiler designed for resource-constrained devices. It serves as an embedded interpreter and IoT scripting runtime, enabling the execution of JavaScript code within native C applications on hardware with limited memory. The project differentiates itself through a focus on low-memory runtime management, utilizing bytecode precompilation and pre-compiled state snapshots to reduce startup time and memory overhead. It features a C-binding native bridge for bidirectional communication between native code and scripts,
MemoryPack is a high-performance binary serialization library for C# and Unity. It provides a zero-allocation data pipeline and a schema-evolution framework designed to minimize memory allocations and encoding overhead. The project utilizes compile-time source generators to avoid runtime reflection and implements a zero-encoding binary format for maximum throughput. It distinguishes itself through a zero-allocation approach that reuses object instances to reduce garbage collection pressure and copies the memory layout of unmanaged structs directly to binary streams. The library covers binary
GameMode is a Linux system daemon that automatically applies CPU, GPU, and I/O performance optimizations when a game starts and reverts them when the game exits. It coordinates system-level tweaks by reading a plain-text configuration file, switching the CPU frequency scaling governor to performance mode, adjusting the I/O scheduler for low latency, and setting the graphics card to a high-performance power state through direct sysfs or driver interface writes. The project includes a daemon that communicates with game launchers via Unix domain sockets, a hybrid GPU launcher that wraps game exe
Paper is a high-performance server implementation for hosting multiplayer Minecraft games. It functions as a performance-oriented game engine designed to reduce resource usage and resolve mechanical inconsistencies in game logic. The project provides a platform for extending server logic and adding custom gameplay features through a dedicated plugin API. This allows for the development and integration of third-party extensions to add specialized capabilities to the server environment. The software covers several technical areas including server performance optimization for high-concurrency e
xLua is a scripting bridge and C++ wrapper used to embed the Lua language into host applications. It facilitates bidirectional data exchange and function calls between scripts and the host environment. The project includes a runtime patching tool for replacing application logic and fixing bugs without requiring a system restart. It features a coroutine orchestrator that wraps asynchronous operations into linear code and a script validator that verifies digital signatures to ensure code authenticity and integrity before execution. To minimize memory overhead and garbage collection, the system
Claude-Code-Game-Studios is an LLM agent orchestration framework designed to simulate a professional game development studio hierarchy. It coordinates specialized AI agents and workflow skills to manage design, programming, and art tasks across a game project. The system utilizes a technical rule system to enforce coding standards and quality constraints based on specific file directory paths. It also provides engine-specific expertise configuration to ensure technical guidance is tailored to the requirements of different game engines. The framework includes automation for studio workflows s
This project is a promise-based concurrency framework and asynchronous task library for Swift and Objective-C. It functions as a workflow orchestrator that uses monadic transformations to chain operations and propagate results through a state machine. The library specializes in transforming traditional completion-handler APIs into promise-based structures to enable sequential execution. It provides mechanisms for coordinating simultaneous background processes, including the ability to aggregate results from multiple tasks or synchronize operations through racing and waiting. The framework co
oneAPI Threading Building Blocks (oneTBB)
RxJava is a reactive stream processing framework and JVM reactive extensions library. It serves as an asynchronous dataflow orchestrator used to compose event-based programs by transforming, combining, and consuming real-time data flows on the Java Virtual Machine. The project distinguishes itself through integrated backpressure flow control, which manages the emission rate between producers and consumers to prevent memory exhaustion. It further provides mechanisms for concurrent thread management and parallel data processing to offload blocking operations and maintain application responsiven
Reactor Core is a reactive programming toolkit and non-blocking foundation for composing asynchronous data pipelines on the JVM. It serves as an asynchronous stream processing framework and a backpressure management system, allowing developers to transform, filter, and combine sequences of events while regulating data flow between producers and consumers to prevent resource exhaustion. The library differentiates itself through a sophisticated concurrency scheduling system and demand-based flow control. It decouples signal processing from specific threads using a scheduler registry and provide
Fasthttp is a high-performance networking framework for Go, designed to maximize throughput and minimize memory overhead in demanding web applications. It functions as a specialized HTTP server and client library that prioritizes efficient resource management, allowing developers to build scalable services capable of handling massive concurrent traffic with minimal garbage collection pressure. The library distinguishes itself through a focus on zero-allocation processing and low-level optimization. It achieves this by recycling temporary request and response objects through managed pools and
JavaSourceCodeLearning is a collection of deep-dive analyses and architectural breakdowns focusing on the internal source code of major Java frameworks and distributed systems. It provides a systematic study of the Java Development Kit internals, the Spring ecosystem, Netty's network architecture, and the distributed system mechanics of Kafka. The project focuses on the implementation of core infrastructure, including partition management, replica consistency, and log storage. It examines asynchronous event-driven network programming, I/O multiplexing, and the internal logic used for dependen
Ants is a goroutine pool library for Go that functions as a concurrent task orchestrator and resource consumption limiter. Its primary purpose is to manage and reuse a pool of goroutines to limit concurrency and reduce the memory allocation overhead associated with frequent thread creation. The system provides a runtime worker manager capable of adjusting pool capacity dynamically to respond to fluctuating workloads. To maintain stability, it includes panic recovery mechanisms that intercept runtime failures within worker threads to prevent a single failing task from crashing the entire appli
HowToBeAProgrammer is a comprehensive software engineering career guide and professional development framework. It serves as a curated-knowledge repository and handbook designed to help programmers acquire technical habits and social competencies necessary for professional advancement. The project distinguishes itself by integrating technical craftsmanship with a detailed manual for technical leadership and organizational navigation. It provides specific strategies for career progression, such as compensation negotiation, promotion readiness, and the management of professional boundaries to p
libco is a C++ coroutine library and user-space task orchestrator designed for cooperative multitasking and high-concurrency execution. It functions as a high-concurrency network framework and a synchronous-to-asynchronous wrapper that allows blocking system calls and socket functions to run asynchronously without modifying existing business logic. The project utilizes a specialized stack-copying context switching model to support millions of simultaneous TCP connections on a single machine. It includes a high-performance time wheel scheduler for managing asynchronous background jobs and dela
Gotenberg is a stateless, containerized service that provides a unified API for document conversion, manipulation, and web-to-PDF rendering. It functions as a centralized engine that abstracts complex document processing tasks, allowing users to interact with various rendering tools and libraries through standard HTTP requests. The service distinguishes itself by utilizing headless browser automation to capture web content and by wrapping multiple specialized PDF engines into a single interface. It supports asynchronous task execution, offloading resource-intensive operations to background wo
Kotlinx.coroutines is a library for managing non-blocking background tasks and structured concurrency within the Kotlin programming language. It provides a framework for executing concurrent operations and synchronizing shared state, replacing traditional thread management and complex callback chains with lightweight primitives. The library utilizes a structured concurrency hierarchy to organize hierarchical background tasks, ensuring that lifecycle management, cancellation, and timeout handling propagate automatically to prevent resource leaks. It employs continuation-passing style transform
This project provides a comprehensive collection of best practices, architectural patterns, and coding standards for the .NET ecosystem. It serves as a guide for developers to improve the readability, maintainability, and testability of C# applications by applying established software engineering principles. The repository focuses on enforcing consistent code style and structure through automated configuration rules. It emphasizes the use of SOLID design principles to create modular, loosely coupled components, alongside structured exception management to ensure diagnostic information is pres
Trigger.dev is a platform for building durable, event-driven background workflows. It functions as a workflow engine that allows developers to define complex, long-running processes using standard code rather than proprietary configuration languages. By utilizing a durable execution model, the system checkpoints progress, ensuring that tasks can automatically resume from the exact point of failure after a crash or interruption. The platform distinguishes itself through its focus on stateful, multi-step automation and real-time feedback. It supports the orchestration of AI agents and external
Netpoll is an event-driven network framework and non-blocking I/O library designed to manage concurrent TCP and Unix domain socket connections. It utilizes a non-blocking event loop to monitor file descriptors and trigger callbacks for read and write events, serving as a high-performance socket manager and TCP network poller. The framework optimizes throughput across CPU cores by distributing incoming network connections across multiple pollers. It implements zero-copy networking primitives, using linked buffers and specialized memory management to read and write data while minimizing memory
This framework provides a structured implementation of the Model-View-Intent pattern for Android applications. It enforces a unidirectional data flow where user intents trigger state updates, which are then propagated through reactive streams to ensure consistent and predictable interface rendering. The architecture relies on immutable state objects to represent application data, ensuring that updates are handled as complete replacements rather than partial modifications. By leveraging Kotlin Coroutines and reactive stream primitives, the framework coordinates asynchronous background tasks an