если я не ошибаюсь, то блюпринты позволяют делать почти все то же самое, что и C код. Отличия есть в так называемых Missing Features. Например в C++ есть возможность управления Skeletal Mesh, но нет возможности управления Poseable Mesh. В блюпринтах напротив, Poseable Mesh тихо спокойно крутится как угодно. Так же в блюпринтах в AiPerception компоненте есть возможность определять друзей/врагов основываясь на "командах", но нет возможности назначить эту "команду" в блюпринтах. А вот в сях есть функция SetTeam(). Что касается производительности - тут сильно зависит от того, кто как пишет. Блюпринт можно сделать бысто работающим, если знать как, ровно как и в сях можно такого понаписать, что тормозить будет люто