title: Children not following parent
body: <p>I am making a pokemon clone.
  It is a top down tile based rpg.</p>
  
  <p>So I added 4 gameobjects on the player itself. Called up, down, left, right.
  I placed them around the player. I use this set up to check if the gameObject up. Is standing on water. If that is true then the player cannot go up. It is my work around for collision. However my children don't want to follow my parent. All I did was I dragged the 4 for gameobjects onto the player, and added this c# script:</p>
  
  <pre><code>using UnityEngine;
  using System.Collections;
  
  public class PlayerController : MonoBehaviour
  {
  
      public LayerMask GroundLayer;
      Vector2 startPoint;
      Vector2 endPoint;
      private float increment;
      bool isMoving;
      public float speed;
  
      public tk2dTileMap tilemap;
      public GameObject up;
      public GameObject down;
      public GameObject left;
      public GameObject right;
  
  
      void Start()
      {
          startPoint = transform.position;
          endPoint = transform.position;
  
  
      }
  
      void Update()
      {
  
  
          if (increment &lt;= 1 &amp;&amp; isMoving == true)
          {
              increment += speed / 100;
          }
          else
          {
              isMoving = false;
          }
  
          if (isMoving)
          {
              transform.position = Vector2.Lerp(startPoint, endPoint, increment);
          }
  
          if (Input.GetKey(KeyCode.UpArrow) &amp;&amp; isMoving == false)
          {
              if (MovementEvents(up) == 0)
              {
                  move(up);
              }
          }
          else if (Input.GetKey(KeyCode.DownArrow) &amp;&amp; isMoving == false)
          {
              if (MovementEvents(down) == 0)
              {
                  move(down);
              }
          }
          else if (Input.GetKey(KeyCode.LeftArrow) &amp;&amp; isMoving == false)
          {       
              if (MovementEvents(left) == 0)
              {
                  move(left);
              }
          }
          else if (Input.GetKey(KeyCode.RightArrow) &amp;&amp; isMoving == false)
          {
              if (MovementEvents(right) == 0)
              {
                  move(right);
              }
          }
      }
  
      int MovementEvents(GameObject direction)
      {
          switch (tilemap.GetTileIdAtPosition(direction.transform.position, 0)) //gettileIdAtPosition returns the id of a tile in this case 0 is grass and 1 is water
          {
          case 0:
              return 0;
          default:
              return 1;   
          }
      }
      void move(GameObject direction)
      {
          increment = 0;
          isMoving = true;
          startPoint = transform.position;
          endPoint = direction.transform.position;
      }
  }
  </code></pre>
  
  <p>I am using 2d toolkit.</p>
  
  <p>I know it is probaly because i am setting them in the wrong way but what am i doing wrong?</p>