It is, but a lot of in-game object behaviors (and almost all modding) was done in "UnrealScript", a sort of java like language that compiles to bytecode.
UE4 seems to have more complex scripting capabilities:
> UE4 also includes new developer features to reduce iteration time, and allows updating of C++ code while the engine is running. The new "Blueprint" visual scripting system (a successor to UE3's "Kismet"[80]) allows for rapid development of game logic without using C++, and includes live debugging.[81][82]
>Another realization the team had was that the separation between the C++ code and UnrealScript in Unreal Engine 3 held things back for the engine and for programmers of games. "You end up with basically two different programming worlds," says Sweeney. "Each is nice in its own way, but the boundary between is a very messy place."
>"We removed UnrealScript, and went strictly to C++, and we have seen huge dividends from that," says Sweeney. "It would have been almost impossible to get to the point we were today, to release the whole codebase."
Blueprints does have some pure functional language influences. There is a control flow wire for imperative logic, but parameters feeding into that come through a graph of purely functional inputs and calculations that themselves have no side effects.