API backwards compaibility documentation - API reference change log?

I bought the book “Learning C++ by creating games with UE4” by William Sherif.
The code seems not up to date with the UE4 API.

the question is: Is the API backwards compatible between UE4 versions (e.g. 4.5 and 4.7)? And if not, is there a change log available?

You do not every time get warnings during compile time if backwards compatibility was broken.
For example: if the font type that you can later on set in blueprint was included in one bigger function and now is not anymore, but is just in another function, then all will compile fine, just the font type will be missing later on. You would just have to call the other function now. But if you do not know about it, then you are stranded. (page 183 in the book)

If Epic Games change API calls without backwards compatibility, then the book is already outdated! It was written in
2014, most likely on UE 4.5. It was released February 2015, now is UE 4.7! The book has clearly laid out examples and costs $40.

Youtube videos and other sources would be hit too by something like this. (The book is there to not have to watch those though)

Rama do API changes threads, if you have one version back you should get warnings about deprecated use of functions, also you can always check what changed yourself using API Reference on things you get error on since changes are usually not that dramatic, thats what i do in such cases.

The release notes for each version should include any API breaking changes or other upgrade notes, although I don’t think we have a rollup (e.g., you’d have to read 4.6 and 4.7 notes, there is no 4.5 to 4.7 jump guide).

In this particular case, the issue is not really an API change. The canvas rendering was changed to use Slate fonts from 4.5 to 4.6, and as part of that SmallFont, MediumFont, and LargeFont are all set to /Engine/EngineFonts/Roboto.Roboto, while TinyFont is /Engine/EngineFonts/RobotoTiny.RobotoTiny. Going forward, I’d recommend using UMG over Canvas font rendering in general, although it does have some uses. If you need or want to do canvas font rendering with other sized fonts, you can always create new UFont assets in the editor and reference those instead.

Michael Noland

A change log between two versions would be enough for me. (e.g. 4.6 -> 4.7). Then I can trace it back to 4.5.
Important is also that the actual API reference keeps up with the changes and does not show obsolete/deprecated calls (

I know it is a long shot for an indie market engine, but I would like to compare to the Mathworks Matlab documentation. They have an example for every command in there. It is frightening, but that’s how it is. It is really helpful.
Sometimes they even go indepth about the actual math if you own a license.

Following a few ‘see also’ commands at the bottom shows even nicer stuff.

The API reference is built from the source code from each release so it should inherently be up to date with the latest version. Are there items in the API reference that are no longer in the source code?

That’s good info, thanks! I was not actually sure, because the API reference has no Version number (e.g. API reference UE 4.7.5).

P.s. I am not digging through your source code to figure things out -> I am ‘the user’, OK?. :slight_smile: