Devlog
Building Second Chance
What was attempted, what broke, and what the fix turned out to be. Written for anyone building something similar.
-
Loyal for Life
A skeletal mesh that explodes into giant shards in PIE in Unreal Engine 5.8 while its bounds read normal, because the Blender export put the root bone at scale 1 instead of 100; a stray dog AI that freezes when its flee point lands in fenced gardens; a Blueprint builder whose delete_node TypeError was swallowed so a graph doubled to 146 nodes with a clean readback; and a TextRender label that reads backwards.
-
Edge-On
A Niagara water jet that drew nothing in Unreal Engine 5.8 because velocity-aligned sprites seen along their own velocity are edge-on and a Vector2 size passed as "4,22" was stored as unreadable text, an NPC snooker match costing 40.7 ms a frame in another building because WasActorRecentlyRendered on a Nanite mesh is only a frustum test, a door tick gate where GetDistanceTo measured every door at 0 m, and fuel pump nozzles that doubled each time a World Partition cell streamed back in.
-
Out of View
A monster whose 3D sound played 14-30 m underground in Unreal Engine 5.8 because its stored position always had z = 0, a Blender character that imported 35 cm short because a x100 scale left the pose matrices in metres, Python-built Nanite track meshes that reported zero bounds after an editor restart and vanished, MP_Displacement hidden from UE 5.8 Python, three strip-club dancers, a worn mud track baked from 30 simulated races, and 2,986 houses placed on a hill.
-
Cut and Fill
An NPC dog in Unreal Engine 5.8 that slid along the pavement without moving its legs because SetAnimation in single-node mode loads a clip paused, a landscape hole cut with LandscapeVisibilityMask after the legacy hole material had crashed three editors, a stray hole punched by clicking the viewport with the Visibility brush armed, a road-gradient check that passed while the carved terrain had 13 m cliffs inside 28 roads, and eight autograss buggies built in Blender to the real rulebook.
-
The Queue
An NPC dog in Unreal Engine 5.8 that walked backwards after SetActorRotation(MakeRotFromX) and then lay on its side after MakeRotFromY, a CableComponent lead that ended a metre off the collar and vanished on tarmac, Blueprint officers who stopped 20 cm short of a front door forever, a looping dance clip that drifted an NPC off its actor with root motion off, a SceneCapture2D that rendered pure white at every exposure, and a parody energy drink can whose wordmark read NACKERED from the side.
-
Coming Soon
Setting up a Steam Coming Soon page for an indie game in development and finding there is no app ID to build it on until Steamworks identity verification clears in 10 to 15 business days, twelve marketing services checked for a solo developer before launch, and why answering yes to Steam's mature content survey is not the same thing as an 18+ age rating.
-
Keyholder
A Fab outfit that imported into Unreal Engine 5.8 at about a fifth of its size because Interchange quietly took over the FBX import and ignored FbxImportUI, skin poking through a fitted MetaHuman garment under animation, an NPC who stood at home all day with no error because her MoveTo destination sat off the navmesh, a front door that opened into her own hallway and blocked her, and a receptionist the town only spawned when the player was nearby.
-
Party Wall
An Unreal Engine 5.8 river that drew no water for 2.9 km while buoyancy, current and water audio all still worked, a doorway cut into a wall mesh in Blender that made the navmesh vanish from a cellar staircase five metres away, a MetaHuman doorman who slid instead of walking because his in-place walk clip moved each foot about 1 cm, MetaHuman clothes that froze while the body animated, NPCs who could not open their own front doors, and a PIE session at 1 fps that made the MCP server report itself unavailable.