Fortnite NPCs: so many problems.F

Summary

I work a lot with Custom NPCs in UEFN and I can tell you that they are extremely limited. Below I will list the problems I encounter.

  1. It is impossible to work with sound, effects.
    When creating a custom NPC we literally get an empty npc with no sounds, no effects, nothing. And the problem is that we can’t add them.
    Example 1: we want to make a custom walking animation. The problem is that there is no way to add a walking sound to the animation.
    Example 2: we want to add an effect and an attack sound. We can’t do that because it is not possible to call them from the Animation sequence.

  2. Root Motion.
    Incredibly lacking the ability to apply animation with movement. They are very spectacular and good for games, but now when you apply them, the character moves and then teleports to the place where the animation started. I literally can’t imagine an NPC without this feature.
    Example: quite a few attack animations work fine with root motion. We lose them immediately due to limitations.

  3. The problem of scale change.
    At the moment, resizing Skeletal Mesh is quite difficult. You need additional software. I tried to change the scale when importing SKM + SKM size in Actor, but the scale remained the same and did not change.

  4. Animations do not apply to SKM ancestors.
    One popular way to create assets is to attach SKMs with offsets. At the moment, a huge number of assets on the FAB marketplace do this. The issue is that playing animations will only work on the main SKM, and all lower-level SKMs will not be animated. Thus we lose the ability to work with modular parts of meshes. We have to convert everything to SK and then do sockets with offsets afterwards, which won’t work for SKMs like clothing.

  5. Changing the Locomotion animation
    At this point we can set presets and that’s great. But sometimes we would like to update and replace presets in the NPC itself.
    Switching to running and walking is now impossible because of this. An NPC must always have only one state, which was set for it in the engine: you can’t switch animations.

  6. Nav mesh problem.
    Currently NPCs are not counted in nav mesh and are constantly bumping into each other. They pile up because they think a point is free.

  7. No possibility to check the point reaches in the navigation
    We can’t check if NPC can reach a certain point.
    Example: I want to make custom NPC patrolling. I find a random point around a given point in a radius and send an NPC there. But that point could be behind a wall, in a rock or somewhere else that the NPC can’t go to. He ends up just running to the wall and bumping into it. I realize we have leashable but they don’t work with custom npc’s. Custom NPCs do not have a native leashable as fort_guard does. Leashable is extremely useful at this stage, as it allows you to leash NPCs and they will navigate through a truly existing navmesh and will not collide with objects.

  8. There is no way to get all NPCs of a certain spawner.

  9. audio_player_device stopped interacting with custom_npc altogether. Now we can’t set the sound on NPCs at all.

  10. visual_effect_powerup_device does not work with custom npc. They can’t pick it up. The code doesn’t spawn effect on npc. visual_effect_powerup_device does not work with custom npc. They can’t pick it up. The code doesn’t spawn effect on npc.

  11. focus_interface has no api to stop the focus NPC on a target. We have to write a wrapper with 1 event to be able to stop it. It’s not hard, but it’s creating another layer to control the NPCs. I think this kind of thing should be in the API

  12. The npc_spawner_device design is very awkward to use. Instead of the usual Agent := npc_spawner_device.Spawn() we have to create coroutines to get the spawned agent.

Please select what you are reporting on:

Creative

What Type of Bug are you experiencing?

Assets

Steps to Reproduce

Expected Result

Observed Result

Platform(s)

windows

Hi @ArcaneStudio - I’m going to move this over to feedback and get it in front of the team.

1 Like

As an update, the team is organizing these and getting them into tickets. I’ll keep this thread updated with any new information.

1 Like

Bugs have been assigned and feedback has been passed to the proper teams.

1 Like