PSA (corrections below): #UnrealEngine users, please know the wonders of TInlineComponentArray and the TInlineAllocator template. Life changing stuff right here. Stop using TArray GetComponents and other small temporary containers on the heap. Please. Put an end to needless memory fragmentation. Be enlightened by the efficiency of stack memory. There's still time for you to see the light. Image text in following posts...
#GameDev #UnrealDev #UnrealTips #UE4Study #UE5Study #UE4 #UE5 #UE #CPP #Programming

Don't forget to boost to help a fellow dev!

Edit: Made a correction to first example - according to my IDE it resolves to a move constructor, not a copy constructor. It's still the worst of these options, but not as egregious as I initially thought.

Edit 2: Another correction - the inline allocator is not always stack-specific! If declared as a member of something allocated on the heap (such as being a member in a UObject) the inline allocation will be bundled into that heap memory!

So yeah, the name is misleading. To add insult to injury you can't spawn actors via #AnimNotifyState. If you need anything stateful you pretty much have only one option: Add a custom component to the mesh owner actor with some way of identifying it. You can do a lot more from there. I ended up storing the AnimNotifyState self reference in a member variable of the component and exposed that member on spawn to ensure it's always available before BeginPlay is called. That way I could get any stateful data by iterating on components by class, and using the AnimNotifyState reference as a filter. Yuck.
#UnrealEngine #UE4 #UE5 #UE4Study #UE5Study #GameDev
So fun fact: #AnimNotifyState does not actually contain any state. For all intents and purposes, it's like a class with new defaults per-instance of it. That is, you can't set any member variables at runtime. It's a read-only object. All you get are the events and the associated mesh/sequence passed as parameters to each event.
#UnrealEngine #UE4 #UE5 #UE4Study #UE5Study #GameDev
My entire day was spent working around #AnimNotifyState not being what I thought it was. 🧵
#UnrealEngine #UE4 #UE5 #UE4Study #UE5Study #GameDev
MOTION Ideas 100

モーションのアイデア出し用にただただ思いついた動きを作ったものです。AEPデータ販売中OutlineRotationScaleTileTransparencyPosition...

ゲームUI演出
Taking a break from 3D and started to work on Sound Design and Music for the thing. Here's a small little funny teaser of the process for one of the Sound Effects. #UE4 #UnrealEngine #UE4Study #gamedev #indiedev #indiegame #sound #sounddesign #sfx #soundeffects #process #wip
Tested some #art ideas during the weekend. Nothing final - far from final yet! This is basically a Look-Dev room for testing art style and brainstorm ideas. 🎨🖌️ #UE4 #UnrealEngine #UE4Study #gamedev #IndieGameDev #indiedev #3D #stylized #retrogames
Implemented multi-purpose buttons that can toggle gravity fields ON&OFF, drop physics objects and apply transformations (scale, rotation, location changes) to other objects, like the door that rises at the end. #UE4 #UnrealEngine #UE4Study #gamedev #IndieGameDev #indiedev #3D
So here is the recording of the new features/mechanics updates: 💣Explosive barrels, 🔧generic physics objects, 🎈no-gravity fields. As part of the optimizations (previous tweet) I've made some changes to the Goopy-goop shader. #UE4 #UE4Study #UnrealEngine #IndieGameDev #gamedev
Implemented some basic mechanics. The Goop has bad health😢.Health deteriorates through time. Limbs now give you health and some points for score. Improved movement mechanics and added charging jump (need some visual feedback for this). #3d #ue4 #UnrealEngine #UE4Study #gamedev