Possible the coolant from the engine isn't making it to the heater core. This could be caused by a blockage in the heater or hoses to the heater.
It could also be caused if the temperature controls aren't working right. You put the control on hot but for some reason, the valves aren't opening to let enough engine coolant to flow.
It could also be a bad thermostat. The engine gets warm enough to drive right but not hot enough to heat the inside of the vehicle.
If you like to:
get dirty and smelly (like antifreeze and grease) or
you like being upside down with your head on the floor of the vehicle,
then this is a job for you.
If this isn't you, then find a mechanic and let them diagnose the problem.
If you want to fix it yourself, get upside down on the passenger side and look up under the dash at the heater controls and see if they are functioning properly. You'll need a flashlight and may have to take parts of the dashboard apart. This where you'll want access to good service manual (think library or web site).
Let us know how you're doing.
(I'm not a real mechanic; I'm just old
and have learned the hard way. If a real mechanic tells you something
different, listen to him and fuggedabowt my answer)