Megan Fox posts
Been a minute, so lemme show you my hordes
Sorry for the lack of updates, I've been head down in intense C++ coding land doing, well. THIS. Getting this to work took an absurd number of incremental steps, some of which I'll probably do blogs about later, but BEHOLD. 6k mooks, rushing across a field, all animating and moving independe...
Three ways of doing hitstop (which adds weight to hits)
Right, so, hitstop! Lemme just start by showing you what I mean.This video has hitstop: https://bsky.app/profile/glassbottommeg.bsky.social/post/3llilnykdvs2lThis does not: https://bsky.app/profile/glassbottommeg.bsky.social/post/3llilpz33722lSee the difference? No? Ok, look at this,See how when the...
Fake Gravity 2.0
So, previously I did a post about Metroid Prime style fake gravity. Basically, to get the best of both worlds of thumpy heavy gravity and good air control during platforming, you adjust the player's (and only the player's) gravity scale based on the state of their jump button. Neat stuff! Po...
Ah, holidays are over, time to blog again
Hiya again! Did that flurry of posts n stuff, then descended into holiday fog, but new year, new "oh hey right I should be blogging!" so yep. I'll catch back up on stuff. Happy new year y'all!Also, I hugely appreciate your support. Stapling together an income as a creative is tricky,...
Did you know you can copy Unreal Graph, edit it, then paste it?
Right, so you probably know you can copy-paste Unreal graph stuff - Blueprints, Materials, ControlRig, etc - but have you ever tried pasting it somewhere that wasn't Unreal?Go on! Try it! Looks a bit like this. Pages and pages of this:Which, you know, isn't immediately useful. Unless we get ...
How to use skeletally-mismatched animations in Unreal
(yet another bonus blog cus it came up in email)This becomes relevant if you ever want to use the Manny anims with a different skelly, or similar cases where you grab an asset pack on the marketplace with cool animations specific to their skeleton. I'm not saying this is necessarily ideal. For I...
How to share animations across skeletons in UE5
(bonus blog time! because this came up in an email so I figured OMG THIS ISN'T COMMON KNOWLEDGE BUT IS SUPER IMPORTANT, so here we go!)Right, so, first! Unreal's skeletal retargeting is INCREDIBLY powerful. It'll work on just about any skeleton. If you truly need to re-target a humanoid ...
Reducing sound pileups
So you've got a giant pile of smashables for. Well. Let's be honest this is probably a bad idea. And yet, this scene exists in a ton of games.Because we look at it and go, oh geeze that's gonna be so cool to smash. It'll be ok. Let me have this. The player demands it.And the instinct...
(poll) Which of these things interests folks more?
So! I've kinda dug deep on a couple of things lately, and I'm also migrating old code over from old project to new- which means I'm doing a lot of "oh god why did past-me do it that way" and refining my opinions on everything from animation-driven player movement to how hitboxes ...
One optimal way of driving UMG (Unreal UI)
So you're a Unity developer switching to Unreal. You hop into this new UI system called "UMG", and at first glance, it seems alright? So you go to make your 9-slice window image base so you can begin and-You've already doomed yourself. You just don't know it yet. Your next week i...
Teensy update
Was hoping to have a post about UMG / Unreal UI up by now, but I'm still neck deep in it heh. Still though! Soon. I spent the last while walking through a sea of rakes, trying to figure out how the heck to drive UI in a way that works with Unreal's preferences/limitations, and I'm hoping...
How I make color palettes (part 2 of 2)
When last we left our daring colors, they were here:Not bad, really! This is what you get from direct sampling, and that's fine. Potentially you stop here if you were doing, I don't know, painting? If all you need is a conceptual palette? But oh no no, we're not stopping there, because t...
How I make color palettes (part 1 of 2)
Lately the work I've been doing is more branding adjacent, and I realized: maybe this would also help folks? So here!Programmers, artistically dense friends, I was once like you. Or rather, am still like you compared to proper artists, but in the land of the blind, etc etc. So here, allow me to ...
On Combat Tracing, and Overcomplication
So I've got this fancy swept pill tracing system, right? It's a whole thing. Spent probably months refining that whole process. Recently I added on an extremely fancy fake-cone tracing system that works on a similar principle!Which I don't recommend using, at all! Because while it works ...
Switch Systems 201
I did a post on Switch systems waaay back in 2017: https://www.patreon.com/posts/switch-systems-11462060and it's, you know, fine! But it was for Unity, and I feel like I've learned a lot about how these things work since. I've written a version of my Switch system for every single game I...
Getting a sense of weight WITHOUT impacting platforming
You've all had the usual debate, I'm sure, when it comes to setting gravity. You're looking at the behavior of the world as you increase gravity, and hey things fall better, it's nice! But then go you try to platform and bwoooop you fall like a dead weight. So that won't work.But...
How that SuggestProjectileVelocityFromPeakHeight works
You might have seen that node and gone "huh", and yeah! It's something I adapted from a friend's math library. I don't claim credit for the logic at the core here, most of what I did is move stuff around to make it work as a clean BP node.The gist is that this calculates a loftin...
Making an Unreal navlink that can make NPCs jump gaps
This isn't even just making NPCs jump. This is the tech you need for making NPCs use ladders, or do power teleports across gaps, or any navmesh-ignoring point to point traversal verb you can think of. And you CAN do it in Blueprint!Sort of. Mostly. You do need some C++, but don't worry I got...
Moving the CharacterMovementComponent procedurally, without root motion
Right, so, let's set the stage: you're doing a sword swing animation, and we want it to feel like a concise movement instead of a button mash you hit while randomly moving around. To pull that off, we need to block player movement input for a sec. Except, oh no! Now the attack animation free...
Gotchas with Unreal's Fracture system
I hit a bunch of issues with this initially, so thought I'd run folks through the process, and a couple of hurdles I hit.1.) Don't start with a big whole-mesh shatterWhen you shatter, it's going to create some creepy things, which you'll want to prune. But. If you just shatter from t...
Don't be afraid of macros
For ages, I avoided using Blueprint macros. Theoretically they can shatter in some obscure cases but, seriously, you should use them more often. They can save you a ton of time. Like this thing! It's just a little for-each loop. Simple, but, executing this without a macro means cluttering up you...
"Select" nodes are for everything. EVERYTHING.
I'm back a post, and this made me giggle, so thought I'd share it. Here's how to make a macro that spits out a randomized trans flag color. Note the stacked select, which biases correctly (trans flags have half as much white as they do the other colors).Now, why would you want to do this...
A bit more on AnimNotifyStates
I casually mentioned how these are the hub of the "attack-defining Montage that does all the things" approach in that last post, but I wanted to talk specifically about the two ways you can do this.There's basically two approaches: either the AnimNotifyState proactively reaches out and s...
The C++ code for AnimNotifyState access
This is just the C++ you need for for that AnimNotifyState conversion thing. Super simple, but here, saves you a few minutes
Using Montages as all-in-one attack definitions
This isn't so much a dense piece of code as, a way of thinking of existing systems to make them do more than you might expect.In this spirit, let us consider the humble AnimNotify. Easily missable, and so not to be used for required-reliable actions, since for anything that necessarily has a sta...
The right way to attach a mesh to a socket in Unreal
This is another of those things that was super frustrating to google, with a ton of bad answers, and it's possibly because of a UI bug! I'm leaving this public as a result, so maybe a good answer will be findable. So let's dig in:If you search around on this topic, you'll mostly find...
This is how, in Unreal, to tell if a pawn is local or not
I'm a bit behind on posts, so I'm just kicking this one out now, because I spent a very angry couple of hours and found no good explanations. Took a friendly person on a Discord.Anyways, this is how to tell (in Unreal Blueprint but there's C++ analogs of the function) if any given actor ...
Health/Damage Swept Pill Tracing
EDIT: Make sure you also read my later realization about this system, hehYou maybe saw that trace call in my damage tracer and wondered, what the heck is that?Easy! It's the function I use to trace SWORDS, by treating them as a bunch of swept spheres, and I place those spheres along the sword by...
Health/Damage/Death handling in Unreal
There are a bunch of ways of going about damage systems in Unreal, but the first key takeaway here is that: Unreal doesn't exactly provide a health or damage system. They give you functions, that are exposed in sometimes useful ways, but they don't actually do anything on their own. Nothing ...
Looping animations with non-looping in/out anims
(this would be the March code post a few days late, sorry about that! GDC and the halo around it kind ate time, heh)Imagine you want to animate a bird unfurling their wings, flapping them or holding them out to glide for (some gameplay-variable amount of time), and then gracefully fold them back up....







