This is a very good question, there are some bots under development that do such a thing, but not sure if there is anything currently on the market. But maybe the best thing for you is to play a lot in the pool, you will gain experience if you practice. Or get a coach, chess.com has a lot of registered coaches.
Practising openings with an engine.

So, I'm trying to study all the Nimzo lines and was wondering if there was an engine that would play all the variations as it seemed fit, for example, one game could go, 3. Bb4 4. Qc2 and the next could go 3. Bb4 4.e3 eta and maybe some side lines. if this is possible id love to know how to-do it! also if there is a way to continue playing after finishing the theory, so I can test playing the different positions I get, that would be amazing.
P.S Sorry, I'm sure this question has been asked a lot.
Engines are useless when it comes to openings. That is why they need an opening book just to be functional.
In general, Engines are not very reliable in MANY categories. Not just Openings. They also suck at:
1) Endings - When there is no immediate win, and you have K+R+N vs K+R, bots will say +3, but we all know this is a draw!
2) Strategy - Engines are no good at the strategic aspect of chess. For example, it often sees the King's Indian as +1 from the get-go, just to find out 15 moves later that Black's equal!
3) Tactics - Yes, even tactics. It is good at calculating forcing lines from a winning position, but it misses draws all the time. Case in point - see post 9 from the following: I really am not that good, but a 2100 bot now ?? - Chess Forums - Chess.com. It claims -9 at a point that it's drawn, and claims 0.00 at a point when White is totally winning!
Bots are best for quick blunder checks, but even then, you have to work deeper into it to confirm that the assessment is genuine (unless it is forced mate - they ARE good at finding things like forced mate in 9, for example.


Bots usually play WAY above their rating when it comes to theory. Each of the bots is given an opening book, so they almost always play theory for the first several moves. It's an excellent way to practice theory. You can play the first several moves until the bot is out of book, quit, analyze, then do it again. You can practice the openings you want without having to play an entire game.
Last month I was practicing the Nimzovitch System against the French. I played against the Alexandra Botez bot, had to quit a few games, but after about three tries I got a French. Worked like a charm. I played it about a dozen times in an hour. Great.

So, I'm trying to study all the Nimzo lines and was wondering if there was an engine that would play all the variations as it seemed fit, for example, one game could go, 3. Bb4 4. Qc2 and the next could go 3. Bb4 4.e3 eta and maybe some side lines. if this is possible id love to know how to-do it! also if there is a way to continue playing after finishing the theory, so I can test playing the different positions I get, that would be amazing.
P.S Sorry, I'm sure this question has been asked a lot.
Yes, chess.com has this feature, for select openings:
https://www.chess.com/practice/openings
You can also choose the engine strength, which is a nice touch - so you can set it to a range that you feel comfortable with.

@Vulpix8 technically, I don't think it's an "engine" that you're looking for. The role of a chess gui is typically to play moves from an opening book (and not use analysis from an engine). People often build a their opening repertoire in PGN format. Check the features of your chess GUI to see if you can use this repertoire as your opening book. I think Fritz can do this (and if you have additional lines the GUI can randomise which line it plays). I've never tried it with HIARCS.
Once the position is not found in the opening book, the chess GUI sends it to the engine for analysis.

@vulpix8 I was just checking out ChessTempo again. It's really good for creating your opening repertoire and training against it. It's more about repetitive practice from the start position and certain positions. You might find it helpful, however, I haven't seen the ability to switch to game play and continue the game.
So, I'm trying to study all the Nimzo lines and was wondering if there was an engine that would play all the variations as it seemed fit, for example, one game could go, 3. Bb4 4. Qc2 and the next could go 3. Bb4 4.e3 eta and maybe some side lines. if this is possible id love to know how to-do it! also if there is a way to continue playing after finishing the theory, so I can test playing the different positions I get, that would be amazing.
P.S Sorry, I'm sure this question has been asked a lot.