title: most efficient way to get a very smooth player movement in unity5
body: <p>So I am making a simple 2d endless mobile game. In the game, the player object (spaceship) moves upwards continuously and then the player can use either left or right to move the player to avoid obstacles.</p>
  
  <p>As a newbie I am finding it very difficult to achieve a very smooth motion in the player movement. I have watched many tutorials including the unity official tutorials about moving an object. They all use simple techniques like:</p>
  
  <p><code>rigidbody.velocity = (new Vector2 (0.0f, 1.0f)) * speed</code> in the fixedupdate function</p>
  
  <p>or <code>transform.Translate (velocity * Time.deltaTime * speed)</code> in the update function</p>
  
  <p>or <code>rigidBody.MovePosition (rigidbody.position + velocity * Time.fixedDeltaTime)</code> in the fixed update or</p>
  
  <p>just just changing the <code>transform.position</code> over time in the update function.</p>
  
  <p>But none of these techniques or code that I have used have helped me to achieve that very smooth motion in the player movement that I want. No matter what I try I still get lags in the player movement. I have also tried switching the rigidbody.iskinematic on and of and changing the rigidbody interpolation but I am still not able to achieve a smooth movement in in 2d games that we see such as <a href="https://www.youtube.com/watch?v=Y4n3MPXKH9w" rel="nofollow noreferrer">ios games shredd or split the dot</a>. I thought that it might be my computer that was very slow or something that is why I am not getting a smooth movement but I transported my project onto my friends computer which is twice as fast and I still have the same results. I also striped all that decided to erase all the code that is in the player controller scripts and just focus on the code for moving the player but the results has not changed.</p>
  
  <p>I am thinking that it is because I am just using a very simple and inefficient code to move the player or it might have something to do with changing some settings in unity. So the question is what is the most efficient way to achieve a very smooth player movement in unity. (Codebase and unity settings.)</p>
  
  <p>Currently I am just using <code>rigidbody.velocity = (new Vector2 (0.0f, 1.0f)) * speed</code> to move the player and I have made the camera a child object of the player for simplicity.</p>
  
  <p>Thank you.</p>