a mix of both, but not as easy to manage as in Unity3d but easier than it was in UDK. it does not create so many dll files to run faster by avoiding too many communication among dll-s, normally only one so called game module.
you can create a new class by the class creation wizard in the editor to be pre-created with macros and other required stuff. you can select its base that can be a couple of different things, e.g. a new character class or just a general base class called actor, or a component class:
https://docs.unrealengine.com/latest/INT...zard/index.html
then add code:
https://docs.unrealengine.com/latest/INT/Programming/Basics/ClassCreation/CodeOnly/index.html
then you can put this new actor class in the level in the editor (after compiling the new class in VS2013 and restarting the editor)
or alternatively you can create Blueprint classes, or a mix of both:
https://docs.unrealengine.com/latest/INT/Programming/Basics/ClassCreation/index.html


Free world editor for 3D Gamestudio: MapBuilder Editor