Walker NPCs fail to damage player-built structures

Summary

Walker NPCs have extremely broken behavior when attempting to break player-built structures to reach a navigation target or player. With player-built walls, after damaging them once, Walkers will incorrectly turn around for a few seconds and walk away instead of continuing to damage the structure. With player-built stairs (or pyramid structures edited to be ramps), the Walkers will completely freeze when underneath the structure, if they are attempting to break a backwards-facing ramp. They will not move at all and will not damage/hit the structure either.

Please select what you are reporting on:

Unreal Editor for Fortnite

What Type of Bug are you experiencing?

AI

Steps to Reproduce

  1. Create a new project using the ā€œBlankā€ island template and ā€œThe Walking Dead Universeā€ brand selection
  2. In your project folder in the Content Browser, create a new NPC Character Definition with the ā€œWalkerā€ NPC Character Type
  3. Set NPC Character Behavior to ā€œVerse Behaviorā€
  4. Create a NPC Behavior Script with Verse that forces the Walker to navigate the Walker to a specific point. In this example, we set them to navigate them to the world center for ease of reproduction. Example script:
using { /Fortnite.com/AI }
using { /Fortnite.com/Characters }
using { /Fortnite.com/Devices }
using { /Verse.org }
using { /Verse.org/Colors }
using { /Verse.org/Random }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /UnrealEngine.com/Temporary/SpatialMath }

new_npc_behavior_test := class(npc_behavior):
   
    OnBegin<override>()<suspends>:void =

        if:
            Agent := GetAgent[]
            Character := Agent.GetFortCharacter[]
            Navigatable := Character.GetNavigatable[]


        then:
            NPCNavToOrigin(Navigatable,Character,Agent)

    NPCNavToOrigin(Navigatable:navigatable,Character:fort_character,Agent:agent)<suspends>:void=
        # Looping behavior to force NPC to navigate to world origin
        loop:
            if(not Character.IsActive[]). break
            Target := MakeNavigationTarget(vector3{X:=0.0,Y:=0.0,Z:=0.0})
            Nav := Navigatable.NavigateTo(Target, ?MovementType:=movement_types.Running, ?ReachRadius:= 0.01, ?AllowPartialPath:=true)
                if (Nav = navigation_result.Reached):
                    Print("Reached")
                    Navigatable.StopNavigation()
                    break
                else if (Nav = navigation_result.Unreachable):
                    Print("Unreachable Error")
                    Navigatable.StopNavigation()
                    break
                else if (Nav = navigation_result.Blocked):
                    Print("Blocked")
                    Navigatable.StopNavigation()
                else if (Nav = navigation_result.Interrupted):
                    Print("Interrupted")
                    Navigatable.StopNavigation()
                else if (Nav = navigation_result.PartiallyReached):
                    Print("Partially Reached - test")
                    Navigatable.StopNavigation()
                    break
                else:
                    Print("Unknown Error")
                    Navigatable.StopNavigation()
                    break
                Sleep(0.0)
        


    # This function runs when the NPC is despawned or eliminated from the world.
    OnEnd<override>():void =
       Print("Despawned or Eliminated")
  1. Place an NPC Spawner several meters away with your Walker NPC Character Definition and script
  2. Go to your Island Settings device actor and ensure ā€œAllow Buildingā€ is set to ā€œAllā€ and enable Infinite Building Resources.
  3. Launch Session
  4. Start the game and place player-built walls around the Walkersā€™ navigation target. Once they reach the structure, each time they damage it they will walk away for a few seconds before attempting to damage it again.
  5. Repeat step 8 again but build ramps (or pyramid structures edited to be ramps) outside of the walls, facing away from the walls. Once the Walkers are underneath the ramps, they will freeze instead of attempting to damage them.

(NOTE: A custom Verse script is not needed to reproduce this bug. If a player is surrounded by their own walls or ramps and the default Walker behavior is set, the same issue occurs.)

Expected Result

Walkers continue to hit player-built structures, without stopping or moving/turning away, to break the structure(s) and therefore reach the target or player they are navigating to.

Observed Result

WALLS: Walkers damage the structure once, then turn around and walk away before attempting to do so again.

RAMPS/STAIRS: If underneath or facing a backwards-placed ramp, Walkers will freeze upon navigating to close proximity to the structure. They will not even attempt to damage it.

Platform(s)

All

Video

Additional Notes

This is an urgent bug that affects all TWDU islands that use the Walker NPCs and have building enabled.

FORT-886044 has been created and its status is ā€˜Unconfirmedā€™. This is now in a queue to be reproduced and confirmed.

1 Like

Iā€™ll add that they also donā€™t take damage from vehicles either

1 Like