Для начала создаешь 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;