I solved the issue by following cropping function. newtex is your desired cropped face.
Use a transparent overly if you want rounded corners or anything relating.
public void CreateCroppedTex (UITexture tex,Vector2 pixelOffset) {
// rect values to crop
int x;
int y;
int width;
int height;
Texture2D _texture = tex.mainTexture as Texture2D;
Sprite newSprite = Sprite.Create(_texture,
new Rect(x, y,width, height),
new Vector2(0.5f, 0.5f));
Color[] c = newSprite.texture.GetPixels((int)newSprite.textureRect.x,
(int)newSprite.textureRect.y,
(int)faceWidth,
(int)faceHeight );
Texture2D newtex = new Texture2D( (int)faceWidth, (int)faceHeight, TextureFormat.ARGB32,false);
newtex.filterMode = FilterMode.Bilinear;
newtex.SetPixels(c);
newtex.Apply();
tex.mainTexture = newtex;
}