And one more thing, the hardest part about gaining muscle is not the working out part, for me it was the nutrition part. It is hard to get quality calories in without eating garbage and get enough in to gain weight. If you are working out perfectly but only getting in the 2,000s with your calories you will not gain muscle. If you are getting higher amounts of calories but are getting it from garbage fast food, you will only get fat.
One tip that worked for me was to make yourself a quality weight gainer shake everyday. The stuff you buy at the store is not healthy, but it is easy and cheap to make your own.
The shake I would make is one cup of milk, one cup of oatmeal (quick oats) one serving of natural peanut butter, one frozen banana, one serving of high-quality chocolate protein (like Now Foods dutch chocolate......or, in lieu of a protein powder, one cup of pastuerized egg whites) a serving of stevia and about 3 ice cubes. Blend that all up and you'll get around 900 calories and around 60 grams of quality protein with quality fats and carbs. It's very cheap and easy, tastes amazing, is easy to get down also. I would drink that exact shake every morning and night. Additionally, I kept a blender at my job and would make one during my workday as well. With those three shakes alone, that will be 2700 calories and around 180 grams of protein. If you eat a good protein based lunch and dinner, you will have no problem consuming around 4,000 calories daily, clearing 200 grams of protein and will have a good ratio of fats/carbs/protein, which is a good starting point if you are a hard gainer and trying to pack on muscle. Just scale it back if you start getting to fat or bump it up if you still aren't gaining. Anyway, just a tip for you from my experience, good luck!