This is my personal blog its main purpose is just as a sort of work log for myself, but maybe someone might find some part of it interesting or useful at some point. I started keeping this log back in July 2025, but it was just on a text file on my desktop so everything up until the creation of this website will have a listed date in the title.
Imported the Audio for the announcer tutorial lines into the engine.
Created the dialogue asset for the announcer
Created the Quest asset for the Pre alpha tutorial
Created a data task to track when we first encounter enemy types
Updated the name components on all the creatures for the pre alpha
Getting Ready for the closed pre alpha Launch!
Condensed hundreds of mannequin materials into 1 master
Fixed the non looping idle anim on the AI passive AnimBP
Added a toggle to turn the visibility of the gold at the top of the inventory shelf on or off depending on if the player has gold or not to reduce confusion (Good idea Megan!)
Condensed hundreds of mannequin materials into 1 master
Fixed the non looping idle anim on the AI passive AnimBP
Added a toggle to turn the visibility of the gold at the top of the inventory shelf on or off depending on if the player has gold or not to reduce confusion (Good idea Megan!)
New Armor Equiping system is working!! Added a lot of code and ripped out a bunch of old code too much to put here, I was on a roll!
Got our sound booth set back up.
Recorded the first draft audio for the pre alpha tester tutorial videos.
Recorded the announcer lines for the in game pre alpha tutorials.
Edited and chopped up the 94 audio files for the above.
Fixed the bug where damaged weapons and armor looked.. completely fucked up in the inventory.
Fixed the bug where items would use their lowest lod in the inventory
Fixe the bug where items in the merchant shelves used their lowest lods.
Fixed the bug where damaged weapons and armor looked.. completely fucked up in the inventory.
Fixed the bug where items would use their lowest lod in the inventory
Fixe the bug where items in the merchant shelves used their lowest lods.
Fixed the missing collision on Armor_C_Lower_Set_001_Head
Fixed the incorrect pivot on Armor_C_Lower_Set_001_Head
Turned off the old debugging for armor equipping
Added an interface event for GetMotionControllersFromPlayer_OnInterface
Fixed the bug where damaged weapons and armor looked.. completely fucked up in the inventory.
Fixed a bug in the wrist Ui causing a null value for the incoming actor information
Started work on the new armor equipping system.
Fixed the bug where the hands wouldn’t animate in the menu.
Cleaned up some of the material usage in the inventory shelf.
Fixed the bug where staff and wand effects didnt show on the wrist UI
Fixed the bug where the hands wouldn’t animate in the menu.
Cleaned up some of the material usage in the inventory shelf.
Fixed the bug where staff and wand effects didnt show on the wrist UI
Removed a hard ref to a weapon that was in the harvestable base for some reason.
Fixed the issue of our weapons feeling floppy after being added to the inventory and then retrieved, we weren’t overriding our mass value and it was being scaled when brought from inventory scale to world scale. All our weapons now have mass override values applied at construction time, this has the added benefit of allowing us to better tune how each weapon type feels. For instance arrows no longer feel floppy at all!
Fixed the bug where Recharging something with a Heart Shard would stretch the players arms
Fixed the bug where the Heart shard shatter particle effect was placed incorrectly based on the size of different shards.
Worked on the sound effect and particle effect for the Heart Shard Recharge still not really happy with the sound effect, but the particle effect is much better than it was!
Condensed some of our VFX materials down, gonna require a bit of time to do the rest gonna have to get back to those due to their implementation.
Spent all day trying to solve our scaling issues with our inventory. Before we used the VR expansion kit plugin our items grew when you grabbed them from the inventory, but when we implemented that years ago we found that it caused the hands to get flung away from the character so we disabled it and just snapped the actor to 1 while also attaching the actor to the hand. The only issue was that it meant all actors would get grabbed at the pivot which looked especially bad on weapons causing the player to have to readjust their weapons after leaving the inventory which just felt terrible, that has now been solved.
Condensed some of our VFX materials down, gonna require a bit of time to do the rest gonna have to get back to those due to their implementation.
Spent all day trying to solve our scaling issues with our inventory. Before we used the VR expansion kit plugin our items grew when you grabbed them from the inventory, but when we implemented that years ago we found that it caused the hands to get flung away from the character so we disabled it and just snapped the actor to 1 while also attaching the actor to the hand. The only issue was that it meant all actors would get grabbed at the pivot which looked especially bad on weapons causing the player to have to readjust their weapons after leaving the inventory which just felt terrible, that has now been solved.
More shader optimizations
Spent today finishing up our shader permutation optimizations. Basically got a 99 percent reduction in cooked shaders!
Shader permutation reductions
Created a tool to reparent some of our material instances to a few different master materials.
Removed phong lighting static switch from our lighting we are basically never gonna use per vertex so its just creating unneeded permutations.
Spent like 12 hours today creating tools, new master materials, and optimizing our existing materials. I’ve reduced our dependence on static switches across the board.
Created a tool to reparent some of our material instances to a few different master materials.
Removed phong lighting static switch from our lighting we are basically never gonna use per vertex so its just creating unneeded permutations.
Spent like 12 hours today creating tools, new master materials, and optimizing our existing materials. I’ve reduced our dependence on static switches across the board.
More bug fixes
Fixed bug related to collision where the dummy quivers wouldnt show up on the wrist UI
Fixed Bug where arrows taken from dummy quiver would collide with the player mesh and cause the physics to freak out
Fixed a bug where the player could shoot stacks of arrows as a single object
Fixed bug related to collision where the dummy quivers wouldnt show up on the wrist UI
Fixed Bug where arrows taken from dummy quiver would collide with the player mesh and cause the physics to freak out
Fixed a bug where the player could shoot stacks of arrows as a single object
Fixed a bug where the player could knock stacks of arrows
Fixed a bug where the outline for loading an arrow would show up if holding a stack of arrows
Fixed a misaligned bow grip line on the iron bow
Added interface event called SendArrowHeld_OnInterface and PlayerHoldingArrow_OnInterface to the BTGS interface to help us fix the bug where if the player is holding an arrow and then picks up a bow the arrow rest outline doesnt show up.
Fixed a bug where if the player picked up a bow after the arrow the arrow placement outline wouldnt show up.
Fixed missing sounds on the Armor Repair bench
Fixed particle effect size on the weapon repair bench
Fixed bug where the particle effects on the armor and weapon repair benches were spawning attached to the hammer.
Added randomized rotation to the hit particle effect on the armor and weapon repair benches.
Refactor of Wrist Ui
Wrist Ui is now working for option items again after refactoring code from player character to the wrist UI widget BP.
Updated all the descriptions and option texts for all the option items.
Added tag called door to base door
Wrist Ui is now working for option items again after refactoring code from player character to the wrist UI widget BP.
Updated all the descriptions and option texts for all the option items.
Added tag called door to base door
Added tag called SpellJar to spell jar base object
Added tag called OptionItem to base option item
Added tag called Container to both the lever container base object and the combo container base object
Added tag called DummyQuiver to the base dummy quiver object
Added tag called Bed to base bed object
Added tag called Planter to base planter object
Added tag called Harvestable to base Harvestable object
Changed the code for the wrist UI when referencing doors to show if the player has the key for the door
Fixed the door locking code it was previously automatically unlock when you had the key instead of it being a physical action the player would take.
Modified the Base door object to act as a real door instead of a load door if there is no loading location set meaning that the door will swing open or closed when interacted with
Fixed a bug where arms would stretch weirdly when opening doors.
Fixed a bug where hiding the wrist UI wasnt clearing previous information
Fixed the variable type on the wrist UI function input for the HideWristUI function
Updated the name component default for barrels to actually say barrels
Turned off the overlaps on the dummy quiver arrows
Wrist UI now shows arrow information from the dummy quivers
Added an interface event for GetNameOfArrowsFromDummyQuiver_OnInterface
Renamed GetSpellFromSpellJar_OnInterface to GetSpellToGrantFromItem_OnInterface for better clarity seeing as we are also using it now on base objects
Spell scrolls now properly show what spell they will cast when used
Added tag called RepairHammer to the base repair hammer objects
Fixed a bug in the Weapon repair bench where the optimization component was setting the collision profile of the hammer incorrectly
Added the Action text “Harvest” to harvestables on the wrist UI
Added tag called Compass to the player compass
Added the BTGS Interface to the Player compass
Refactor of Wrist UI mostly done, everything I’ve tested so far works.
Fixed bug where regular books were invisible when dropped
Fixed the Book bug where pages would sometimes stick through the cover of the book or leave a giant gap in between the cover and the pages!!
Found a nice work around for the player hands sometimes sticking through the books.
Added the code in for cutting the player speed when they are using a great shield, its been written for a bit that that’s what happened and we apparently forgot to actually program it.
Added in the tag GreatShield to each of the great shields in the Item data table
Added UpdatePlayerHoldingGreatShield_OnInterface event to BTGS interface
Added the code in for cutting the player speed when they are using a great shield, its been written for a bit that that’s what happened and we apparently forgot to actually program it.
Added in the tag GreatShield to each of the great shields in the Item data table
Added UpdatePlayerHoldingGreatShield_OnInterface event to BTGS interface
Added potions to the new systems test map.
Fixed a bug where ingredients were showing a charge bar on the wrist UI
Fixed a bug where the staff was not showing a charge bar on the wrist UI
Fixed a bug where wands were showing a charge bar on the wrist UI
Added a value called fist to the hand anim state Enum our previous method of animating the player hand when they werent holding anything broke a while ago due to the hidden fist weapons.
Players can now make a fist again!
Added code to set hand anim state to Fist when spawning the fist weapon on left or right hands
Reimplemented the hand bloom when reaching for an object
Hands now properly close when you are holding nothing
Fixed bug where only the right player hand would close
Fixed a bug where movement would cause the players hand to return to a non animated state
Fixed a bug where a player making a fist would still bloom their hand
Fixed a grip line misplacement on the elven long sword
Fixed a bug where the charge bar showed up on the Wrist UI when attempting to harvest flowers
Fixed a bug where the charge bar showed up on containers
Found what’s causing harvestables and containers to sometimes have their wrist UI information disappear completely, but is gonna require refactoring a bunch of code from the player to the wrist UI itself which is where it should have been all along frankly.
Migrated the content example room builder tool for us to make a better systems test map the old one was scattered with components of half built systems we need a map that is just all the working systems that’s nice and clean for testing purposes.
Updated the north marker actor to actually use a letter N mesh and an arrow for visibility in levels.
Ui Bug fixes
Fixed Color issue on jar version of conjuration spells
Fixed naming issue on summon sword spell
Fixed a broken spell VFX for the shock spells that a previous optimization broke
Fixed Color issue on jar version of conjuration spells
Fixed naming issue on summon sword spell
Fixed a broken spell VFX for the shock spells that a previous optimization broke
Fixed missing elements and incorrect scale on hand VFX for frost spells
Fixed a bug where spell details didnt show up on the wrist UI
Fixed a bug where the Item effects/description carousel were never animating and switching in the menu.
Added spell cost to the wrist UI when the player put their hand over a spell jar.
Fixed a bug in our spell cost equation which was causing some spells to return a zero spell cost.
Adjusted the cost of the frost fall spell it cost way too much like uncastable by any character too much.
Adjusted the cost of the detect life and fortify short blade spells they were basically free.
Updated the descriptions of all the spells used by the pre alpha now that the description box is working again it was easy to notice that they were all still incorrect.
Fixed a bug where potion materials were not applied to the bottle while in the inventory
Fixed a bug where the tutorial invisibility potion had incorrect override materials.
Fixed the bug where potion bottles would fall through the floor.
Fixed the bug where potion corks could be pulled from a bottle in the world that you weren’t holding with your other hand, which lead to frequent frustration when trying to pick up bottles.
Fixed weird scaling on the wand base cast
Fixed the lods on a bunch of the armor that looked super bad when in the inventory
Implemented a workaround for the incorrectly twisted knuckle weapons for the player
Fixed weird scaling on the wand base cast
Fixed the lods on a bunch of the armor that looked super bad when in the inventory
Implemented a workaround for the incorrectly twisted knuckle weapons for the player
Added an is valid in case we forget to add a skill class to an npc, some npcs like non humanoid creatures will never have one anyway.
Fixed the bug where players could walk around after dying.
Fixed bug where players could loot attachment weapons
Changed the look of the ice spell VFX
Changed the look of the base fireball vfx
created a new base cast vfx for the wands.
Changed the look of the ice spell VFX
Changed the look of the base fireball vfx
created a new base cast vfx for the wands.
Updated the wand base cast VFX to the new one in the data table.
Fixed a bug where our music system was pulling an invalid array item.
Fixed a bug where NPCs would not make hit reaction sounds if hit by a spell.
Fixed a bug where the crowd didnt react to the player being hit.
Fixed a bug where our music system was pulling an invalid array item.
Fixed a bug where NPCs would not make hit reaction sounds if hit by a spell.
Fixed a bug where the crowd didnt react to the player being hit.
Fixed a bug where NPC Hair would spawn even with helmets attached.
Fixed the armor stretching bug on players.
Tragedy.
Tragedy
I’ve been away for a month. On october 31st my sister in law who also served as an animator and VFX artist on Heartlands had a medical emergency and has been in the hospital since. This has been life altering for us and while I’m slowly getting back to work its just that… slow.
October 30th 2025
Recorded some videos for pre alpha testing tutorialization.
Wrote out the script for the rest of the pre alpha tutorials.
Added a boolean to allow us to toggle the active state of endless arena spawning.
Recorded some videos for pre alpha testing tutorialization.
Wrote out the script for the rest of the pre alpha tutorials.
Added a boolean to allow us to toggle the active state of endless arena spawning.
Fixed a bug where the arrow overlap volume was visible.
Fixed a bug where the book system has its page flipping overlap was visible in game.
Fixed the staff charging particle effects being way too bright.
Fixed our procedural music system. It was previously stopping and also wasn’t playing tales to tracks.
Changed the endless arena level to properly be using level streaming.
Fixed the compiling shaders screen, it was previously not getting attached and wasnt updating its progress bar.
Fixed our procedural music system. It was previously stopping and also wasn’t playing tales to tracks.
Changed the endless arena level to properly be using level streaming.
Fixed the compiling shaders screen, it was previously not getting attached and wasnt updating its progress bar.
Updated our main menu cubemap.
Created a copy of the endless arena level with a bunch of tweaks including a new NPC vs NPC spawner for us to take screenshots and cinematics in.
Hid some components that were still set to show during gameplay that shouldnt have.
Packaged a few dozen builds in an attempt to fix a loading error.
Recorded a bunch of footage in the headset in preparation for some tutorial videos.
Started the process of getting an initial build for the pre alpha up on the store.
Spend most of the previous day working on the codex and the script for the intro and announcer tutorial barks. Coming along pretty nicely.
Adjusted the volume of the spell failed sound.
Added a particle effect for when you fail to cast a spell, the sound didn’t seem like enough to tell the player what was happening
Spend most of the previous day working on the codex and the script for the intro and announcer tutorial barks. Coming along pretty nicely.
Adjusted the volume of the spell failed sound.
Added a particle effect for when you fail to cast a spell, the sound didn’t seem like enough to tell the player what was happening
Adjusted the location of the back and hip arrow quivers they were way too far backwards.
Adjusted the size of the arrow overlap which allows the player to grab arrows. Previously you’d basically have to grab the quiver to get an arrow, now you can grab around where the actual arrows visibly are.
Disabled the armor merging system for the player because it broke armor equipping.
Turned off the visibility of the helmet when equipped
Added SnapTurningBlink variable to the game instance.
Added SnapTurningAngle variable to the game instance.
Added SmoothTurningSpeed variable to the game instance.
Added snap turning angle to the gameplay options menu.
Added smooth turning speed to the gameplay options menu.
Added snap turning blink option to the gameplay option menu.
Added in the temp player hit reaction sounds for the pre alpha.
Added AllowPlayerHitReactionSounds variable to the game instance.
Added Allow player hit reaction sounds option to the gameplay options menu.
New hardware
Spent most of the day experimenting with the new Galaxy XR headset the hope is to port heartlands to it.
Also helped Jackie and Megan with VFX and material stuff respectively
Got spell casting finger animation kind of working, its not perfect because it isn’t blending perfectly with the regular hand animation, but its a great start!
Spent most of the day experimenting with the new Galaxy XR headset the hope is to port heartlands to it.
Also helped Jackie and Megan with VFX and material stuff respectively
Got spell casting finger animation kind of working, its not perfect because it isn’t blending perfectly with the regular hand animation, but its a great start!