Download

Programmatic Tutorials/Articles

Hey Unreal Team,

Fantastic job on the current documentation and tutorials! This whole subscription model and the new rework of the entire engine has really caused a ripple in the development scene. I just have one suggestion (which may or may not be in the works).

Is it possible to get more programmatic tutorials at some point? What I mean by this is I’ve noticed most of the tutorials have been heavily based on designer/editor work, and I’m having a hard time finding documentation or overviews of how a programmer might go from programming functionality to loading it into the scene. This is in a couple of tutorials, but mostly just touches on the subject.

Thanks!

It sure is a good idea, but I wouldn’t hold my breath, as it seems they’re more focused on blueprint for now, which also makes sense to do at the beginning.

For now I would suggest to go and create some mechanic that you’re interested in using blueprint, once you have it working, come back to c++ and try to recreate that all with code, the good thing about this, is that you already know exactly which methods you want for the task, you just need to find out in which class the method you used in blueprint is defined, which is straight forward enough, and also get the hang of header macros plus the small c++ stuff like casting that is different than blueprint. Do this for 1 or 2 tasks and you’ll get a good idea of what’s what and how to create an actor only from c++ without blueprint being involved.

As for the coding itself, while visual studio’s Intellisense is considered a very good feature in most .net and non-.net languages, it’s unfortunately more like a sick joke in c++ after VS2010, it is almost never ready, and when it finally is, you already wrote the part of the code that you needed it for, and it’s not just the autocompletion, but it also includes color highlighting and goto definition features, which makes it much harder to code for someone who is just going to start with the huge code base of UE4. For that make sure to use other VS’s features instead, including solution explorer’s search and find in files search. instead of goto Def…

If you can afford it, VAX makes things much better, and Entrian source search is also a pretty good help, but for now you should be able to get started with the simpler VS features which are included.

This 100000 times. Why should all attention go to blue print? In my opinion, this is a mistake, C++ should deserve the same amount of attention.

Thanks for the suggestions, Farshad!

Unfortunately it’s not C++ that I’m having a hard time with (I’m 3+ years deep with C++), it’s using the Unreal Engine API in C++ to create either the foundation for blueprintable classes or simply coding away to create the end product either way that I’m interested in.

Hopefully sooner than later! =P

We definitely want to do more programmer tutorials. I’ve already gathered a couple suggestions for the next time I might have free time to do one personally, and I know the documentation team is also hard at work on getting some better C++ coverage. If you guys have any specific suggestions of stuff you want to see, and in which format (we’ve done blog posts, videos, forums, etc.), make sure to keep them coming! It helps us get a better idea of what type of stuff would be useful, especially as everyone learns differently. As a personal example, I’d probably prefer rummaging around through the API docs and example games, but others might prefer a video going step-by-step, or a blog post.

Networking tutorials for C++ would be awesome. I know that the theory is very similar to blueprints, but it would be nice to see exactly how to properly implement it in code.

As for the formatting, I think a text tutorial or blog post would be the best way to go. Having a video about text just doesn’t make much sense to me. :slight_smile: (Also, I like rummaging through docs as well, but there just isn’t that much C++ documentation yet.)

Thanks for replying Billy!

I personally would prefer a blog post, as sometimes I need to go back and re-read or visualize in my own way and doing so in videos is a hassle (for me, of course).

As for content, I would really appreciate a “Getting Started” in which one of the blueprint tutorials was redone programmatically or something; or possibly an article (or video!) on the common (boilerplate) code for any game.

I am just curious as to how (as a programmer) I fit in the Unreal Engine world. As a student and therefore indie developer, I am not adverse to Blueprints. There is a blurry line between what should be done in Blueprints, what can be done in C++, and how to go about it. Being shown how to use the classes and [programming] workflows available to me would be awesome!

My disorientation regarding all of this might make my explanation… cumbersome, but I hope you understand!

Edit: I must have really overlooked this gem, as I hadn’t seen it in my voracious foraging of UE4 tutorials. Good mix of both BP and coding. https://wiki.unrealengine.com/First_Person_Shooter_C%2B%2B_Tutorial#Starting_a_New_Project

Sounds good. I’ve had some requests to port parts of the blueprint networking tutorials to their C++ counterparts, so I’m hoping to do something like that in the future. Networking in particular is something that is also in the process of getting a lot of documentation work AFAIK.

You’re welcome, and that’s also a good suggestion (and thanks for sharing that wiki link for others)! I think the appropriate C++/blueprint workflow will vary by team, but it’s definitely a good idea to show some common scenarios. Simple example, we tend to avoid hard-referencing any content files in our C++ and instead set that stuff up in content (data assets or blueprints), so that they are very easy to change in the future if need be.

Great to hear that we will be getting some new tutorials :slight_smile:

I also agree with this, the current API is a bit difficult at times. Maybe you guys should get some inspiration from Unity, their reference sheets have very good explanations and examples for pretty much every function and variable in their language. Really happy to see that Epic is very active and listening to the community :smiley:

This. Thanks for taking the time to address this thread Billy! Just another reason $20/mo is practically stealing.

We have gotten inspiration from lots of places for the API reference. We know the explanations of things need to get better, and we would love to include examples for everything. Improving it is going to be a long term project though. Stay tuned, we hope to make the experience better with each update!

One thing you might find useful it to compare the Blueprint and C++ version of the templates. We have tried to keep them as similar as possible (even trying to keep comments the same!) so that could be very useful in understanding how doing something in Blueprint-land maps to doing something in C+±land.

Thanks Jeff and James for your replies.

I also would like to suggest a HUD tutorial that can help the user work with the Slate syntax. I really would love to start mucking around in UI land!

We are already working on a Slate tutorial! :slight_smile: I’m also going to get some basic Slate technical guide and ‘using Slate in a game’ documentation put together soon.

Just touching base with how this one is coming along? I’d really like to sink my teeth into written documentation of the networking system. Video tutorials are nice but they’re too slow, nothing beats good old fashion reading.

I’m new to Unreal’s networking system so I feel I’m flying blind.

Am just going to jump in here .
I prefer written format as well.

And what i like to see is better explanations on how stuff fit together.
GameMode/GameState, Character/Controller/PlayerState, Multiplayer Gameplay.
With small examples showing you how the API was intended to be used.

Right now, we are left guessing a bit at least i am.
Edit: I sort of got a answer for us all >here<.
I think we can expect some better C++ Refrence soon. :slight_smile:

Video tutorials about Slate would be great in my opinion. :smiley: