
●Asset Completion
The creation of assets is (almost) finished!
When I counted them up, it turned out to be about 900 assets in total.
Since I already had around 300 completed by the time of the previous demo, that means I made roughly 600 additional ones.
That said, as I’ll explain below, more than half of the previously made assets also needed adjustments in addition to the newly created ones. So in practice, I’ve actually worked on even more than that.
Originally, these were supposed to be done ages ago (back in January 2025), but here we are, still working on them until now.
The reason for all the adjustments was the need to optimize for Nanite and Lumen.When I first started, I didn’t know much about these new features and was creating assets in the traditional way.
Over the past year, however, my knowledge has improved, and I began to clearly see the flaws in the older assets.
Maybe I could have left them as they were, but it bothered me so much I couldn’t sleep at night, so I decided to go through and fix everything.
Specifically, what I mainly worked is combining meshes into larger chunks to reduce overdraw for Nanite, and splitting meshes to avoid concave shapes that Lumen struggles with.
Here’s an example of Nanite optimization:


Normally, a small amount of overlap wouldn’t be a big problem.
But since HPH is a game with a huge amount of objects, the cumulative load per asset could drag down the framerate. So this turned out to be a fairly important task.
I also created custom collision meshes for everything.
Because most objects require precise traces for grabbing or movement, I couldn’t rely on auto-generation, so I built them all manually.
Thankfully, since the assets were all non-destructive, this wasn’t too bad.
In most cases, I could get a collision base mesh just by stripping away modifiers, geometry nodes, or materials, then adjust for whether the player should be able to hang on its edges or pass through it.


All the completed meshes and collisions were exported as USD and imported into Unreal Engine 5.
Normally when working with Blender you’d use FBX, but this time I wanted to have asset placement more or less finalized inside Blender.
So I chose USD, which lets me import multiple objects into UE5 while preserving their positions.
It’s a relatively new format, and the workflow isn’t fully established nor is UE5 perfectly compatible, so there were plenty of headaches along the way.
Anyway, now that the ingredients are in place, all that’s left is to place assets to match the quests and story.
Sounds simple, but there are mountains of things to think about.
I’ll talk about that next time (probably).
●VAT
VAT stands for Vertex Animation Texture.
It stores vertex transforms in a texture and plays them back as animation.
Since the vertices don’t actually move and everything is processed by the GPU via materials, you can make realistic effects with relatively low performance impact.
I started using Houdini to make these, and ended up spending about half of this month studying Houdini.
But thanks to that, I can now make more than just water (like fire, snow, etc.), and I found a lot of techniques I can apply to my hobby use of Geometry Nodes in Blender, so I’m pretty satisfied.
So far, I’ve created two effects, but eventually I plan to replace almost all liquid effects with VAT.
Optimization is still pending, but I intend to use Niagara Data Channels to instance each effect, making them lighter.
●State Tree
In 5.6, State Trees received a major update, and most of the critical bugs are gone.
Minor ones remain here and there, but it seems to have grown into something stable enough for practical use.
So I was in the middle of migrating completely from Behavior Trees to State Trees.
…or at least I was, until I discovered that 5.6 isn’t optimized for Metal (Mac’s rendering system), and performance drops by about -15fps.
So for now, I’ve put the update on hold.
And while I was writing this, 5.6.1 came out, but the issue still wasn’t fixed.
Hmm…
●Memories
I also kept making “Memories” assets this month.
Here are just a few examples:


I’ll keep quietly making more in the background.
I probably won’t show them on the blog anymore, but please just assume I’m still steadily working on them.
●What’s Next?
Time is running short with the Epic Megagrants deadline coming up in September.
So I’ll focus on level design and the boss battle.
I’ll also continue working on quests, which I’ve been neglecting due to spending so much time on Houdini studies.
And of course, lots of adjustments and bug fixing—which will probably take the most time.
But man, not being able to migrate to 5.6 is painful.
If I make the boss in BT, it’s almost guaranteed to be scrapped later.
Should I just gamble that the next patch will fix performance and go ahead with ST now? Hmmmm.
I’ll report back on how that went in the August update.
See you next month.