How do i make the game start so that the character is already running?

This is my code so far, i was wondering if there is a way to make the character start off the game running?

using UnityEngine;
using System.Collections;

[RequireComponent (typeof(CharacterController))]
public class AdvancedMovement : MonoBehaviour {
public float walkSpeed = 5;
public float runMultiplier = 2;
public float strafeSpeed = 2.5f;
public float rotateSpeed = 250;
public float gravity = 20;

public CollisionFlags _collisionFlags;
private Vector3 _moveDirection;
private Transform _myTransform;
private CharacterController _controller;

public void Awake() {
	_myTransform = transform;
	_controller = GetComponent<CharacterController>();

// Use this for initialization
void Start () {
	_moveDirection =;


// Update is called once per frame
void Update () {
	if(_controller.isGrounded) {
		Debug.Log("On the ground.");
		_moveDirection = new Vector3(0,0, Input.GetAxis("Move Forward"));
		_moveDirection = _myTransform.TransformDirection(_moveDirection).normalized;
		_moveDirection *= walkSpeed;
		Debug.Log("Not on the gorund.");
		if((_collisionFlags & CollisionFlags.CollidedBelow) == 0) {
	_moveDirection.y -= gravity * Time.deltaTime;
	_collisionFlags = _controller.Move(_moveDirection * Time.deltaTime);


In your first Update-method call you will first check the user-input and then update the movement. It is very likely that there is no user input in the first update frame, so your character will not move.

So as I see it, if you want your character to move from the start, you need to set a moveDirection in the Start()-method and ignore the user input while it is zero.

This way your character would be moving from the beginning until the player changes the direction. Is it what you want to happen?