Unreal's engine programming documentation is poor compared to CryEngine's

CryEngine V was recently released with full source code so I decided to take a look at it. As a programmer I was especially interested in the code and I found out that their documentation for engine’s internal systems and APIs is quite good. Well, perhaps it is not perfect but such documentation for UE is almost non-existent! So far I am getting an impression that they generally care much more about the old-school programmer-centric workflow than Epic does. :frowning:

I would really like to see some improvements in this direction for the Unreal Engine and I am sure you guys can come up with something even better! :slight_smile:

Well Unreal Engine 4 got a good Wiki with good users articles.

And this Programming with C++ | Unreal Engine Documentation

But the Engine part looks like is more detailed in the Crytek docs

From my point of view it would be really nice to get some stuff about extending editor in C++:

  • how to create your own file format and import it to the engine,
  • how to add new window displaying new format (aka Static Mesh Editor, Texture viewer etc) - this means creating new buttons, viewport, controls etc lots of stuff but would be helpful

Basically things to extend the editor. I know that you can learn from existing code but I’m not sure if I’m doing it right.

Well, the editor is built of Slate objects. See here:

https://docs.unrealengine.com/latest/INT/Programming/Slate/Overview/index.html

https://docs.unrealengine.com/latest/INT/Programming/Slate/index.html

I guess the file format thing would work like it does in c++. Im not sure what special requirements are needed within the UE4 context.
Maybe the one or other macro is needed…

Since they do not focus on visual scripting, makes sense (after so many years of poor documentation) that nowadays CryEngine has reasonable programming docs.
However for many years their docs were sht.

There was a nice stream about this: https://www.youtube.com/watch?v=zg_VstBxDi8

Yea I know but it was recorded one year ago and it covers basics.

Could we stop pretending that videos are a good way to do tutorials or guides? They’re a horrible medium for that. If I got to decide anything, I’d say that the current educational streams should be transcribed to a text format with pictures.

ShooterGame, VehicleGame, StrategyGame, Unreal Tournament and Match3 are all there to look at - that’s where you’ll probably pick up a lot of C++ engine stuff from.

Cry Engines docs definitely look more fleshed out, there’s lots of descriptive writing there. I think that’s what UE is missing really.

True, we do have those examples, but I really think having a descriptive documentation would be beneficial and could accompany those examples quite well. Sometimes a good explanation is all you need if you’re stuck at understanding. :slight_smile:
Also I think it’s worth mentioning that Epic included a lot of descriptions and explanations within the engine source as well.

PS: Before coming to UE4 I used CryEngine 3 and the documentation was quite horrible at that time. I’m really impressed to see Crytek finally pushing a good documentation, quite the improvement in comparison to the past.

I see what you mean, and I also think that written tutorials are important, especially for programming. But streams have an advantage: they are live and if you want to ask something you can just post your question in the chat. So both streams and written tutorials are important in my opinion.

a good documentation would prevent us from the joy of discovery :smiley:

yeah, written tutorials would be great! it is much easier to use them as a reference, or to find a solution in them when you need to implement something similar, but don’t exactly know/remember how to do it…

and I would be happy to see more small example snippets in the docs in general, like in the article made for Unity developers coming to UE4. descriptions in the source are usually not enough…

Agree with this, but there has to come a point where it’s “cutting edge” enough, which is followed by long periods of tweaks and small improvements. Then a Major change which invalidates processess comes at certain points (like every year or so)…

Video tutorials are generally good because they encourage you to follow along. The problem with books or following courses is that you don’t really learn the language, you just learn how to do that particular tutorial.

Realistically the learning only happens when you start doing your own things. Unfortunately C++ (well any non-visual language really) isn’t very forgiving for newcomers. If I hadn’t had somebody more experienced to guide me through the first few months, obscure compiler errors would have got the better of me…

Well the ShooterGame for example is pretty broken and in Cryengine you got a complete shooter game sample even with ADS and Firemodes style crysis

And here we are in 2020 and the documentation of UnrealEngine is still a joke.

much better than before, but sometimes really not informative, e.g. just a list of parameters without meaningful description… => digging the source & google