Why is UE4 so hard to get into?

The single biggest hurdle I have faced thus far with UE4 is blueprints.

Not because they are inherently difficult, its just that to get to certain bits of information through a google search would yield results that did have solutions, but didn't paint a whole picture.

For example, recently I was trying to setup a mobile touch interface that would move a character instantly to where the player had pressed, all while moving the level at a constant rate (imagine a bullet hell type game). I wanted to keep the camera and the player separate and wanted to be able to arbitrarily change the location of the player without affecting the camera.

I figured it would be a good idea to get the current position of the camera blueprint that I was using and keep them in step. In order to do that I would need to access the camera object inside of the blueprint and then get the location.

After much cussing, bag punching and general, "What the fuck!"ing, I ran into this youtube video that made it all click : https://www.youtube.com/watch?v=U0onMX5AckU

The bit of information that I was missing was the GetAllActorsOfClass function. Once I saw how that worked I was able to access any bit of information in any way I wanted from any object I wanted to access it from because I had a reliable means of getting the object reference that I wanted.

I have come the conclusion that it was me, I don't think its badly designed, I think its just that I have certain expectations for how things will work. One thing that still kind of throws me off is how the node networks will arrange information.

For example, if I wanted to do a simple logic branch in any C style language I would just say :

if(someVar [comparison operator] someOtherVar) { //do something }

where in blueprint, with its visual nature becomes :

[branch] --> True --> do something [condition] --> False --> do something else | | +--> [ Comparison Node ] --> [Get other Var Node ] / / / [Get Var Node]

I'm going to soon start translating my blueprint func to code and I think I may leave blueprints for a while. I've read that C++ code executes faster, so blueprints are really just for prototyping or those who can't code.

/r/unrealengine Thread