Apply uv coordinates to unity cube by script

I’m currently using built-in primitives from unity and I don’t need more for my game.
Now I want to place a texture on one side of a cube primitive. As far as I know, that is only possible, with uv coordinates. Is it possible to apply such coordinates by script or has anyone another idea, to achive this without messing up with a 3d software?

First I read the native cube mesh with :

#pragma strict

public var theCube : Transform;

private var theVerts : String = "";
private var theUVs : String = "";
private var theNorms : String = "";
private var theTris : String = "";

function Start ()
{
    if (theCube == null) 
        theCube = this.transform;

    var theMesh : Mesh = theCube.GetComponent(MeshFilter).mesh as Mesh;

    theVerts = theVerts + "(" + theMesh.vertices.length.ToString() + ") :";
    theUVs = theUVs + "(" + theMesh.uv.length.ToString() + ") :";
    theNorms = theNorms + "(" + theMesh.normals.length.ToString() + ") :";
    theTris = theTris + "(" + theMesh.triangles.length.ToString() + ") :";

    for (var i:int = 0; i < theMesh.vertices.length; i ++) {
        theVerts = theVerts + "  " + i + "=" + theMesh.vertices*.ToString();*

theUVs = theUVs + " " + i + “=” + theMesh.uv*.ToString();*
theNorms = theNorms + " " + i + “=” + theMesh.normals*.ToString();*
}

for (i = 0; i < theMesh.triangles.length; i ++) {
theTris = theTris + " " + i + “=” + theMesh.triangles*.ToString();*
}
}
function OnGUI ()
{
GUI.Label( Rect( 10, Screen.height * 0.00, Screen.width - 20, Screen.height * 0.25), "Verts " + theVerts );
GUI.Label( Rect( 10, Screen.height * 0.25, Screen.width - 20, Screen.height * 0.25), "UVs " + theUVs );
GUI.Label( Rect( 10, Screen.height * 0.50, Screen.width - 20, Screen.height * 0.25), "Normals " + theNorms );
GUI.Label( Rect( 10, Screen.height * 0.75, Screen.width - 20, Screen.height * 0.25), "Tris " + theTris );
}
With the information displayed from OnGUI, I wrote down on a piece of paper each vertices location, then each triangle connection between the vertices.
Imagine looking at the front of the cube, the first 4 vertices are arranged like so
// 2 — 3
// | |
// | |
// 0 — 1
then the UV’s are mapped as follows :

theUVs[2] = Vector2( 0, 1 );
theUVs[3] = Vector2( 1, 1 );
theUVs[0] = Vector2( 0, 0 );
theUVs[1] = Vector2( 1, 0 );
// 2 3 0 1 Front
// 6 7 10 11 Back
// 19 17 16 18 Left
// 23 21 20 22 Right
// 4 5 8 9 Top
// 15 13 12 14 Bottom
So where the UV’s for Vertices 2 is ( 0, 1 ), so is 6, 19, 23, 4, 15.
You can test this by replacing all the zero’s with 0.5, then check every face of the cube has the same portion of the image, and rotated the correct way (not inverted) . Note if standing at the origin looking up the positive Z-Axis, Right is your right.