Make calls to WWW using callbacks.
C#
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
WWWNetworking
lib
.gitignore
.travis.yml
LICENSE
README.md
WWWNetworking.sln

README.md

WWWNetworking

I often found myself writing the same code over and over when dealing with Unity's WWW class. This library provides easy use of many of those patterns.

NetworkEngine

This is the primary interface to the library. It is also available as a singleton with the class NetworkEngineSingleton. Basic example:

using UnityEngine;
using WWWNetworking;
public class FloatingImage : MonoBehaviour {
  void Start() {
    NetworkEngineSingleton.Instance.Download("http://images.earthcam.com/ec_metros/ourcams/fridays.jpg", www => {
      GetComponent<Renderer>().material.mainTexture = www.texture;
    });
  }
}

Each instance has a configurable maximum number of concurrent requests. Increasing the maximum immediately starts running more requests if queued while decreasing leaves requests running if over the maximum.

The network engine can technically run anything which is an IRequest. The requests don't necessarily need to be network requests. You can easily implement a request which does something completely different.

Request Classes

These are pre-built classes for common tasks with downloading files and running some code using that file. I will add to the included ones over time. Feel free to submit a pull-request for a new one. You should extract any data from the WWW object in the success callback since it is disposed afterward.

Request

A basic request wich downloads a file and runs code on success.

RequestWithError

Downloads a file and provides callbacks for both success and error. All remaining request classes inherit from this.

ProgressRequest

Downloads a file and provides callbacks for progress updates, successful completion, and error.

FormRequest

Performs a post to a url with form data. Provides callbacks for success and error.

FormProgressRequest

Performs a post to a url with form data. Provides callbacks for upload progress, download progress, successful completion, and error.

CachableAssetBundleRequest

Loads an asset bundle from the cache or downloads when not in the cache.

Appendix

For anyone curious, the URL in the examples is the same one used in Unity's official documentation for WWW.texture.