Для начала создаешь Texture2D:
Код
Texture2D myTexture = nex Texture2D(32, 32); //[url=http://docs.unity3d.com/ScriptReference/Texture2D-ctor.html] Texture2D.Texture2D[/url]
Затем, где нужно что-то нарисовать, используешь функцию Texture2D.SetPixel или что-то, более подходящее под условия задачи:
Код
for(int x = 0; x < myTexture.width; x++)
myTexture.SetPixel(x, 16); // Рисуем горизонтальную линию посередине
Чтобы сохранить все, используй Texture2D.Apply
А для того, чтобы эта текстура являлась Sprite'ом, нужно создать Sprite с помощью функции Sprite.Create:
Код
Sprite mySprite = Sprite.Create(myTexture, spriteRect, pivot, pixelsToUnits)
Готово. Теперь можно использовать этот спрайт, где хочешь, к примеру, засунуть его в SpriteRenderer:
Код
GetComponent<SpriteRenderer>().sprite = mySprite;