2D Animation Issues

So I have started making an overhead 2D game heavily inspired by The Legend of Zelda series and I am having trouble with animating my sprite sheet.

I have a ten by eight sprite sheet the bottom four rows being walking south west north and east respectively (from the top).

here is the sprite sheet just being used for testing until i have my own custom sheet.

My code is supposed to cause each row to animate with respect to the button being pressed. Currently when no buttons are being pressed it just plays the first frame in the top row at (0, .875) this part works properly.

However, when a button is pressed the sprite just disappears. I know my functions cycle through the animations properly because it had done a few times before i put any control on the sprites being animated.

I was wondering if anyone new what the problem is and how to fix it.

Sorry about the massive wall of text.

using UnityEngine;
using System.Collections;

public class Controller2D : MonoBehaviour {

	// creates object for CharacterController
	CharacterController characterController;

	// sets variable for movement speed can be edited outside code
	public float walkSpeed = 5f;

	// creates vector variables for texture offset and movements
	Vector2 Offset;
	Vector3 moveDirection = Vector3.zero;

	// sets default movement variables to zero
	float Horizontal = 0;
	float Vertical = 0;

	// sets default x and y offset variables
	float xOffset = 0;
	float yOffset = .875f;

	void Start () {
		// gets CharacterController
		characterController = GetComponent<CharacterController>();
		// sets animation to still frame facing south
		Offset = new Vector2(xOffset, yOffset);
		renderer.material.SetTextureOffset("_MainTex", Offset);
	}
	
	// Update is called once per frame
	void Update () {
		// moves the character
		characterController.Move (moveDirection * Time.deltaTime);
		// gets inputs
		Horizontal = Input.GetAxis ("Horizontal");
		Vertical = Input.GetAxis ("Vertical");

		// character moves east sets animation to character walking east
		if (Horizontal > 0.00001) {
			yOffset = 0;
			Offset = new Vector2 (xOffset, yOffset);
			renderer.material.SetTextureOffset ("_MainTex", Offset);
			xOffset += 0.1f;
			if (xOffset == 0.9f)
			{
				xOffset = 0;
			}
			moveDirection.x = Horizontal * walkSpeed;
		}
		// character moves west sets animation to character walking west
		if (Horizontal < 0.00001) {
			yOffset = .25f;
			Offset = new Vector2 (xOffset, yOffset);
			renderer.material.SetTextureOffset ("_MainTex", Offset);
			xOffset += 0.1f;
			if (xOffset == 0.9f)
			{
				xOffset = 0;
			}
			moveDirection.x = Horizontal * walkSpeed;
		}
		// character moves north sets animation to character walking north
		if (Vertical > 0.00001) {
			yOffset = .125f;
			Offset = new Vector2 (xOffset, yOffset);
			renderer.material.SetTextureOffset ("_MainTex", Offset);
			xOffset += 0.1f;
			if (xOffset == 0.9f)
			{
				xOffset = 0;
			}
			moveDirection.y = Vertical * walkSpeed;
		}
		// character moves south sets animation to character walking south
		if (Vertical < 0.00001) {
			yOffset = .375f;
			Offset = new Vector2 (xOffset, yOffset);
			renderer.material.SetTextureOffset ("_MainTex", Offset);
			xOffset += 0.1f;
			if (xOffset == 0.9f)
			{
				xOffset = 0;
			}
			moveDirection.y = Vertical * walkSpeed;
		}
		// character standing still currently still frame facing south
		if (Horizontal == 0  Vertical == 0)
		{
			Offset = new Vector2 (0, .875f);
			renderer.material.SetTextureOffset("_MainTex", Offset);
		}
	}
}

I am still new with unity and only have about four months prior exposure to C# so thanks in advance for any help that anyone offers.
~DarkLink513~

Why not let Unity do the sprite sheet animation for you? With version 4.3 this is automated by Unity. Take a look at this video that shows how to use the Animator component to create animations from 2D sprite sheets:
http://unity3d.com/learn/tutorials/modules/beginner/2d/2d-controllers

Thanks for the help guitarxe this tutorial has increased my knowledge of unity and advanced my program to it’s next stage.