I am working with c++ with unreal engine. So far I made a little escape room game and currently working on a tank game.
I do wanna try unity one day as they have a very nice asset store

I've been developing stuff with Unity for a little more than 3 months now, feel free to PM me if you're stuck with something and need help or if you have questions about general things. Also, the official documentation and videos on youtube are your best friend. When I first started, doing the first three tutorials on the website taught me a lot about how objects and scripts behave. It had almost nothing to do with traditional desktop application development with C#.
I have just got into coding, I learned all kinds of stuff about c++ when I was 14 so I could make a 2D side scroll platform game, like uhm, Mario, or something. So i needed to relearn since C# is the new thing and I am learning it on SoloLearn, a cool site/phone application you can learn any kind of code you really want to learn. So I mean an idea for me would be like a 2D scrolling platform game, which I did end up making and lost it. I am 18 now and well I need to learn coding anyways since I am getting into Astronomy/Astrophysics and all. That is what I will be going to college for, and I will being doing the more computer science side of it. I am great with computers, just been too lazy to learn code, and when i was younger i didn't have access to resources i could learn code with. XD
Coming to my final year for uni and I made a small mobile game project using Unity in C#. Not on the app store or anything but it was a fun experience and I will be making some other projects. Not sure if I'll stick with Unity though.
Made this several weeks ago out of boredom: http://forum.toribash.com/showpost.php?p=9105635
Went to uni in hopes I'll do some coding there, huh boy I was wrong. Probably it's better somewhere outside mother Russia, but here they'd explain how printf() works for 2 weeks and then announce the course is pretty much over. If you want to learn, either go study the raw documentation and start coding random stuff on your own or try internships as Gynx suggested.
YouTube vids on Unity look pretty useless in terms of 'learning to code', these may only be helpful at getting into Editor's basics faster.
That's a pretty overkill way to implement jumping. You could have just assigned all your floor game objects on a layer, then used "isTouchingLayer" (or something along those lines) for your boolean check. Also, using your way, a player could, theoretically, never touch the ground again since the jump is tied to distance being smaller than or equal to a number that isn't equal to 0, or jump off objects that you aren't intended to be able to jump off of.
isGrounded is intended to check if your character is in a stable position. This is to prevent, for example, a player from spamming jump up an incline that should be too steep to travel.
Just pointing out the limitations of what you've chosen. Any implementation needs to be tested at the edges. Of course what you've chosen will work to jump off anything, but that's also a potential problem. All the raycast will check is distance until collision with an object. Specifying what kind of objects prevents bugs like jumping off game objects that are untouchable for the player, but still detected by the raycast, since raycast looks for all objects with colliders by default.
The reason I bring up the layer is because I know raycast can result in some weird interactions if you aren't careful. Using just:
if (physics.raycast(position, down, MAX_DIST))
Grounded = 1;
as how you decide if you can jump leaves room for possible errors if the raycast hits, say, a bullet object that has a collider. Fixing that would be as simple as assigning all bullet game objects to a "hazard" layer or something and specifying the raycast should ignore "hazard" layer objects. raycast has that feature already implemented.
That'll come in handy sometime. I didn't really think about that.