To keep the footsteps in the correct direction, when you instantiate them make them face in the transform.forward direction of the player. I presume that the character controller that comes w/ unity has information about the current slope of terrain (since the script figures out whever you can go up the maximum slope you set), you could google around to see if such a thing exists.
↧