Practically, your gameplay code its NEVER going to be the bottleneck. Graphics and animation take a LOT more than gameplay.
If you are bottlenecked by gameplay code, you are doing something really, really, really wrong. Maybe you are doing tens of pathfind requests per tick, or iterating in odd ways.
If you code it properly, there is little practical difference beetween c++ code and blueprints. Just make sure the design its properly done. As little code on Tick as possible, and try to get the stuff going in events, If you need some code to execute a lot of times, think on making it on a timer. You dont need to do AI every Tick, but you could make it twice a second with a timer, decreasing CPU usage massively. Tick should be avoided like the plague, specially in VR, becouse VR needs high framerates, and tick is run once every frame, if do calculations on a timer, then thats not tied to framerate, and will run the same at 120 fps than at 30. Also, remember there is some calculations that dont need to be done in sync, and you could use multithreading, but thats an extra thing. UE4 has fairly poor multithreading for graphics right now, until C++12 and vulkan are done, so in a quad core cpu you have at least 2 cores being idle a lot of the time. If you have really huge calculations to do, you could offload them into other threads, using that performance that wouldnt be used otherwise.
Allways try to be GPU bound, not CPU bound. Take a lot of care with animations, in the game im making, animation takes HALF of the total cpu time, wich is massive(working on optimizing that atm).
In short, dont worry about doing blueprint code, if you get slowed by blueprint execution speed, then you are doing really wrong that will also be slow on C++ ( just less).