C++ Documentation

C++ documentation for Unreal Engine is untidy and unexplained. I. Don’t. Understand. A single thing.
I don’t know how you guys code there.
I really apprecciate the 20€+5% payment, the friendly community, and the editor manual. But, my game project deals about funny physics effects. I need C++ to improve performance.

totally agreed
ive been programing on and off since around 1987 in just about every language there is and i cant even get simple things to even compile, let alone work.
there is some kind of magic happening in ue4 that ive no idea how to tap into.
very frustrating

I understand the frustration and it’s something we’re working on. If you could tell us what pages you’re reading, what problems you’re seeing with those, what aspects of programming inUE4 you find most difficult or confusing, what you would like to see changed or improved in the documentation, what workflows just don’t make sense, etc., that would help us out a great deal. The more information you provide, the better able we are to act on it. :slight_smile:

a quick example, a search for ‘random’ in ue4 documentation
nothing but a few blueprint examples and pages like this, basically a useless list as is all of the api reference.

a quick search of another engine documentation for ‘random’
brings a list of relevant links, clicking on the 1st one
brings up a (working) example in code

most of the c++ documentation either does not exist or contains a useless list (at best)

I strongly recommend the Shootergame source and the UT source. I’ve been treating the UT source as an authority, for better or worse.

For specific implementation details, starting with the C++ variant of a given template is super helpful.

I feel like I get a lot out of looking up blueprint nodes and functions in the engine source – you can generally glean the right way to accomplish something by looking at the definitions of blueprint nodes.

I’m very happy that Unreal Engine Developers answer us. I agree with the user tegleg.
I hope C++ documentation will b improved :o

Shootergame unfortunately doesnt work in 4.6 preview, not sure i have space atm for UT, though thats a good idea to get it

I actually don’t even build and run those projects, I just have the code available as a form of documentation.

Searching system works fine you need to hit the API button:

But I agree on the documentation part. I don’t think epic game sees how big this problem is. I know that they working on it. But this is going to cost epic games money in the long run.
For now I do my main project in Unity and the main reason is that Unity documentations is way better. The Unreal engine is just a toy for now because I love this engine!

Here are some things to point out:
• Sample codes of all important functions
• More in depth information on all functions
• User contributed notes
• Fix images in Chrome / Internet explore

Where can I report grammar mistakes or discrepancies found in documentation, or just send some feedback on how certain parts could be improved?

For example in:
“const class FObjectInitializer& ObjectInitializer” is being used as a parameter, althought the engine generates the “PCIP” style param now in constructor (I assume it has been renamed for clarity purposes?)

Also, search for “proeprty”.

@Jeff-> I sincerely admit that UDK is beautifully documented. The official API documentation is very easy to read and to understand, and there are a lot of books published about it.
As Goat Simulator is avalaible for linux and Mac, I suppose Coffee Stain Studio used the complete version of Unreal Engine 3. Can I contact Epic Games privately and ask for the price of UE3, or can the price be revealed publicly?
Unreal Engine 3 is quite old, but at the same time Unreal Engine 4 is quite young. I think UE3 fits better for some of us. Will we have full code documentation in 2015?

oh how i wish i could get the full ue3 (well i have an old version from when i was working for a studio, but i dont have the license to use it), ue4 is a nightmare to use in comparison in every aspect.
here is the response i got when i inquired about android support for ue3. hope its ok to post it here, if not ill remove it.

to me, ‘well-funded’ and ‘significant up-front payment’ means no you cant have it :frowning:

@tegleg-> So what are you doing now?
Are you working with UDK?

i would love to still use udk, since im a 1 man team with very occasional help with modeling i concentrated on ios games because they are by nature a lot smaller than pc games.
unfortunately changes made by apple killed udk in that department, and epic will likely not update udk, so its essentially dead.
i spent some time investigating other engines, 1 of them was very promising but lacked profusely in its documentation (yes far worse than ue4)
so now i have been cornered and my only option is ue4, and tbh i dont like it.
with udk i could create a full game in about a month, over a year into ue4 i still have nothing to show for it.

I’ve posted this in various threads, but they have been scattered so not everyone will have seen them. We are working on solutions for your first three points. We are aware of the shortcomings of the API reference in its current state. It’s not a quick fix, though. It will take time to add code samples for every class, function, etc., just as it takes time to go through and document (from scratch or improve) the entire code base. User contributed notes will be coming as well (most likely in the form of a commenting system). Lots of things are in the planning stages or just beginning to be rolled out so stay tuned.

I’ll get those broken images fixed in the next doc update which should be tomorrow.

I’m very happy Unreal Developers help us.
This demonstrates how they support indies :o

The problem for me is not C++ pre-se, but the tons of preprocessors macros giving me headache (I confess, I hate macros) and smashing VS intellisens&soons when I try to find some definitions. Sooo, do Epic really need all those tons of macros? (excluding those related to multi-platform portability, ie compiler or OS single settings&definitions). A lot of them could be replaced with enum classes.
Of course a good documentation, at least some small embedded comments, would be very appreciated, especially on renderer, RHI and their implementations.

Yes, I agree with you about the comments.

Macros are needed to create code reflection. They are used to mark code, which will be included in *.generated.h files which in turn contain code reflection data.
So no. They can’t be replaced by anything. Unless you want to write code reflection yourself and not rely on handy generators which will do it for you (;.

As for rest of topic. I’m curious what is exactly wrong with documentation and what does it lack.
There is tons of code documentation (not to mention most of code is self documenting due, to reasonable names).

I’m personally missing more high level stuff, like more detailed information on replicating UObject as part of Actor or ActorComponent (I eventually figure it out, by browsing code), but without access to sources I would never be able figure it out, as the description of needed functions are vague at best, and don’t tell anything about how it should be implemented to make it work.
Or more detailed networking description as it was with UDK. Not how to do something, but why to do somethng and why not to do something.

It sounds to me more, like you don’t need documentation but “How to do X”. My advice is if you don’t know how to do something ask on forums, AnswerHub or on IRC, there is always someone who will be willing to give answer if they know it.

this is essence of the problem to me