Overall, I'm pretty happy with the UnityWebRequest API for sending and receiving RESTful HTTP requests. One issue I'm running into, however, is using it to access a web API at edit-time (say, in a custom editor tool). For my use case, we want to convert some ScriptableObject assets into JSON and send them to our server through a REST API using POST. UnityWebRequest.Send() returns an AsyncOperation, which you can "yield on" in a Coroutine to asynchronously retrieve the result. However, there's no way to run Coroutines in an editor tool, correct? So, would I just need to block until the AsyncOperation returned from Send() says it's done? But would it ever say it's done if I blocked like that? Do I need to send the request from a separate thread in this case? It seems like the UnityWebRequest could easily support an asynchronous callback mechanism (perhaps the Send() call has an override that takes a callback, which is called when the request completes). But barring that, I'm not aware of an easy/effective way to make use of an AsyncOperation API in the editor. Any suggestions? As an alternative, I'm looking at the C# HttpWebRequest class, buuuut it would be cool if the UnityWebRequest could work.