Latest Articles

The navigation at the bottom lets you see older posts

How to get a reference to your Character’s Animation Blueprint in Unreal Engine

Sometimes it’s the simple things that catch you out, like quick references. Say you wanted to access a property on your animation blueprint for something you’re doing in your player character. I couldn’t remember how to do this, so I thought I’d best make a note of it. Here’s how we can do that: This …

Read more

Playing a random Death Animation in Unreal Engine

When a character dies, we can play a death animation either as a montage, or via the animation blueprint. In this quick tip I’ll explain the latter principle. We typically have a boolean (like “is dead”) that checks if the character has died, and it’s true, we’ll transition to a new state in our state …

Read more

How to make something fly away on spawn in Unreal Engine

I’ve been dissecting an old project of mine and couldn’t remember how the projectiles I was shooting happened to magically fly away when they were spawned. They seemed to have an initial velocity or inertia in the forward direction, yet nothing in my Blueprint was causing this. Then I figured it out: we had added …

Read more

Trimming Animation Assets in Unreal Engine

I was trying to implement an Aim Offset the other day and followed a particularly terrible tutorial on the EPIC site that didn’t work out at all. This tends to happen when we try to do something that’s beyond our understanding. One part in particular left me clueless, which is the process of editing animation …

Read more

Making an actor look at another one in Unreal Engine

A few years ago I’ve described how to rotate an actor towards a location with the use of the Lerp node. This thing can interpolate two float values and as such is a very multi-purpose function. I’ve just found out that Unreal Engine has a dedicated “rotation interpolator” node called Rinterp. It takes two rotation …

Read more

Overriding Animations with Animation Montages in Unreal Engine

Animation Montages can be inserted into running animations when we feel something else needs to happen before the previous animation can continue. A good example is weapon recoil that happens as a result of firing a bullet: rather than switching to a completely different animation, we just cut to the montage for a moment before …

Read more

Setting up a Blend Space in Unreal Engine 5.1

Blend Spaces can mix animations together depending on value input. This can be used when say your game pad input determines how fast your character can walk, so that an idle animation is blended together with a walking forward animation. That way there’s no pop between each animation. Let’s take a look how to setup …

Read more

Sharing UE4 Animations with a UE5 Skeleton

Unreal Engine 5 offers an exciting way to share animations from UE4 skeletons on the new UE5 skeletons. This works by way of a pre-configured IK Rig and Retargeter specifically made for this purpose, and an export option so that we’ll end up with a set of new animations that are ready to be used …

Read more

How to read a live log file from Daz Studio

Like most apps, Daz Studio writes a continuous text output to a log file with any status messages that are generated under the hood. The most obvious of these is the render progress window, as we can see each line update live while the render is happening. We can also read the full log from …

Read more

Formatting Text Objects in Unreal Engine

Text Objects can be formatted with a funky node called Format Text. It’s a very powerful little thing, even though at first glance it certainly doesn’t look like it. When you drag in a value, it is literally passed through without much change. However, if left alone as in the example above, we can use …

Read more

Rounding values up and down in Unreal Engine

When dealing with float values, we’re often less interested in the exact value and can make do with a more human readable one. Unreal Engine has a couple of rounding functions we can use to make this happen: Ceil to Integer and Floor to Integer. Ceil rounds up, so 1.6 becomes 2 and -1.6 becomes …

Read more

Damaging Actors with OnTakeAnyDamage in Unreal Engine

I didn’t know about a handy event that can apply damage to an actor, thanks to the OnTakeAnyDamage function. It’s an Event Dispatcher that Actor classes listen to, and if applied from another object, it’s really easy to pass on how much damage happened and also how it was caused. Consider this code plugged into …

Read more

Bringing back the dotted outline in the Widget Editor

Creating my first HUD widget in UE5 was a little disconcerting, as I didn’t see a reference to where any of my UI elements would end up on screen. Turns out there was an invisible default element called Canvas Panel in previous versions, into which we would place our UI elements. Thankfully this thing is …

Read more

Automatically merging Vertices in Blender

Blender has a nice feature that allows us to merge vertices automatically when we move them into the place of an existing one. As an example, if I grab an edge of my subdivided cube and press GG to edge slide it over to the nearest one, there would be two vertices in the same …

Read more

Changing Blender viewport cameras in Quad View

I’m notorious at forgetting shortcuts in Blender: just as I had remembered that any viewport can be switched into a quad view with CTRL+ALT+Q, I was stuck with another problem: the views I was seeing were locked, and I couldn’t change say a back view to a front view, or a top view into a …

Read more

Converting skin textures for use with Genesis 9

Here’s a high-level overview on how we can convert existing skin textures from older Genesis figure and use them with another generation, like Genesis 9. The principle is the same for the other direction too, should you wish to use a G9 skin on an older generation or perhaps a different figure altogether, like the …

Read more

How to re-time animations in Blender

Blender has a very powerful yet somewhat confusing re-timing feature. This comes in handy when you want to render animations at a different frame rate than they were designed to be in. As an example, you may have setup your scene with 24fps in mind, but want to render out a 60fps version, or vice …

Read more