x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Unreal Engine 4 API

Hello,

Since the release of UE 4.10 I've been playing around with the engine and trying out the new updated tutorials. A lot has been changed/added since the last time I worked on the engine (4.6 I believe). The changes to the editor/engine are great. However, there is one thing that really bothers me. I am not a seasoned game developer. All my "game development" experience comes from the web. With that said, I do understand most of the concepts and terminology of game development. (I am a soft eng and been programming in c++ for a while) While using UE4 , I noticed that there are very limited resources on c++ scripting. My main goal is to do most of my projects in c++, and use BP only where appropriate. However, I find UE4 API extremely hard to use and navigate. searching it almost always results in the API call's representation of its BP version, not the c++ function, and when I finally find the c++ reference, the documentation is very limited/vague with no real life examples. (the web site does states it is a WIP so maybe that's the reason, I don't know) I hate to compare UE4 to , well you guessed it!, Unity but when I tried to learn Unity I was able to pick up its scripting in less then a week. I attribute that to its great API documentation and endless examples. I know UE4 is still a WIP and a much more complex engine but I sometimes feel that it is intended more for those who come with extensive Game Development background. so to sum my essay up, my point is, -> for an engine as complex as UE4, why is the c++ API is very poorly maintained? I think having an API that is easy to query with examples will make it a much easier learning experience for beginners like myself.

Best,

Product Version: UE 4.10
Tags:
more ▼

asked Jan 19 '16 at 08:07 PM in C++ Programming

avatar image

rob8861
51 6 8 10

avatar image MiDri Jan 20 '16 at 07:50 AM

I completely agree with this frustration, however; documentation is not fun or sexy and getting people to do it is tough. Epic is focusing their time and money on visual programing atm and letting the C++ documentation slip... I can see why they're doing it, it's a huge draw to get new devs in, but they really need to update the c++ documentation every 4 or 5 version releases... there are STILL undocumented UPROPERTY flags (NoRep I'm looking at you) that cause all kinds of weird behaviors when used... and it's a super useful flag for USTRUCTs!

avatar image 1999 Jan 21 '16 at 10:31 PM

Dear rob8861, So I read your help page on "https://answers.unrealengine.com/questions/362680/unreal-engine-4-api.html" and I am really * off. "I was able to pick up its scripting in less then a week." I am currently doing Arduino using C and I found that the scripting to be very similar to unity and not UE4. I outraigersly agree with you and are so happy to read this post of bad news. My current help item is "https://answers.unrealengine.com/questions/350913/c-error-to-be-fixed-for-skletle-mesh.html" By "EyeDee10Tee" "Epic seems to be focusing on the visual programming side" Yet I have still not found the reference to do AI in Blueprints, and if Blueprints require C++ for maximum performance then UE4 are not ready to move people to Blueprints only. If you want to find out a little more about my only reason to use UE4 then please ask about it. Do I change from UE4(The best developers tool.) to Unity(Why did they name it that?)? I will keep in UE4 and they need to split the guide to favour the beginners and advanced. I could not sent this message through the forum. From 1999.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

4 answers: sort voted first

Hey everyone,

I understand that this is an important issue and we appreciate your feedback, however the AnswerHub is for very specific questions about the engine rather than general discussion. This type of conversation would best be heard and received in the feedback section on the Epic Games forums (https://forums.unrealengine.com/forumdisplay.php?24-Feedback-for-Epic).

Cheers

Doug Wilson

more ▼

answered Jan 21 '16 at 05:30 PM

avatar image rob8861 Jan 21 '16 at 09:30 PM

Hi Doug,

When I initially posted this comment, I thought people will respond back with links or locations where I could find a much more detailed API documentation. I can see now how this manifested itself into a feedback/comment to Epic's development team. I would appreciate if a moderator can migrate this thread to the ue4 feedback forum where it can be heard and received.

Much appreciated Rob

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

There is not BP version of the function, they work exact the same 90% cases, if you learn how they work in BP you already will know how they work in C++, they will be acting the same, so you can use those BP tutorials too. Learn C++ syntax, thats the key, if you learn that lot of things in API refrence becomes selfexplenetory.

I personally don't need examples (in most cases), for me lot of stuff are self explanatory, function and varables for me are like button and switchis with labels and they do what is explained if not i always find way how they work by expirance, but i know there people who needs that to understand things. But i also think API Refrence getting worse actully it starting to miss many function varables even entire classes (in most cases abstract classes), here you have example:

https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Components/UMeshComponent/index.html

It actully makes lurking in UE4 source code more reliable then API refrence

more ▼

answered Jan 21 '16 at 09:57 PM

avatar image

Shadowriver
37.2k 936 172 1116

avatar image MiDri Jan 21 '16 at 10:26 PM

There are a LOT of inconsistencies between BP and C++ raycasting for example in C++ does not have built in debugging tools also there is no direct equivalent of the BP printtext, just to name a few.

avatar image Shadowriver Jan 22 '16 at 12:48 AM

Didnt i told you the 90% of blueprint nodes and 100% of all function nodes are C++ functions and they can be normally called? PrintString is no exception (btw one search needed to find this):

https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Kismet/UKismetSystemLibrary/PrintString/index.html

But there more appropiate function to use in C++ (this one actully i learned from first C++ video tutorial):

https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Engine/UEngine/AddOnScreenDebugMessage/1/index.html

C++ also have a debugger, obvuesly you need to use diffrent one as C++ generates native code.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

As a game dev who has used to code with directx libraries I can say this. Epic seems to be focusing on the visual programming side to cater to those who do not have a background in software engineering. Many developers are working to extent the api and you can find their work on github. I think it's the next evolution in game dev to make these tools accessible to the common person who has an idea but doesn't have the skills to bring it to life like we do. Someday maybe someone will work on filling the gaps in the c++ learning side. Back in my day we had to have binders for libraries on code references. Instead of nice color picker to get green we would have change color with a hex value like #008000. Coding will always be a challenge. You are stepping into the arena with people who built the electronic age of computers and they didn't have Google websearch. Work hard and your reward can be to help write some of what's missing in the c++ training. =) good luck.

more ▼

answered Jan 19 '16 at 11:11 PM

avatar image

EyeDee10Tee
2.1k 59 14 128

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

I think the BP system in UE4 is a brilliant idea and one which is now being imitated by its competitors (thru plugins etc). However, the BP caters mostly to those who come from art/graphic-design background. Although easy to learn (mainly because it is well documented), I find it cumbersome. It can quickly get messy and all over the place with spaghetti like patterns of nodes and connectors on the screen. My point is, from what I have seen in UE4, a simple task that can be achieved in 1-2 lines of c++ , might become a huge network of BP nodes. As the game logic grows, so does the network of nodes. Soon it becomes unmanageable. This is probably why I never really liked visual programming. A lot of commercial software nowadays offer visual programming as an alternative, but I always go with the old school scripting because its much more maintainable and readable.

Ultimately, it is Epic's decision how they want to allocate resources. I think it is great that the community helps with the c++ documentation but Epic needs to realize the importance of having a solid and high quality documentation, not only for their BP but also for their c++ api.

more ▼

answered Jan 21 '16 at 08:24 AM

avatar image

rob8861
51 6 8 10

avatar image MiDri Jan 21 '16 at 10:28 PM

BP are great for prototyping. I use them a lot to test ideas then go and write the c++ equivalent (which takes about 4x as long on most things, though there are some edge cases that are quicker to implement in C++ )

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question