you'll also need to listen to small chunks of music and try to play them on your guitar by ear... it'll get easier the more you do it.
Structured practice is the key - how much time do you have / can you find? My practice goes a bit like this each day:
15 mins warmup - alt picking, legato exercises and sweeps to a metronome to get my hands going
30 minutes on technique - building picking speed, sweeping new shapes etc
30 minutes on scales / arpeggios
30 minutes on rhythm playing
30 minutes on 'head' exercise - theory, ear training etc
30 minutes 'fun' - jamming to backings / learning a tune
plus time recording whatever I'm recording at the time - variable depending on what else is going on...
The sections shift a bit sometimes depending on what I need to focus on - so at the moment as I'm about to take a diploma exam I'm using the 'technique' time for more theory and scales. And some days if I'm very busy I'll trim the slots down into a smaller chunk of time.
Just make sure you practice every day, and as long as you continue to push yourself you'll get there. 2 years isn't very long to have been playing, so don't get too down that you're not the next Jennifer Batten yet! :D
When you say you can take a piece of music and learn it overnight, give an example - you might be way better than you think you are... It's common to sell yourself short....
Check out my music, video, lessons & backing tracks here![br]https://www.renhimself.com