How to make an object move to another object's location in a 2d game?

Hello, I am trying to figure out how to make a game object (like a player) move to another object (like a house or dungeon) that the player clicked on, but only if they clicked on it. Meaning the player can’t move around freely. It doesn’t really matter how it gets there, so path finding or anything like that doesn’t matter.

I’m sorry if this is a stupid thing to ask, or too much to ask of.

public float speed;
void Update(){
if (Input.GetMouseButton(0)){
Vector3 target = Camera.main.ScreenToWorldPoint(Input.mousePosition);//converting
target.z = transform.position.z;
transform.position = Vector3.MoveTowards(transform.position, target, speed);

(EDIT - Sorry this only answers the object moving towards another part, i should have read the full description and not been lazy reading the title)

Well this should be relatively simple with Vector2.MoveTowards() then make your code look something like this

using UnityEngine;
using System.Collections;

public class MoveTowards : MonoBehaviour {
    GameObject HouseOrDungeon;
    GameObject Player;
    float speed;

	// Update is called once per frame
	void Update () {
        float step = speed * Time.deltaTime;
        Player.transform.position = Vector2.MoveTowards(Player.transform.position, HouseOrDungeon.transform.position, step);

Check out the documentation (here)

Hope that helps but please remeber (do this before asking)