oldcollins -
I am going to assume that you are trying to solve this issue as part of your game development, rather than as an exercise in coding.
Pathfinding and Steering are not trivial subjects. There are several opensource, free or paid solutions. There is also a solution built in to Unity, but this solution requires pro (NavMesh).
What you are looking for is Pathfinding, I feel, rather than Steering, tho’ these two fields do cross over.
There are several solutions on the AssetStore:
Aron Grandberg is the one I’ve followed the most and used a version of a few years back and it was effective and my monster chased my player just fine.
Simple Path has good feedback and the author seems very knowledgeable.
Path is also one of the first to be around the Unity Community, and AngryAnt now works for Unity
You can find more by searching “Pathfinding” in the asset store.
Path is free. At one point Aron Grandberg’s package was free for non-commercial use and $100 for a commercial game. I have not looked at the software recently. His home page is here: http://www.arongranberg.com Dig around and see if there is still a free option.
The basic principles of pathfinding are well documented. I would be searching for A* (a-star) and NavMesh. Essentially, the method here is to periodically scan the game board for all possible paths from one point to another point by dividing the board into a grid, and then picking the shortest path - then moving the agent along that path until it reaches its destination.
Steering is simply moving towards a target in 2D or 3D space. A complex steering solution will try to do things like reach a target, avoid a neighbor, etc. and all of these steering needs will be wrapped into one force or direction.
Pathfinding and Steering cross over when there are obstacles in the way. Often steering can fail in a situation where only steering is being used when trying to avoid obstacles. A Pathfinding solution can be useful in these cases to efficiently get around an obstacle. In the very least, steering often needs a state machine to help influence the style of steering used at any one time that changes depending upon the situation.
One resource site is http://aigamedev.com and might be worth a poke around. I would also look into A* and NavMesh.
You could try to “roll your own”, but some of the projects have been working for years, so in general, I would suggest looking to see if there is a ready-made or ready-to-modify solution that fits your budget, even if it’s free.