So if you use UE4 do you guys use C++ to code or do you use a plugin for another scripting language?
Why even bother with C++ though? Blueprints is perfect. Drop some nodes in, get the same results (and quicker too). There's even an experimental feature that turns Blueprints into true C++ before cooking, so you get pretty close speed benefits.
The only reason you'd use C++ is if you're comfortable with that language and you know how to use it to your benefit. If you're going to be developing anything that an artist or designer needs to touch, you MUST use Blueprints as they can actually interact and help in that case.
Also how much of a pain in the ass is C++ compared to something like C#? I've heard that you have to manually manage the memory and whatnot and that just sounds like a nightmare to me.
Not really that much of a pain; the syntax is a bit weirder (as an example, namespaces and classes both use the '.' operator to access members, whereas in C++ there's two distinct operators; '::' for accessing things in namespaces, and '.' for accessing things in classes, and then theres '->' for accessing things through pointers).
The one "painful" bit is coming to grips with memory management, but it's really not that bad. You just have to get it into your head of when to assign and free up memory. In C#, the Garage Collector automatically will clear unused memory for you. In C++, you have to be explicit. Don't worry, a lot of people (especially me) forget to clear memory all the time. It's not that much of an issue, so long as you're constantly practising and getting better.