I am working on the setup of multiplayer characters for an FPS, and I have the weapons in and working from a 1st person perspective.
For 3rd person, I’ve set the gun skeletal mesh to OnlyOwnerSee, which hides it nicely from other players. But all the niagara effects which are triggered from an anim notifier are still appearing in 3rd person (out of thin air). They aren’t usable in 3rd person since the materials are set to panini project (so they line up with the panini projection of the first person gun mesh.)
For context the 3rd person weapons are entirely separate meshes, with entirely separate animations and effects.
Actually, the anim notifies triggered on animations are only related to the animation itself. You hid the mesh, but the animation is still playing, so it triggers the anim notify.
I encountered a similar issue where I also need to show both first-person and third-person views. In the first-person view, I don’t want to play the effects on the third-person (body) animation, so I tried to implement this using an anim notify state:
I have a looping effect that I want to continuously play during the duration of a certain animation and only hide/destroy this effect when entering other animations. This sounds simple, but it seems difficult to achieve: the effect can spawn normally, but anim notifies in blueprints don’t support setting variables, so it can’t be destroyed in the end.
It seems that the anim notify state is not being maintained. If you create an anim notify state blueprint with a parent class of Timed Particle Effect in UE5.4, you’ll find that the function overrides don’t work at all: you can’t access inherited variables, and even if the overridden function is empty, the effect still plays normally. It looks like a dead module.