Another UE4 feature Epic Games promotes a lot is the use of Blueprints. Blueprints is a visual scripting language for UE4.
Here's the thing, if you have used UDK (or still use it, for some reason), you are already using Unreal Kismet. Well, I have to say Blueprints is very different to Kismet, since Blueprints seems to be, at first glance, more like “visual code” than the events-driven programming that is Kismet.
RELATED: Unity user explores Unreal Engine 4: Part 1
RELATED: Unity user explores Unreal Engine 4: Part 2
RELATED: Unity user explores Unreal Engine 4: Part 3
RELATED: Unity user explores Unreal Engine 4: Part 4
RELATED: Unity user explores Unreal Engine 4: Part 5
Blueprints is a nice alternative to coding, but it don't know if I can call it a “designer's programming tool” since that requires you to at least know some programming. Maybe you are not required to know C++ sintax, but you are expected to know how to operate vectors, for example.
UE4 offers two different kinds of Blueprints. It offers Level Blueprints, that are Blueprints that are specific to each level and are used to perform different tasks, and also Class Blueprints, that are blueprints attached to actors, characters, etc. Using one or the other greatly depends on what you want to do.
I'd say Level Blueprints are meant to be used for things that relate to each level, for example, if you want a script that pre-builds something, or setups a specific thing (for example, if you have a variable that turns on/off a light and you want to manage that on level load, you can setup a Level Blueprint that will turn on/off the light depending on a given condition).
On the other hand, Class Blueprints can be used on “prefabs” (UE4's name for Actors) that you can put in a scene. Since the Blueprint is part of an Actor, it can be replicated over and over without you having to make the Blueprint each time. This can be useful, for example, for power-ups in your game where you just want to put a bunch of those on a level. Additionally, Class Blueprints let you create an entire prefab, not just a script (something I mentioned on part 3), so you can add geometry, or more than one geometry, and then add a Blueprint to it so it does what you want to do. Keep in mind this is exactly the same way you create Actors that combine a lot of geometry on a single “prefab” (a bunch of objects grouped together under a single Actor are actually a Class Blueprint, albeit without an actual Blueprint).
This is where I think deciding which one to use can be a little tricky. If there's a switch to open a door, would you use a Level Blueprint and create that routine every time, or would you use a Class Blueprint that simply lets you create a lot of switches? One of my problems right now is that I don't know if you can reference objects like in Unity. For example, in Unity, when you create a script you can make the variable public so you can drag-and-drop a specific object so it becomes your script's variable, and it seems a Class Blueprint will let me do the same thing (this would be very useful if I just want one type of switch to open different types of doors).
Another thing is that Blueprints offer a lot of actions to choose from, so it can be very confusing at first. That's why I think the best way to learn Blueprints would be to use tutorials before you try doing your own stuff.
I will continue exploring UE4 and I will report my new findings. In the meantime, feel free to try out Unreal Engine 4.
Get Unreal Engine: https://www.unrealengine.com/en-US/get-now