Jay is a medical miracle known as Super Survivor. He runs several YouTube channels and websites, and he's also live on Twitch sometimes. To support him on his mission to make the world a better place, you can support him on Patreon or buy him a coffee.
Unreal Guy looks grey by default. He’s made up of two material zones, a rather complex one for his body and another one for his UE4 Logo. If you want to make him look a little different without creating a brand new material, we can override the default value for his Body material like this: …
If our AI controlled foes might chase us a little bit too fast, there’s a way to slow them down or speed them up. The value we need to set is called Max Walk Speed. To get access to this node, start by getting a reference to Character Movement. Then drag off that to get …
Did you know there’s a way to specify an Actor object by something other than an a reference? I thought this was a handy trick. iOS has a similar “hack”, and it can save your bacon on occasion. Tagging an Actor in Blueprint In the Class Defaults of your actor object, head over to Actor …
With spawned objects like bullets and projectiles, there’s a danger of creating a memory leak in our projects. This can happen when things are instantiated and added to the game world, but are never removed. Imagine creating a plethora of flying bullets that are only needed for a moment, but when not removed, they’ll keep …
In this article I’ll show you how we can keep a specific number of actors in the game world, and “replenish them” should they be removed. Imagine a game in which you pick flowers, and over time said flowers automatically re-grow but never exceed 10. Or a game in which the player battles against 5 …
Unreal Engine can make pawns to things, like chase down and follow the player. This is known as AI behaviour, for Artificial Intelligence. It works surprisingly well! Here’s how to set it up – in its simplest form. In principle we have to create an AI controller add the AI controller to the pawn define …
I know how to get an element by its index from an array in C, but I had no idea how this simple feat would work in Unreal Engine Blueprints. Turns out it’s a simple Get Node, however drawing it out and finding it is not so simple. Consider this code, which takes the first …
Interfaces are a C thing. They’re a set of functions that one class can implement so that an action is performed on another class of a potentially different type. Rather than calling a function explicitly on another class, we’re sending a message. If the receiving class knows what to do with it, it’ll react. If …
The beauty of Unreal Engine’s node system is that it’s relatively easy to extend your application code visually. At the same time, this can lead to extremely messy code (literally spaghetti code, considering the amount of noodles on the screen). While such code may be working in the heat of the moment, your future self …
Ever since the past Premiere Pro update, my computer likes to reset itself randomly, particularly during rendering. I should have never hit that update button. Note to self: NEVER update software (or hardware) when everything is working well in principle – no matter how many nags you get. With that mishap on my hands, I …
My friends at Adobe have done it again: remove frequently used features from Photoshop and replace them with stuff nobody has ever asked for. Case in point: the terrible default shapes that we’ve had (and disliked) for the last 30 years. I recently made the mistake of updating Photoshop, with the intention of drawing a …
I’ve been playing with another type of menu, namely the Generic Radial Menus v2.0 by PolyHavoc (available from the Unreal Marketplace). I picked it up as a freebie when it was on offer, but the current $14.99 asking price is certainly a good deal – considering I’d have no idea where to begin writing this …
In this episode I’ll show you how to use WebP images in Photoshop. Currently Photoshop (2020) does not have native support for this file format, so we’ll need a plugin made by the developers (Google) to make it happen. It’s aptly titled WebPShop. While the code is open source, it’s not immediately obvious to non-hackers …
I wanted to implement a scrolling selection menu in Unreal Engine, inspired by the one I’ve seen in The Flame in the Flood. It looked a tad complicated to begin with, but I’ve put I did some digging and found a way that works great. This can be combined with my previous article about Gamepad …
In this article I’ll explain how to add gamepad and keyboard navigation to UI Widgets in Unreal Engine. To my surprise, gamepad navigation magically works alongside regular mouse navigation, as long as Keyboard Focus is set appropriately on any of our UI elements. We don’t need to add any special logic to our project. All …
I just solved a puzzle that appeared so simple at first: I wanted to replace an image that was a child of a button in a UI widget in Unreal Engine. I had set it in the UI Designer just fine, simply picked it from the drop-down menu as an initial value, but then wanted …
Blender can define regions in the viewport that should be displayed rendered. That’s useful if we want to focus on a small portion of our scene. Rather than have the whole viewport displayed in rendered view, we can draw a border using CTRL + B, thereby defining a Render Region. This region manifests as that …
You may have seen projects or screenshots of Blender displaying a disturbing view of the timeline, in which rather than a pure 12345 frame count, you get something like 44+2 or 18+16. Something that sends the cold shivers down any animator’s spine. What is this madness you ask, and how can we restore it to …
When we begin a new Unreal Engine project, it’ll always ask us if we’d like to add the Starter Content pack. I was recently working on something and thought, “had I only said YES when I created this”, but alas I did not – and was without the Starter Content. Of course it can be …
I’ve just learnt how to update a counter variable in Unreal Engine. There are several steps to it and some prerequisites, namely: we need to have a variable to read out we need a text field to be updated we need to bind the text field to the variable we need a widget and add …
Transparency is handled differently across render engines and file formats. While a PNG, TIF or GIF file can contain transparency data, a JPG image cannot. DAZ Studio’s Iray render engine can’t handle transparency data embedded in such images and requires the use of a special Opacity or Transparency Map. This might sound a little confusing, …
When you’re done with UV Mapping in Blender, you may need to save out a template of your hard work so that you or someone else in your team can get to work on some fabulous textures. In case you ever need to save out such a UV Template, head over to the UV Editing …
Something that wasn’t immediately obvious to me is that Unreal Engine saves its own file format under the hood. For example, a prop or audio file is not stored as .OBJ or .WAV, but as .UASSET file. Perhaps it’s just a wrapper that stores binary data, or maybe it’s some other kind of magic. Be …
I’ve just learnt about a nifty mechanism to change parameters on a material node in Unreal Engine. The niftyness lies in the fact that when we convert static values in the material editor into parameters, which then become the equivalent of public variables that are accessible from other parts of UE4. It sounds way scarier than it is, let me show you how it works in detail.
There’s a slightly weird terminology I keep hearing in various 3D applications. Those terms are Yaw, Pitch and Roll. I have trouble remembering which one is which, and which one is related to what axis in 3D space. I’m more used to the Euler notation system, and the only one I can remember is “roll” …
I’ve always been marvelling at all the little moving background items in video games. Most trees, grass, plants and such foliage appears to move subtly. How do they do that? Perhaps it’s a wind node? Surely that’ll eat up huge amounts of resources.
I just found a computationally cheaper trick to do this, namely by adding this effect to the plant’s material, thanks to a video by MetalGameStudios. It suggests that we can do this in two ways, both of which are described below. In either case, open the material of your object to proceed.
I’ve been on Patreon since May 2018 (I think), and I really like it. It’s a great way to support me and my projects ongoingly, and I’ve been able to invest your donations into anything from software to hardware, as well as coffee – all to improve my output and make the world a happier …
The EPIC Games launcher is a really handy tool from anything to add content into your projects or to browse marketplace assets. It has this annoying habit of closing automatically when Unreal Engine or a game of your choice is running. This might be fine for gamers, but I find myself frequently re-opening it once …
I had a question from one of my supporters the other day about how to remove a dForce Modifier from an object, like hair or a dress. Turns our there are two answers to the puzzle, and I thought I’d them both here. Disabling dForce dForce is a surface property, and as such it behaves …
I’ve just figured out how to setup keyframe animations in Unreal Engine, and thought I’d make a note of it before I forget. I made the animation above a little while ago by “poking around”, but it wasn’t as smooth as I liked it to be. I think I’ve found the missing bits now, so here’s how it works. From what I gather, Unreal Engine calls Keyframe Animations “Cinematics”. They’re a little tricky to setup, because the whole engine is built for so much more, but in principle we need to:
create a new Level Sequence
create a Cinematic Camera
add the camera as a Track to the Sequencer
create keyframes for/with the camera
add a Camera Cut Track
export your animation as a video or image series
I’m going to create a camera animation like in the demo above, but any regular mesh object and Actor can be animated, including lights and their properties, so this process is not limited to cameras. However you need at least one camera to render out the sequence, at least that’s my goal here. The process will be different if you’d like to trigger the sequence from within a game, which is not in the scope of this article.