‘Questknight’ is a simple 3D adventure platformer in a retro art style being developed in Unreal Engine 5.4.4. The player is a meek hero in a mystical world, with high agility and modest combat ability. Players must explore areas in search of dungeons from which evil creatures terrorize the land.

‘Questknight’ is being developed by the team of ‘Hivemind Labs’ where I contribute as their Lead Programmer. My involvement with this project started in August of 2025.

This project is still very much a work in progress and every element of the games progress seen within the dev logs and scrum reports is subject to change.

Latest Dev Logs

Scrum Reports

06/28/2026

CURRENT TASK(S) UPDATES:

Interns

Programmer Intern

  • Wrote up a review for the progress on their current project: ‘The Shop’.

06/25/2026

CURRENT TASK(S) UPDATES:

Interns, UI, Spell Casting, Inventory

Programmer Intern

  • Sat in a call with them for a few hours going through their current project: 'The Shop'.

Spell Book UI

  • Changed the 'Mana Cost' display to switch mana gems between visible and hidden, rather than spawn and remove.

  • Cleaned up code and naming conventions for WBP_Book.

HUD

  • Side screen black bars are now hidden by default.

Spell Casting

  • Added a 'Wind Up' VFX and SFX to SpellData.

  • Fixed bug of Spell Projectile 'Traveling' loop sound continuing to play after impact.

  • Tweaked the 'StarBolt' spells speed and homing correction speed.

  • Added an animation variant of SpellAttack Release that only effects the upper body, this plays when the player cast a charged spell while moving at max speed.

Inventory

  • Changed the 'AddItemToLoadQueue' to a "Manual For Each Loop" instead of a normal for each loop, which is the same way SpellCasting handles spell loading.

06/24/2026

CURRENT TASK(S) UPDATES:

Pushing, Lifting, UI

Pushing

  • Added 'Push' voice lines when pushing an object, also added a stone sliding sound effect for the object being pushed.

Lifting

  • Added 'Lift' voice lines when picking up a throwable object.

UI

  • Updating the 'Inventory' section of the pause menu to be its own widget for better organization.

  • Integrated the 'SpellData' and 'ItemData' information for the 'Inventory' section slots to relay their name, description, and icons.

  • Fixed bug that caused 'Life Total' to change when picking up a 'Star Blossom'.

  • The UI 'Spell Book' has also been updated to read the 'SpellData' info, and cycles spell listings on click.

PROBLEMS FACED:

  • All of the Voice Lines in the audio data system removed themselves just like the spell data did a month or so ago. So I restarted my computer because that seemed to do the fix last time this happened with the spells, and in response my Unreal set itself back to factory defaults and the fix didn't work. However, I managed to find a solution buried in the forums where I need to go into the Data Asset and set the variable to ‘Config Variable’ and so far it seems to be the fix.

06/23/2026

CURRENT TASK(S) UPDATES:

Interaction, Pushing Objects, Climbing

Interaction

  • Changed the 'Determined Nearest Interactable' distance check from the player location and actor location to the player's capsule bottom location and the actor location. This helps better favor interactables the player is standing on.

Pushing Objects

  • Integrated the new tweaked animations that have the 'pelvis' bone more positioned over the 'root' bone.

  • The player and the pushed actor will now move in the direction of the player's forward on input.

  • Pushing will be stop/cancelled if the pushed actor collides with another object.

  • Assigned checks to various systems to prevent their functionality while the 'Pushing State' is active.

Climbing

  • Fixed a bug that allowed 'Check for Climbable' to continue to run even after the player landed.

06/22/2026

CURRENT TASK(S) UPDATES:

Interns, ItemData, Inventory, Player, UI, Pushing Objects

Programming Intern

  • Had a meeting with them to review their current project: 'The Shop'

ItemData

  • Created an ItemData Data Asset and Structure, similar to the SpellData.

  • The ItemData is stored within the BPC_Inventory and is responsible for handling how items should be treated and the information that is relayed to the UI.

Inventory

  • Reworked the BPC_Inventory to better incorporate the new ItemData functionality.

  • Removed a couple functions from BPI_Equippable and replaced their purpose with the info supplied by ItemData.

  • Fixed a bug that allowed the 'Shield' to be equipped to the player's hand when they press the attack input while no melee weapon is present in their hand. This was caused by 'Shield' having a use type of 'Melee'.

  • Created an 'ItemLoadingQueue' similiar to the 'SpellLoadingQueue' to handle Async loading of item icons.

  • QuickItem icons and actor class reference now Async loads when added to inventory.

  • Fixed a bug that allowed the player to pick up an object while holding a bomb.

