google/zx provides wonrderful solution to write shell script, it keeps the simple writing experience of shell, however fully experience of JavaScript and async/await.

I wanted to reproduce it in C#. …


Last month, I’ve released a new library called MessagePipe.

GitHub — Cysharp/MessagePipe

It mainly supports Publish/Subscribe patterns in in-memory, and covers all cases with a unified interface. For example, it supports communication between different hubs in MagicOnion and SignalR for real-time communication, messenger pattern for loosely coupling between V-VM in…


We released MagicOnion v4 from Cysharp last week.

https://github.com/Cysharp/MagicOnion/

MagicOnion has been built on the design principles of C# as Schema, Code-First Contracts for four years, immediately following the release of gRPC 1.0. Until now, we have been using gRPC C Core from Google, and now we are using the…


I’m based in Japan, and the company I founded, Cysharp, is not as well known in besides Japan. However, you may know the OSS I’m making, as several of them have received many stars on GitHub as well.

.NET people will know of my work in high-performance serializers such as…


The only way to handle external processes in C# is with the Process class, but this API is very old, and asynchronous support would require a lot of flag and boilerplate code.

So I created a library that “just throws a line of string like writing a shell,” “receives the…


I’ve renewed ConsoleAppFramework, a framework for easily creating CLI applications and many batches in C#.

The concept of a CLI framework on top of Generic Host, the basic structure, remains unchanged.

The method definitions become command line arguments, and help is generated automatically, as well as settings…


It’s been a few months since we released UniTask v2, and we’re now at version 2.0.31, GitHub’s Star is achieved over 1100. We believe it is stable and will be used in production.

For more information on UniTask v2, see this article - UniTask v2 — Zero Allocation async/await for…


I’ve previously published UniTask, a new async/await library for Unity, now I’ve rewritten all the code and released new one.

GitHub — Cysharp/UniTask

In UniTask v2, almost everything is zero-allocated due to a thorough rewrite of the code (Technical details to follow). In addition to significant performance improvements, the new…


I’ve just released a new logging library ZLogger for .NET Core and Unity. It is very fast, and using previously introduced ZString — Zero Allocation StringBuilder in the backend, it eliminates the allocation when formatting the string.

GitHub — Cysharp/ZLogger

The standard output is especially important for containerization. For example…


For .NET Core and Unity, I have released a library called ZString that enables the memory allocation to zero for string generation. Besides introducing ZString, this article also deeply disassembles and explains the C# string and explains the String’s complexities and pitfalls and the necessity of ZString.

https://github.com/Cysharp/ZString

I am…

Yoshifumi Kawai

a.k.a. neuecc. Creator of UniRx, UniTask, MessagePack for C#, MagicOnion etc. Microsoft MVP for C#. CEO/CTO of Cysharp Inc. Live and work in Tokyo, Japan.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store