It might seem weird, but you can make a needle into a compass that always points in the same direction.
Put a piece of styrofoam in a bowl of water.
Rub the needle with the magnet twenty times in the same direction.
Then, balance the needle on top of the Styrofoam.
Did you see the needle spin? You can also spin it by putting a magnet close to it. But the needle spins when there's no magnet near it. That's because the earth is like a magnet. The earth also makes the needle spin.
You can't take this compass on a hike - but can you design a compass that can fit in your pocket?