Player

  • Removed the ability for 'Ground Slam' to trigger without a weapon in hand by running 'Set Any Melee Weapon to Hand' and then performing the 'Ground Slam' attack.

  • Changed the 'Determine Nearest Interactable' scoring to add the DOT product value with the Distance instead of multiplying it. (This helps with the issue of the player being able to grab objects out of the air that they've just thrown.)

  • Added a list of checks that prevent the player from interacting when they shouldn't be able to.

UI

  • The 'PrimaryHandIcon' will now update with the correct icon associated with the held item.

Pushing Objects

  • Setup the basics for an actor that is 'Pushable' by the player when interacted with.

  • Player character has also had the beginnings of the 'Pushing' system started, with them currently being able to enter, idle, push, and exit pushing, the corresponding animations for each has been integrated as well.

PROBLEMS FACED:

  • The 'pelvis' bone for the 'Pushing' animations is not over the 'root' bone, which causes the character model to move outside the bounds of their capsule collision and clip inside the 'Pushable' object. Additionally, these animations do not contain 'root' motion, so the player movement with each push would have to be in-engine. I'll see what I can do tomorrow and determine whether or not it'll need to be pushed back to the animation team for tweaking.

06/17/2026

CURRENT TASK(S) UPDATES:

Spell Casting & Inventory

Spell Casting

  • Fixed Aysnc Loading so spells are loaded into memory when equipped. (This fixes the issue of spells having to compile their shaders the first time they are casted after editor startup.)

  • Spells are added to a 'Load Queue' array that runs through each entry and ensures all that spells data is loaded before touching the next one. There was a previous issue where multiple spells would try and load at once and this would cause the wrong information to be sent to the wrong place (ex. the wrong spell icon for a UI spell slot).

  • 'Spell Casting by Data' has been converted from an Event to a Function. Only reason it was an event in first place was because 'Async Load Asset' can't be in functions.

  • Added 'Instant Status on Target' bool to 'SpellData', this will immediately apply a status to the target of the spell.

  • Added 'Instant Damage on Target' bool to 'SpellData', this will immediately apply damage to the target of the spell.

  • Function 'ForwardBurstSpell' has been renamed to 'SphereOverlapForward' to make it more accurate to its utility. The 'Multi Sphere Trace by Channel' has also been replaced with a 'Sphere Overlap Actors'.

  • Functionality for the 'Heal' spell has been added.

Inventory

  • Removed 'Scrolls' from inventory and UE Gameplay Tags. I realized that it was just causing additional overhead and feature limitations. 'Scrolls' still technically exist, but the 'QuickItemSlot' is now tied directly to that spell or item itself. By doing this I've essentially allowed any spell to become a 'Scroll' with no additional setup.

  • In the process of trying to figure out how to handle the storing and retrieval of UI icons for Equippables, while only having their UE Gameplay Tag to work off of.

06/16/2026

CURRENT TASK(S) UPDATES:

Inventory, Dash, Skeleton Knight, Attacks, Spell Casting, Player, Bombs, Destructible Wall

Inventory

  • Fixed bug that caused UI to show wrong quantity of current 'Quick Item'.

Dash

  • Added keyboard input to 'Dash' which is LEFT SHIFT.

  • Fixed a few bugs that allowed 'Dashing' to occur when it should not.

  • Integrated the current 'AirDash' animation.

  • Fixed animation transition issue when 'Dashing' into a 'Climb'.

  • Fixed bug that caused a 'Static Dash' to move the player towards world Y+ regardless of orientation. Player will now move opposite of the way they're facing on 'Static Dash'.

  • Integrated the 'Dodge' left/right animations.

  • Removed the variable 'Dodge Immunity Length', immunity length is now determined by the 'Dodge' and 'AirDash' animation length.

Skeleton Knight

  • Tested some physics body options for the skeletons death.

Attacks

  • The animation 'JumpAttack_v2' for the 'Forward Arcing Leap Attack' had all of its notifys scrambled somehow, it has now been corrected.

  • When an attack is triggered while no melee weapon is in the owners hand, each of their holsters will be searched for a melee weapon and triggering unholstering if once is found. Previously this would just trigger unholstering with 'Hip Left' as the target with no actual search or as to if there was a valid weapon there.

  • Fixed bug that would cause the player to no longer be able to move if they did 3 quick attacks, jump, then ground slam. There was a delay after ground slams initiation that I believe was the source of this issue, that delay has since been removed.

  • Fixed a bug that would allow the player to jump during combo attacks. There are brief moments between combos where 'bIsAttacking' is false, and jumping is only prevented so long as 'bIsAttacking' is true. To correct this I removed this check and replaced it with the 'bMovementDisabledForAction' bool which essentially states if the player's movement is currently set to zero, from what I can see this'll work as a replacement but only time will tell.

Spell Casting

  • Created several UE 'Gameplay Tag' arrays that hold the player's "Known" spells. One array called 'KnownSpells' is responsible for containing each spell the player has available/unlocked. The other arrays are defined per method of casting, each of these arrays are sorted automatically at 'BeginPlay'. The purpose of these is to minimize how much the 'AllSpellData' variable within the 'BPC_SpellCasting' has to be accessed when a particular element about a spell needs to be known, like determine that spells 'Casting Method'.

  • Added new inputs for 'Spell Swapper', each mimicking the inputs for casting spells. These had to be created because the 'Spell Swapper Menu' is a chorded action necessary for spells to be able to be swapped.

  • Player can now swap spells within the 'Spell Swapper' menu, just hold the 'Spell_Swapper_Menu' input down (2 on Keyboard, RIGHT D-Pad on controller), and then press one of the 'Cast' inputs that you would normally press to cast one of the spells. This will cycle that inputs spell with any other 'Known Spell' the player has for that input (or 'Cast Method').

  • For the 'Spell Swapper' inputs to swap the Tap and Charged on controller, Tap would work find but Charged would not. However, if I have Tap's controller input be 'Gamepad Right Trigger Axis' and Charged's controller input be 'Gamepad Right Trigger' then it works fine. Previously they were both set to the axis version, but this issue shouldn't exist considering the problem does NOT occur for the casting inputs.

Player

  • Removed the 'OnJumpInput' function and replaced it with a collapsed graph that serves the exact same purpose. There was no point to having it use the extra overhead of a function when it only got called in one place and didn't use any local variables.

Bombs

  • Fixed an issue where impulse was only ever applied to characters and never to components, which meant the 'Destructible Wall' never had its pieces blown away.

Destructible Wall

  • Fixed an issue that would cause the wall to crumble if the player walk at it at just the right angle. I removed all the 'Damage Thresholds' from the Geometry Collection and that prevents the issue. Since the wall is only supposed to crumble when 'Crumble Active Clusters' is run anyways, this shouldn't be a problem.

06/15/2026

CURRENT TASK(S) UPDATES:

Interns, Inventory, Spell Casting, Status, Bomb

Interns

  • Wrote up and assigned their next project: 'The Shop'.

Inventory

  • 'Item Slot' is now known as 'Quick Item Slot' to avoid any confusing with 'Equippable Items'.

  • 'Quick Item Slot' now procedurally handles the quantity of an item type that its owner possesses, similar to the 'Map' variable system found in the 'Status' system.

  • 'Quick Items' update to the UI based on the current 'Quick Item' that is equipped.

  • 'Quick Items' can be cycled through by pressing "LEFT" on the D-Pad or "F" on the keyboard.

Spell Casting

  • The spell classes 'Protection' and 'Heal' have been added.

  • The damage system for spells has been modified, now any part of a spell that would deal damage first checks if that spell is apart of the 'Heal' class, if it is then it will instead "Heal" the target actor instead of damaging them.

  • The 'Shield' spell has been added and currently grants the target 60 seconds of 'Immunity' status, when the target is hit with an attack that should deal damage then this status will be removed instead of damage being applied.

Status

  • 'Receive Status' function now has a "Duration Override" float input that allows the duration of an inflicted status to be modified. This was added specifically for spell casting, originally the duration of a status applied to another actor would fall under the 'Spell Duration', but I realized that this causes a bit of an issue between separating how long an AOE spell can last vs the status itself. For example, if a "Thunderstorm" spell was cast over an area, 'Spell Duration' would be how long the storm lasts and 'Duration Override' could be how long a creature hit by the storms lightning would hold an 'Electrified' status.

  • Added 'Immunity' status to pair with the 'Shield' spell.

Bomb

  • Fixed issue with damage not occasionally not being applied, for some reason 'Apply Radial Damage' was the source of this issue. To fix this I switched to an 'Apply Damage' node that is now paired with the 'Add Impulse' in a function called 'ApplyDamageImpulse' so it can share the same 'Sphere Overlap Actors' For Each Loop.

06/12/2026

CURRENT TASK(S) UPDATES:

Interns, UI, Equippables, Inventory, Bomb, Destructible Wall

Programmer Intern

  • Wrote up the final review for their project: 'Puzzled Passage'.

UI

  • Fixed some scaling issues with the 'Spell Swapper' widgets.

  • Moved the "Side Bars" into a horizontal box and put the blur effect for the 'Spell Swapper' menu inside, this way the content of the "Side Bars" doesn't also get blurred.

Equippables

  • Equippables now spawn with their PMC 'Simulation Enabled' set to true to prevent them floating statically in the air.

Inventory

  • An 'ItemSlot' gameplay tag variable and 'OnItemSlotInput' function have been added. If the player has an item assigned to the 'ItemSlot', then it will trigger the effect associated with that item.

  • The 'Bomb Scroll' has been added as an item, when activating it spawns a 'Lit' bomb in front of the player.

Bomb

  • Bomb can now be 'Lit' and also explode.

  • Added basic VFX of sparks and smoke to provide a visual for the 'Lit' state.

  • Bomb will blink red in color and play a ping sound during the 'Lit' state, these will also rapidly increasing as the fuse time nears its end.

  • Bomb will explode and deal damage to any actors within a set radius, also added basic VFX and SFX.

  • Bomb can be set to 'Lit' on spawn, by taking any kind of damage, and by receiving a 'Burning' status.

  • If the bomb takes any damage while its already 'Lit' then it will immediately explode.

Destructible Wall

  • Created an actor that responds to any damage that is of type 'Force'. When this type of damage is detected it triggers the actor's geometry collection to crumble.

  • Had to create a new collision profile of 'DestructiblePassthrough' and pair it with the geometry collections 'per level' collisions, this had to be done so the wall can be moved through after it crumbles.

  • NOTE: This geometry collection method is just temporary, ideally we'll have some kind of simplified VFX to replace this.

06/11/2026

CURRENT TASK(S) UPDATES:

Player, BPC_Attacks, Spells, UI

Player & BPC_Attacks

  • Updated the attack animations to the newest version.

  • Set default attack animations to none (helps BPC from using more memory than necessary), animations are still assigned within that characters reference to BPC_Attacks.

  • Removed old 'Spell Attacks' info from BPC_Attacks.

  • Organized BPC_Attacks.

  • Fixed bug that would cause combo attacks to not register an actor as hit.

  • Replaced the delay before 'Hit Stop' with a retriggerable delay, allows for better follow through while hitting multiple enemies.

Spells & UI

  • Spell "Icons" have been added to the SpellData structure, allowing each spell to be given a unique icon to display for the UI.

  • A BPI_SpellCasting has been created to more easily retrieve spell information.

  • Spell Swapper now updates the spell icons whenever the players associated spell slots is updated.

06/10/2026

CURRENT TASK(S) UPDATES:

Interns, Spell Swapper, BPC_Attacks

Programmer Intern

  • Wrote a very long review for their current project: 'Puzzled Passage'.

UI

  • Adjusted the test designs for the 'Spell Swapper' menu (previously referred to as the 'Spell Selector' system), also added a slight blur effect to its background overlay.

Player Character

  • Removed the old 'Slow Motion on Death' code.

  • Slow motion now occurs while the 'Spell Swapper' menu is displayed.

BPC_Attacks

  • Fixed a bug that previously caused attacks not to trigger hit stop or other related effects.

06/09/2026

CURRENT TASK(S) UPDATES:

Inventory, Equippables, Interact, UI

Inventory

  • Simplified some of the functions so the primary vs offhand are selected rather than branched.

Equippables

  • BPC_Equippables has been removed. Project is only going to have equippables that derive from BP_Equippables_Base so it made more sense to merge that data and functions into that.

  • Added a Projectile Movement Component to BP_Equippables_Base to handle 'Throwing'. PMC tick and projectile simulation are disabled, only being reenabled when the actor is thrown, then disabling once again once the actor has come to a stop or is picked up again.

  • Added a Location and Rotation offset specifically for holstered actors in addition to the in hand offsets.

  • Items properly drop on to the ground when 'Dropped', this was done by piggybacking off the PMC with 0 velocity.

Interact

  • Removed the 'InteractionSphereCollision' and subsequent overlap checks with it that determined nearby interactables. The design was supposed to save on performance, and while it did, it was HORRIBLY unreliable and fail to find actors that it clearly should be detecting. It has now been replaced with a new system that uses 'Sphere Overlap Actors' with a scoring system calculated by how close the player is to the actor and the degree to which they're facing it.

  • Added test models for a 'Torch' and 'Shield' to help with figuring out the interaction system.

UI

  • Started working on the spell selector system for the UI.

  • Created a 'SpellBox' widget for easily tying the input layout with spells.

  • Still needs a bit of work, but its actually coming along pretty nice.

06/08/2026

CURRENT TASK(S) UPDATES:

Interns, Inventory

Programmer Intern

  • Wrote up and assigned their next project: 'Puzzled Passage', which is a bit bigger than previous projects.

Inventory

  • Started reworking the inventory system.

  • Items now have designated holster slots instead of being able to freely assign themselves to any slot.

  • Holster slots and hand slots have now been separated. Previously they were combined under the same map variable but this made it much more difficult to cleanly discern between items in the player inventory vs their hands.

06/05/2026

CURRENT TASK(S) UPDATES:

Interns, Statuses, Spells, Mobility, Pick Up Objects

Programmer Intern

  • Wrote up the final review for their 'Dungeon Traps' project.

Statuses

  • The length of each status is now able to be unique.

  • Each status now has the option to either have their timer reset if a status is being reapplied, or for that status to have to finish before it can be started again.

  • Statuses can now apply damage each time a status stack is depleted.

Spells

  • The spell system is no longer dependent on the specific spell that is being cast to determine its behavior, instead all functionality is dictated by the SpellData. More will come from this later, but it allows for spells to be sectioned out like 'Noita'.

Mobility

  • Crouching now moves the character mesh up as the capsule shrinks, so the mesh will no longer clips into the ground.

Pick Up Objects

  • Player can interact with any 'Throwable' objects and hold them above their heads.

  • If the player presses the 'Attack' button then they'll throw the objects forwards. At the moment its just simulating the mesh and applying impulse.

06/04/2026

CURRENT TASK(S) UPDATES:

Interns & Statuses

Programmer Intern

  • Wrote a very long review for their current project: 'Dungeon Traps'.

Statuses

  • Reworked the status system to track statuses with map variables instead of individual variables, allowing any future status additions to be procedurally handled with ZERO additional setup necessary.

  • Created a function within a BFL to handle damage that additionally comes with the ability to status transfer.

  • Statuses from a weapon can now be transferred to the hit target, including the weapons' VFX and SFX.

  • Frogs can now incur statuses wrought unto them.

06/03/2026

CURRENT TASK(S) UPDATES:

Inputs, Attacks, Health/Mana, Spells, Mobility

Inputs

  • Chorded actions are still being a massive annoyance, so I've had to resort to the boolean 'bChannelingMana' to check against if the IA_Cast_Modifier is down or not to prevent attacking, jumping, etc. One particular issue was if you left clicked then right click really fast (releasing left before pressing right within half a second) it would trigger the IA_Cast_Attack and I have no idea how that's even possible. A similar issue happened later with jumping, but after I opened up the jumping function and realized I already put the fix in there, and tested it in game again, it magically didn't happen anymore. So maybe it was just a load issue with the editor idk.

Attacks

  • Cleaned up BPC_Attacks, renamed some events for more uniformity, and moved some functionality from hard references to the BPI_Character.

  • When you now ground slam without a weapon in hand, but have one in a holster, then your weapon will be immediately put into your hand and you'll ground slam.

  • Fixed bug that would allow you to continuously chain lunge attacks and essentially bhop.

  • Fixed bug that allowed the player to lunge attack while in the air.

  • Fixed bug that disallowed the player from performing the 'Forward Arcing Leap' attack.

  • Removed 'Weapon Charge' effect from old magic charge.

Health & Mana

  • Health has been set to 1 health per heart instead of 10 health per heart.

  • Mana has been set to 1 mana per gem instead of 10 mana per gem.

  • Upon death the both the player and their weapon will lose their statuses.

Spells

  • Added 'Origin Always Caster' bool to 'SpellData' which allows select spells to have their origin forced to originate from the casters transform, rather than the supplied transform.

  • Spells will now only start casting animations if the player has a valid spell assigned to that casting method.

Mobility

  • Added a timer after the player jumps while climbing that reenables 'Orient Rotation to Movement', so their rotation isn't locked until landing. the timer is twice as long as the 'Climbing Grab Cooldown' so it'll never interfere with the player trying to do jump grabs against a climbable surface.

  • Removed 'Orient Rotation to Movement' from disabling while wall jumping. Having it enabled really caused more issues than anything, especesially if the player wall jumps during combat. It's also not noticeable with it disabled since when you wall jump you really only focus on timing each jump button press since the character rotates themselves automatically.

  • Climbing in general still has some bugs, most noticeably when entering a climb from an angle.

06/02/2026

CURRENT TASK(S) UPDATES:

Interns, Status, BPI Cleanup, Spell Animations

Programmer Intern

  • Wrote up a review for their 'Dungeon Traps' project.

BPC_Status

  • BPC_Status now pairs with a BPI_Status.

  • Statuses are now integrated in with the BPC_SpellCasting system, allowing characters and objects alike to take on statuses. The target also takes on the VFX and SFX designated by the 'Spell Data'.

BPI Cleanup

  • Cleaned up and reorganized some of the BPIs so they reflect the current expectations of the project.

  • Added a new function to BPI_Character that 'AddsImpulseToCharacter'. Also added a new function to 'BPI_Inventory' to send a message to an actor to execute a trigger for their metasound, this was primarily done to allow the triggers for charge effects to be more easily relayed, as before they were kept in the BPC_Attacks.

  • The BPC_Attacks event dispatcher for stopping movement was removed and now has that same message routed through a BPI to the owner. This was done to allow spell casting to be able to tell the player to stop moving while casting a spell.

Spell Animations

  • Spell casting now has its animations back, albeit just the one we currently have, as well as its movement and condition restrictions.

  • I experimented with a way of blending spell casting into movement so it doesn't stop on a dime when you start, but also the animation doesn't allow you to glide across the ground for a bit before stopping. I created a copy of the 'Spell Charge Start' animation and limited it to just the upper body, then track the player's speed to tell if its dropped below the threshold, if it does then I route the get the current position of the 'upperbody only' animation and plug that into the starting position for the full body. This creates a pretty seamless effect that you can see in the video.

06/01/2026

CURRENT TASK(S) UPDATES:

Interns, Inputs, Spell Casting, BPC_Status

Programmer Intern

  • Wrote up and assigned their next project: 'Dungeon Traps'

Inputs

  • Fixed the previous issue with chorded actions not working properly, had to route triggers from the IMC and into each ones own Input Action. However this still led to an issue where lower priority inputs weren't being consumed, again thanks to the chorded actions bug, but I discovered if the inputs that were to be consumed didn't have any triggers of their own then it would work just fine. Luckily the only inputs that need to be was 'IA_Jump' and 'IA_Melee_Tap', which both really only need the 'Started' executable instead of their 'Triggered'.

  • The melee inputs also had to be completely reworked, instead of having a single 'IA_Melee' there is now 'IA_Melee_Tap', 'IA_Melee_Charge_Start', and 'IA_Melee_Charge_Release'. Which primarily had to be implemented to allow 'IA_Cast_Attack' to be able to override the attack input properly.

Spell Casting

  • Each spell method can now be casted from the player, 'Tap', 'Charged', 'Jump', 'Attack', and 'Interact'.

  • To cast a spell, the 'CastSpell' function is run with a gameplay tag input of 'SpellTag'. Each 'IA_Cast' input method also has its own variable that to control which spell that method currently has assigned (this will be tweaked later when proper spell swapping is implemented).

  • Animations still need to be added, as well as the handler that 'BPC_Attacks' uses for stopping the character, linking the animation, etc.

BPC_Status

  • BPC_Status is responsible for handling the current statuses effect a character, the amount of stacks per status they have, and how long a status has been running for.

  • Basically each stack is worth 'X' amount of time, if the current elapsed time of that status has been running for greater then or equal to that 'X' amount of time then that status will be decremented and the elapsed time is reset. Once that status has no more stacks then that status tag will be removed for the character.

  • Still has a ways to go, and more tests to be done, but it is well on its way.

05/29/2026

CURRENT TASK(S) UPDATES:

Interns, Spell Casting, Mobility Fixes, Health

Programmer Intern

  • Wrote up 2 reviews for their 'Wall Snapper' project.

Spell Casting

  • BPC_SpellCasting rework is essentially complete, all the information from the 'SpellData' relays properly into it and performs as expected.

  • Working on the status effects but I need to figure out how to give something a status and have it independently keep track of how long that status needs to last, the stacks, damage, etc. Likely will end up using a BPC & BPI.

  • All 3 spells have been integrated into the new system as well.

  • Added new Enhanced Input Actions for the spell casting inputs, essentially each casting method is getting its own EIA. Which is going to make it much easier to code than everything sharing a single input and doing the old method of several bool checks between the input and the intended action.

Mobility Fixes

  • Fixed bug between 'Coyote Time' & Wall Jumping, jumps should behave properly now.

  • The camera sets itself for Wall Jumping on the SECOND wall jump now. This is to prevent accidental jumps off a wall from causing an unintended repositioning of the camera.

Health

  • Health has been given its own BPI to pair with its BPC. This was done primarily because the mana is stored within BPC_Health and the BPC_Spells was originally holding a reference to its owners BPC_Health in a variable, but this causes unnecessary memory bloat so it was reworked (likely going to be the case for several more parts of the project in an effort to clean things up a bit).

PROBLEMS FACED:

  • For the new spell casting inputs I need to use something called "Chorded Actions" which essentially just means I make input A rely on input B being active to allow input A to fire. This works, but apparently if you try and another input for the input action, which in this case is to include controller inputs, it just doesn't work. Forums upon forums of people complaining about this issue and I guess its just never been fixed, classic. So I don't really know how I'm going to solve that because it's kind of critical for the inclusion of additional device inputs.

05/28/2026

CURRENT TASK(S) UPDATES:

Spell Casting

Spell Casting

  • In the process of completely reworking the spell casting system.

  • Spells now rely on 'Data Assets' that contain each spells information and stats. Each spell class is divided up into its own data asset.

  • Spells are now designated by UE 'Gameplay Tags', which should allow for better categorizing and be make things slightly more performance friendly.

  • Spell VFX and SFX are soft referenced and 'Asyncd' to allow Niagara systems and Sounds to be changed in the data assets without incurring memory problems.

  • Began working on status that spells can apply to targets via gameplay tags.

  • A lot of time focused on just trying to get this system as efficient as possible.

  • Spell casting is currently disconnected on my branch as I'm in the process of testing and transitioning the system.

05/27/2026

CURRENT TASK(S) UPDATES:

Interns, Equippables & Inventory, Weapons & Magic, and Climibing

Programmer Intern

  • Wrote up and assigned their next project: 'Wall Snapper'.

Equippables & Inventory

  • Removed the old chain of 'Equippable' parent BPs in favor of a single Equippable base BP that each Equippable actor will be a child of.

  • Added new BPIs for Equippables and Inventory that should help with retrieving held actor information.

  • Reorganized the entirety of the old BPC_Inventory.

Weapons & Magic

  • Removed all the previous attack event requirements in BPC_Attacks of 'WeaponMesh' in place of a single reference called that is running off an event dispatcher from BPC_Inventory. Don't know why this wasn't the case to begin with but it is now.

  • Starting to experiment with creating a data asset for the spells to further simplify the system.

Climbing

  • Added the latest 'LedgeClimbUp' animation, allowing the player to mantle ledges when they climb up to the top. Also added the 'LedgeClimbUp' sound effects trigger and SFX.

05/26/2026

CURRENT TASK(S) UPDATES:

Interns, Lightening Imbue, Problems

Programmer Intern

  • Wrote up a review for their latest project 'Flower Snapper'.

Lightening Imbue

  • Created the functionality for the player to enchant their current weapon.

  • Created some simple VFX and SFX to serve as the lightning effect.

Problems

  • I need to rework/reorganize/reassess the relationships between Inventory, Attacks, and Spells. Each one was developed pretty early, but BPC_Attacks was the only one that really got fleshed out. At the moment BPC_Spells has been 'piggy backing' off of BPC_Attacks to share off its functions that stop the character, trigger an animation, relay animation notify information, handle interruption, condition checks, etc. However, BPC_Attacks was/is designed for handling Weapon Attacks, and this 'piggy backing' is no longer viable when it comes to spells that are not at all related to weapon attacks. Additionally, attacks and spells have relied on the player having a weapon in their hand and while trying to figure all this out I realized that the inventory was never pushed past its testing phase since we've really only needed the sword up until this point. This is a problem because there's spells like 'Imbue' that need to add effects and statuses to the currently equipped weapon and the only real way to apply those at the moment would be to do it for each weapon each time, nothing has needed to be shared before. So before I can handle the BPC_Attacks and BPC_Spells, I will have to flesh out the BPC_Inventory and plan out how it will organize equipment for both code-wise and player interface-wise, then create proper calls for the parent actor, BPC_Attacks, and BPC_Spells to read the inventory information. All of this further has be implemented in a way that allows any actor to utilize one or more of these systems without requiring another. This is all just the surface level stuff as well, logically I know how this can all be done, but mentally it is an immense onset of non-visual work that is going to give my visual dependent brain an aneurysm.

05/21/2026

CURRENT TASK(S) UPDATES:

Interns, Projectiles, Spells

Programmer Intern

  • Wrote up and assigned their next project.

Projectiles

  • Reworked 'Projectile' base class and assorted subclasses.

Spells

  • Moved the spell casting mana check and deduction to be handled by 'BPC_SpellCasting' itself.

  • Added different casting methods, Charge Released, Tap, Charge & Attack, and Charge & Interact.

05/20/2026

CURRENT TASK(S) UPDATES:

Interns, Star Blossom, Spells

Programmer Intern

  • Assigned them the next step for the Lily Pad which was 'Tilt'.

  • Completed 2 write ups for their current progress.

  • Continuing to remain on call to offer any help or reviews as needed.

Star Blossom

  • Star Blossom was added to the BP_Pickups as well as the player inventory and UI updates.

Spells

  • Working on updating the spells to make projectiles a bit cleaner and easier to use.

05/19/2026

CURRENT TASK(S) UPDATES:

Interns, Wall Jumping, & Climbing

Programmer Intern Project Review

  • Evaluated their current progress and completed 2 detailed write ups outlining any adjustments or changes that need to be made.

  • Continuing to review work as it's updated.

Wall Jumping

  • Camera will now lock to a side view of the character after they begin wall jumping, the side it locks to is determined by its current position relative to the player.

  • Wall Jumping also disables 'Orient Rotation to Movement' and reenables it only upon landing, the same way its done for Climbing.

  • Redux'd the Wall Jumping checks in BPC_Mobility so its easier to understand.

Climbing

  • Tested new 'climb up' animation, but its still not root mobile.

  • Tested getting angled ledge climbing to work, but no combination of the current climbing checks produced good results. Ultimately its gonna need a more in-depth solution, but I don't know if its really a priority right now.

05/13/2026

CURRENT TASK(S) UPDATES:

Climbing & Bug Fixes

Climbing

  • Player can now climb around both inner and outer corners. Works for both wall climb and ledge climb.

  • Some smoothing was put in place to transition around corners.

  • Did some tests and corrections to help prevent attacking from interfering with climbing and vice versa.

Bug Fixes

  • Fixed a bug that allowed the player to jump while making an attack.

05/12/2026

CURRENT TASK(S) UPDATES:

Climbing

Climbing

  • Player is now capable of climbing on and around rounded surfaces, for both walls and ledges.

  • Player will now always be the same height away from a ledge when starting a ledge climb.

  • Climb check traces have been changed from capsule traces to line traces.

  • Spent awhile restructuring the climbing system code so functions were more reusable.

  • Fixed a previous issue that where when the player would reach the edge of a surface for a climb they'd "glide" for a few units before stopping. This was solved by zeroing the velocity for just that climbing direction. This makes the stopping point of the player's climb exact, rather than within a certain range.

  • Fixed issue where the climbing jumps launched the player purely by the X Y world coordinates. Meaning if you were to face X and jump to your right it would work properly, but if you were to face -X and jump to your right it would go left. Now it is properly taking into account the player's right vector. This went unnoticed before because the climbing wall for testing was perfectly facing X in the world, go figure.

  • Changed the tag search for climbable actors from 'WallClimb' to 'Climbable'. Also changed the tag search from actors to components. Meaning individual components can be given the tag rather the actor in its entirety.

  • Added a 'PM_Climbable' physics material, this can be added to any objects material to make it climbable. This works similarly to how footstep sounds are detected for different surfaces.

  • Player can round corners while wall climbing (still very early in testing, will be smoothed). I also had climbing 'inner walls' working as well, but deconstructed it to build a better determination system. The last few hours primarily went into this, but I should have it ready tomorrow.

05/11/2026

CURRENT TASK(S) UPDATES:

Climbing & Bug Fixes

Climbing

  • Player will now stay facing towards the wall while wall jumping, and only return to normal rotation when they land.

  • Tweaked some values to make the have their eye level always be the max point up a ledge, preventing half their body from peaking over the lip.

  • Changed the player capsule radius from 25 to 35, this puts a bigger gap between the player mesh and the wall. This shouldn't be noticeable or interfere with any other game system.

  • Changed the frames of the 'AS_QK_climb_freeze_v5' from 3 frame to 26, this prevents an issue when stuttering when transitioning to animations in the blend space. Also chopped the last frame off of that same animation as there was an additional pose that seemed to have been there by accident when imported.

  • Wall jumping is much more stable now, player can jump in 8 directions based on their movement input, and also backwards if they give no input.

  • Created a method to determine the input direction the player is intending to go, even if their path is blocked. Nodes like 'Get Current Acceleration' and 'Get Last Input Vector' would only work if the player was able to move, otherwise they'd return 000. With this new method the raw input is evaluated, allowing the player to wall jump up and over a ledge, or sideways off a corner.

  • Corrected an issue where if the player grabbed a ledge that was above a climbable wall, they wouldn't be able to go down because they'd technically be in a ledge climb. Now each limbs climbing trace is evaluated to check if any are hitting a climbable wall, in which case the climb changes from ledge to wall.

  • Camera will now smoothly lock behind the player upon entering a climb.

  • If the player walks off a ledge without jumping, a short timer will run before the climb check will begin as if they reached the apex of their jump. Basically, the player can now walk off a ledge and grab a climbable surface where as before they had to of jumped first.

  • 'Lock On' can no longer be activated while climbing.

  • If player climbs down to the point that they're touching the ground, then climbing will end.

  • Separated wall jumping to its own trace rather than relying on the climbing traces. This allows for wall jumps to be determined without needing the player to face towards the wall.

Bug Fixes

  • Fixed a bug that would all the player to climb outside of the 'BP_WallClimb' range while a surface was still present.

  • Fixed a bug that would permanently change the camera rotation speed after lock on was used.

  • Fixed a bug that would cause the camera to move to world zero when un-focusing a focused target.

05/06/2026

CURRENT TASK(S) UPDATES:

Wall Climbing

Wall Climbing

  • Ledge climbing now works again.

  • You can now jump directionally while climbing.

  • Cleaned up some of the climbing code to make it a little less snappy and more predictable. This also fixes an issue where the player would have their inputs pulled back to the point they started a climb until they were rotated to the hit normal.

05/05/2026

CURRENT TASK(S) UPDATES:

Wall Climbing

Wall Climbing

  • Created an actor that projects a decal on to any surface, making that surface climbable. (Only works on flat surfaces)

  • Ledge climbing is currently broken while wall climbing is being tested.

  • Added animations to climbing.

  • Recreated the BS_QK_Climbing as the original one didn't work with the ABPs expectation for direction and speed inputs. Also flipped the left down and right down animations as they matched the intended movement better.

05/04/2026

CURRENT TASK(S) UPDATES:

Player Character BP

Player Character BP

  • Completely restructured and reorganized the player character blueprint, merging everything back to a single event graph and making it more navigable/useable.

  • Removed all old, unused, and duplicate functions/variables from the blueprint.

  • Took over 7 hours to reorganize and reroute, but the difference is night and day.

04/24/2026

CURRENT TASK(S) UPDATES:

Crouching/Stances & Update Speed

Crouching/Stances

  • Created an ENUM and function that handles the players transitions into different stances (Standing, Crouching, Crawling), and smoothly blends between each.

Update Speed

  • Created an 'Update Speed' function that handles anything relating to the player speed. Essentially anything that is going to be affecting the player speed will be a multiplier value rather than a 'hard set' of the player speed.

  • This basically lets different conditions multiply upon each other. For example if the player is focusing a target then their speed is multiplied by the 'FocusWalkSpeedMultiplier', but if they're also crouching then that remaining speed is multiplied by the crouching speed multiplier.

04/17/2026

CURRENT TASK(S) UPDATES:

Dialogue System

Dialogue System

  • Text will now write itself letter by letter with each dialogue line.

  • Text writing can be forced to finish if interaction button is pressed again.

  • Added the ability for 'YES' and 'NO' responses to dialogue. These buttons will also only appear after the text has been fully displayed.

  • Added triggers for Conversation Line Start and Conversation Complete, allowing the owning character to assign its own responses (animations, SFX, etc).

  • Experimented with getting character sounds to trigger with each letter as its written.

  • Added a 'Sign Post' NPC that runs off the same dialogue system and can be interacted with.

  • Removed Event Dispatcher method that was being used to relay information to the UI in place of a new BPI method.

  • Worked through a litany of different issues that stemmed from the game being paused and the inability for timers and sounds to run while paused.

  • Corrected issue with the input mode being overwritten when the player paused while in a dialogue.

  • Dialogue camera will occasionally pick the wrong side to move towards, still trying to fix it.

04/15/2026

CURRENT TASK(S) UPDATES:

Dialogue System

Dialogue System

  • Game now pauses while in dialogue, had to additionally create a new player controller that was blueprint accessible just to allow the 'Should Perform Full Tick when Paused' bool to be ticked true and allow camera movement.

  • Timers couldn't be used while the game was paused, so instead the BP_TransitionsCamera and BP_Dialogue have their Event Tick toggled on and off in place of the timers (this is more efficient than it sounds).

  • Can go into the pause menu during dialogue, and coming out of the pause menu keeps the game paused while still in dialogue.

  • Created a CSV file that houses all the dialogue in the game, categorized by character, conversation, and then line.

  • Basic text box on the screen to display dialogue as it updates.

04/14/2026

CURRENT TASK(S) UPDATES:

Interaction System & Dialogue System

Interaction System

  • Player now has a collision sphere that will detect nearby interactable actors and determine the nearest one.

  • Interaction is handled by giving an actor the BPI_Interactable and determining their response on the return node.

Dialogue System

  • Created a BPC that handles Dialogue interactions between actors.

  • When a dialog is initiated, both actors will both slowly face each other.

  • The player's camera transfers to the BP_Transitions camera and interps itself to a location radially offset from the center point of the dialogued actors.

  • The camera will favor the side of the player that it is already on when dialog is initiated, meaning the camera will automatically be on the left or right side of the player for dialog.

  • The camera will also interp to face the NPC character.

  • The angle, dialog distance, camera movement speed, and camera rotation speed are all exposed variables.

04/08/2026

CURRENT TASK(S) UPDATES:

Menus (Pause, System, Credits) & Packaging

Pause Menu

  • Moved the star coins and blossoms to the bottom left.

  • Values for the health, mana, and coins now update.

  • Removed the exit prompt in exchange for a new widget that derives from the sub menus themselves.

  • Added the temporary fantasy font to each sub menu as well.

Systems Menu

  • All buttons aside from 'Save Game' and 'Load Game' now have their intended functionality.

Credits Menu

  • Created a 'Team Member Block' widget that houses information for a team member for easier implementation.

  • These widgets are also buttons and when they're pressed will take you to that team members page/portfolio/etc.

  • If the 'Team Member Block' widgets are approved, then I'd need the following for each individual: Image, Team Role, Preferred Name, Social Handle, and link to their page or portfolio.

Packaging

  • Successfully created a packaged version of the project.

  • Some issues going on with the audio, but I think I have it patched for now.

  • I have it zipped and uploaded to my google drive (500MB) and could post a link if desired.

04/06/2026

CURRENT TASK(S) UPDATES:

Menus (Pause, Control, Systems/Options)

Pause Menu

  • Created the system for the 'Information' page that allows selectable items to have information displayed.

  • Updated the test assets from the previous block out.

  • The 'Go Back' button was removed and replaced with a BPI trigger that has the child widgets relay when their own 'Go Back' button is pressed, allowing widget pages to now be completely isolated from one another.

Controls Menu

  • Created the new 'Controls' menu that displays inputs at the corresponding use.

  • Also created a widget that makes it extremely easy to add and edit these button displays within the 'Controls' menu itself.

Systems/Options Menu

  • Created the basic setup for the 'System' and 'Options' menu.

03/30/2026

CURRENT TASK(S) UPDATES:

Menu (Pause)

Climbing

  • Corrected the previous issue of the decal being overpowered by the emissions of the book pages, removed the page emission and just added that page color as a background to the widget for the decal.

  • Made the character viewer and book pannable and zoomable.

  • Redid the naming conventions for all the pause menu assets.

  • Created the subcategory selection.

  • Other bits and bobs with maintaining UI element scaling.

03/29/2026

CURRENT TASK(S) UPDATES:

UI Spell Book

UI Spell Book

  • Figured out how to project a UI widget through a decal and onto the spell book.

  • Problem: The spell book pages have to have emission, the decal is technically transparent, meaning the page emission is blowing out the decals. I honestly spent probably 4 hours straight today just trying to get the decal to not be effected by the emission. Unless I'm missing something then there's only one other way I can think to do it, but it would involve having a finished 'book' mesh with a large portion of the unwrap dedicated to the pages.

03/25/2026

CURRENT TASK(S) UPDATES:

Menus (Title Screen, Pause)

Title Screen

  • Implemented the new design of the title screen.

  • Added SFX to buttons being hovered and pressed.

  • Text on buttons change when highlighted.

Pause Menu

  • Built new pause menu.

  • Spent a lot of time figuring out how to assemble the sections correctly to allow for automatic element scaling at any resolution.

  • Live character model viewer window.

  • Still need to implement the functionality of certain features, but with the foundation essentially complete.

Pause Screen and Main Menu

  • Started the foundations for the pause and main menu screens.

  • Created several customizable widgets for easier additions.

  • Pause menu is implemented into the HUD itself rather than being it's own separate WBP.

  • REMOVED the ability to close the editor by pressing ESC, as this key was needed for the pause menu.

  • Main menu Hivemind Labs button.

  • I'll need some semi-detailed notes as to exactly what the layout for the screens should be, it looks hella ugly right now, but I didn't want to beautify it unless I was doing so in the right direction (ex. Controls screen).

  • Still need to implement controller interactions for the pause and main menu screens.

03/22/2026

CURRENT TASK(S) UPDATES:

Menus (Title Screen, Pause)

03/13/2026

CURRENT TASK(S) UPDATES:

‘Modern’ Camera & UI Aspect Ratio Bars

‘Modern’ Camera Mode

  • Added a new camera mode that allows the player to look around with their mouse (like a traditional third person shooter).

  • Integrated it properly with the lock on system and combat.

  • The original 'Ocarina' mode is still in there, you can toggle between both camera modes easily by hitting the 'BACKSPACE' key.

  • Still needs some work, some elements that relied on the spring arm lag still have to be remade for the new camera mode.

UI Aspect Ratio Bars

  • Added black bars on either side of the screen and put HUD elements within them.

  • Original request was to change the camera aspect ratio itself, however this could not be done as it would make the bars separate from the UI itself, which would cause clipping and inconsistencies at different resolutions.

Wall Jumping

  • Recreated the wall jumping system.

  • To wall jump you MUST be facing a wall while falling after a jump, this will cause you to slide down it until you jump off.

  • You CANNOT have a weapon in hand while wall jumping.

BPC_Mobility

  • Spent a lot of time cleaning up the BPC_Mobility component and getting it out of it's "testing" phase.

03/10/2026

CURRENT TASK(S) UPDATES:

Wall Jumping & BPC_Mobility

03/09/2026

CURRENT TASK(S) UPDATES:

HUD, BPC_SpellCasting, & BPC_FocusTarget

HUD

  • UI element for the current item in player's hand, or lack there of.

  • UI element for that tracks the player's current focus actor.

  • UI element for the player's current active spell.

BPC_SpellCasting

  • Added an array for the current available spells for the player/characters. Also added their current 'active spell'.

  • Added the ability to cycle between your available spells. LEFT AND RIGHT D-PAD on controller or '2' on keyboard.

  • Current active spell will trigger for the charged spell attack.

BPC_FocusTarget

  • Focus lock will break when the target is dead and there is no other targets to lock to.

03/07/2026

CURRENT TASK(S) UPDATES:

HUD, Mana System, Death Drops, Sword Magic Charge

HUD

  • Player can now climb around both inner and outer corners. Works for both wall climb and ledge climb.

  • Some smoothing was put in place to transition around corners.

  • Did some tests and corrections to help prevent attacking from interfering with climbing and vice versa.

Mana System

  • Mana system that is separated from the old coin method, now lives in BPC_Health.

  • Added orb pick ups that replenish your mana.

Death Drops

  • Characters are now capable of dropping pickups on death, the amounts can be edited with their 'dropsOnDeath' map variable.

  • Added a small delay window after a pickup spawns so it doesn't immediately get sucked into the player.

Sword Magic Charge

  • Testing a charge material build up on the sword, still very early in development

  • To test this, initiate a charged spell attack and release.

03/05/2026

CURRENT TASK(S) UPDATES:

Double Jump Expiration, Pickup System, UI, Heart Containers

Double Jump Expiration

  • This is essentially a timer before double jump is no longer allowed while the player is in air.

  • This time can be edited in the player character with the float value 'timeBeforeDoubleJumpExpires'.

Pickup System

  • Updated the pickup system to be a bit cleaner to work with.

  • Started working on the 'Mana' pickup and have added it to the power up roster. Still needs the functionality that is currently stored in the coins.

  • Switched the pickup sounds from multiple sound cues to a single MetaSound.

UI

  • UI is getting a massive rework.

  • Created a easily editable WBP that can be used for multiple different information displays, currently used for the Lives and Coins.

Heart Containers

  • Switched the health status from a progress bar to individual health containers.

  • The value of each health container is currently 25 (can be edited), but it's best if we continue to have damage values be in increments of 25 across the project.

  • Everything is automatic and scalable, heart containers will automatically adjust based on the player's current and max health.

03/04/2026

CURRENT TASK(S) UPDATES:

Double Jump, Air Dash, Charge Up Spell Attack, Ledge Climbing, Attacks

Double Jump

  • Player is now capable of double jumping.

  • A toggleable bool has been added named 'canDoubleJump'.

  • Double jump resets on landing.

  • Faked coyote time by manipulating the amount of jumps to 3 instead of 2 when double jumping.

Air Dash

  • Air dash that uses the same input as dodge.

  • Can be chained with double jump.

  • Air dash resets on landing.

Charge Up Spell Attack

  • New 'Ranged Spell Attack' has been added to BPC_Attacks.

  • Spell attack charges up similarly to how the melee charge attack does.

  • MUST be locked on to a target to be able to perform a spell attack, this will be changed in the future, but the locking camera over the shoulder thing is a bit complicated as well as aiming.

  • Perform spell attack by holding RIGHT TRIGGER or RIGHT CLICK.

Ledge Climbing

  • When grabbing a ledge, the character will automatically face the surface they are grabbing onto.

  • Taking damage while climbing will make you let go.

  • The check for if there is a ledge to grab is triggered by the APEX of your jump, meaning, if you walk off a ledge without jumping first, then it will not trigger.

  • You CANNOT climb while a weapon is in your hand.

Attacks

  • Blocking as been removed as it was using the input that spell attacks now do.

  • Holster/Unholster input has been added to controller inputs, currently set to D-Pad UP.

  • If you press the attack button when you are without a weapon in hand, then this will for the 'Holster/Unholster' event.

03/02/2026

CURRENT TASK(S) UPDATES:

Frog AI Behaviors & Ledge Climbing

Frog AI Behaviors

  • Fixed frogs going their attack targets previous location instead of the current location.

  • Fixed frogs not being able to path around obstacles.

  • Frogs are now generating points on the nav mesh and moving to their location. Previously they were moving to the overall 'goal' location.

Ledge Climbing

  • Initial tests with setting up traces and a new 'BPC_Mobility' component. The goal with this is to make any ledge (fitting a certain criteria) climbable, nothing outside of the BPC will be needed.

  • I disconnected this before I pushed so it doesn't mess with anyone pulling from my branch.

02/28/2026

CURRENT TASK(S) UPDATES:

Bug Fixes, Camera System, & Attacks

Bug Fixes

  • The landing sound effect will no longer trigger during lunges, should now only trigger after the player has truly fell.

  • Line trace visual debugs have been disabled.

Camera System

  • Fixed bug with 'camera lock on' where it would occasionally start way too zoomed in.

  • Added a camera rotation offset that will put the camera in more of an more angled view relative to the player and their focus target. It will also favor which ever side of the player it ends up on while the player moves around.

  • There is also a variable named 'cameraRotationOffsetWhileFocused', editing this value will change the offset angle.

BPC_Attacks

  • Added 'Disable Movement' event dispatcher to stop movement during attacks, previously this was relied on by 'On Attack Update'.

  • Long jump attack animation has been updated to the newest version.

Ground Slam Attack

  • Ground slam check (within the BP_PlayerCharacter) has been redone to better control conditions allowing it's activation.

  • Ground slam now has a briefly delay after landing where the player will not be able to move, this was done to prevent attack spam and make it feel heavier.

Forward Arcing Leap Attack

  • New attack that arcs the player towards the enemy they are focused on and delivers an overhead strike upon landing.

  • Attack is activated while you are locked on to an enemy, have a weapon in hand, and press the 'Jump' button.

Sword Impact VFX

  • Added the current test version of the NS_Blast effect to sword hits.

  • This can be toggled off and on by selecting the BPC_Attacks component in the player and toggling the 'Sword Impact VFX' boolean in the Details panel.