"Find Event by Name" node in UE 4.26.2 does not work unless "Play Event 2D" with event is included

Hi,

The node “Find Event by Name” in Unreal Engine 4.26.2 (Havent tried any earlier version) does not work on Android nor Windows 64 (the two I tried).

If I include the node “Play Event 2D” With the event I want to search for, it works just fine (Placed in level BP at the moment), though this is not needed in the editor. The node does not even need to be plugged in.

I Have tried to load the bank containing the events at begin play, but this does not help.

I can see in the log that FMODStudioModule starts up and that the banks are loaded on start.

Any thoughts on what might cause this behavior, and how to solve it?

I have not been able to recreate your issue- Find Event by Name appears to be working as expected in the editor as well as Android and Desktop builds. One thing to check would be that the Name value matches exactly with the value you get in FMOD Studio when right clicking on an event and clicking “Get Path”.
To help me recreate the issue, could you please provide the following information?

  • FMOD Studio Version
  • Screenshot of your Blueprint when the error is ocurring
  • Screenshot of your Blueprint when the error isn’t ocurring (When Play Event 2D is included)
  • The value of the string you are passing in to the Find Event by Name node
  • Any other warnings you are gettiing in the Output Log

Hi Jeff,

I reproduced the issue in a clean project, with a clean fmod project.
I have the plugin directly in the project folder:
PluginDirectory

This time I only tested it for Win 64, disregard the project name.

Fmod studio Version 2.01.10

Version

Working (Screenshot from level BP)


Event name:
event:/TheGreatEvent

Not Working (Screenshot from level BP)

Dont see any warnings related to FMOD.

Build settings in FMOD:

Plugin settings:

Thanks for the extra info, still haven’t figured out how to get a reproduction over here yet.
Can you please post the content of the Output Log after performing the following steps:

  • Set the Logging Level in the plugin settings to LEVEL LOG
  • Add an Output Log to your Blueprint window
  • Right click on the output log and seclect “Clear Log”
  • Run the Blueprint

Other than that, is the Find Event by Name node returning anything at all when you watch the value and run with the default debug filter?

Thanks for the quick reply.

Dont know if its important, but its a code project.

I’m not quite sure what you mean by the “default debug filter” in " Other than that, is the Find Event by Name node returning anything at all when you watch the value and run with the default debug filter?" but if the “Play 2D event” with the corresponding Event is not put inside the BP, it returns nothing.

With node: Return value from Event by Name === TheGreatEvent
No node: With node: Return value from Event by Name ===

If you by “Add an Output Log to your Blueprint window” mean just open an output log window this is the output from the editor (working without “play 2D event” node):

LOG from editor:

LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi.cpp(3970) - filename = ../../../../../UE_LocalProjects/FMOD_QUEST_TEST/Content/FMOD/Desktop/Master.bank : mode 02010082
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi.cpp(3974) - FMOD_NONBLOCKING specified.  Putting into queue to be opened asynchronously!
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_thread.cpp(209) - Init FMOD nonblocking thread (0). Affinity: 0x8000000000000003, Priority: 0xFFFF7FFC, Stack Size: 114688, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi.cpp(4111) - setdata soundi = 000002679794FC88 : node = 0000026797953EE0
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi.cpp(4115) - add node to async list : head = 000002678DF479D8.  list count = 0
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_async.cpp(191) - Starting Asynchronous operation on sound 000002679794FC88
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(641) -     Create name='../../../../../UE_LocalProjects/FMOD_QUEST_TEST/Content/FMOD/Desktop/Master.bank', mode=0x02010082
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(647) -     exinfo->cbsize             = 224
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(651) -     exinfo->length             = 284288
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(655) -     exinfo->fileoffset         = 2304
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(679) -     exinfo->numsubsounds       = 1
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(683) -     exinfo->inclusionlist      = 0000026797953FF0
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(687) -     exinfo->inclusionlistnum   = 1
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(719) -     exinfo->suggestedsoundtype = 5
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(763) -     exinfo->initialseekpostype = 1
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(1397) -     Stream 0/1: name='mainthemes_09_JFL_skyelves_L1', format=5, channels=2, frequency=48000, lengthbytes=284000, lengthpcm=959634, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.717590.
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_thread.cpp(209) -     Init FMOD file thread. Affinity: 0x8000000000000003, Priority: 0xFFFF7FFC, Stack Size: 49152, Semaphore: No, Sleep Time: 10, Looping: Yes.
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_async.cpp(336) - Finished Asynchronous operation on sound 000002679794FC88
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_soundi.cpp(436) - mainthemes_09_JFL_skyelves_L1 (000002679794FC88)
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_soundi.cpp(436) -     mainthemes_09_JFL_skyelves_L1 (0000026797937C88)
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_soundi.cpp(436) -     mainthemes_09_JFL_skyelves_L1 (0000026797937AC8)
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_thread.cpp(165) - FMOD Studio update thread finished.
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_thread.cpp(165) - FMOD Studio bank load thread finished.
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_profile.cpp(138) - Profiler disconnecting all clients
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_thread.cpp(165) - FMOD Studio sample load thread finished.
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\studio_api\src\fmod_liveupdate.cpp(414) - 
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\studio_api\src\fmod_liveupdate.cpp(291) - Reset connection (reason Disconnected)
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_thread.cpp(165) - FMOD stream thread finished.
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_thread.cpp(165) - FMOD mixer thread finished.
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_profile.cpp(138) - Profiler disconnecting all clients
LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi.cpp(930) - Closed.

Packaged for windows - No node - Log:

[2021.08.10-07.58.25:982][370]LogBlueprintUserMessages: [NewMap_C_1] Trying to find event by name::: ->>>
[2021.08.10-07.58.25:982][370]LogSlate: Took 0.000242 seconds to synchronously load lazily loaded font '../../../Engine/Content/Slate/Fonts/Roboto-Regular.ttf' (155K)
[2021.08.10-07.58.28:422][397]LogBlueprintUserMessages: [NewMap_C_1] QUITING

Packaged for windows - With node - Log:

[2021.08.10-08.00.32:381][343]LogBlueprintUserMessages: [NewMap_C_2] Trying to find event by name::: ->>>
[2021.08.10-08.00.32:381][343]LogStreaming: Display: FlushAsyncLoading: 1 QueuedPackages, 0 AsyncPackages
[2021.08.10-08.00.32:382][343]LogSlate: Took 0.000242 seconds to synchronously load lazily loaded font '../../../Engine/Content/Slate/Fonts/Roboto-Regular.ttf' (155K)
[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi.cpp(3970) - filename = ../../../FMOD_QUEST_TEST/Content/FMOD/Desktop/Master.bank : mode 02010082

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi.cpp(3974) - FMOD_NONBLOCKING specified.  Putting into queue to be opened asynchronously!

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_thread.cpp(209) - Init FMOD nonblocking thread (0). Affinity: 0x8000000000000003, Priority: 0xFFFF7FFC, Stack Size: 114688, Semaphore: Yes, Sleep Time: 0, Looping: Yes.

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi.cpp(4111) - setdata soundi = 00000280D283C9C8 : node = 00000280B8A903A0

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi.cpp(4115) - add node to async list : head = 00000280B7F4D8D8.  list count = 0

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_async.cpp(191) - Starting Asynchronous operation on sound 00000280D283C9C8

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(641) -     Create name='../../../FMOD_QUEST_TEST/Content/FMOD/Desktop/Master.bank', mode=0x02010082

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(647) -     exinfo->cbsize             = 224

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(651) -     exinfo->length             = 284288

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(655) -     exinfo->fileoffset         = 2304

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(679) -     exinfo->numsubsounds       = 1

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(683) -     exinfo->inclusionlist      = 00000280B8A904B0

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(687) -     exinfo->inclusionlistnum   = 1

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(719) -     exinfo->suggestedsoundtype = 5

[2021.08.10-08.00.32:387][345]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(763) -     exinfo->initialseekpostype = 1

[2021.08.10-08.00.32:388][346]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_systemi_sound.cpp(1397) -     Stream 0/1: name='mainthemes_09_JFL_skyelves_L1', format=5, channels=2, frequency=48000, lengthbytes=284000, lengthpcm=959634, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.717590.

[2021.08.10-08.00.32:389][346]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_thread.cpp(209) -     Init FMOD file thread. Affinity: 0x8000000000000003, Priority: 0xFFFF7FFC, Stack Size: 49152, Semaphore: No, Sleep Time: 10, Looping: Yes.

[2021.08.10-08.00.32:390][347]LogFMOD: c:\jk\workspace\2.1_UE4.26_Win64\core_api\src\fmod_async.cpp(336) - Finished Asynchronous operation on sound 00000280D283C9C8

[2021.08.10-08.00.35:685][729]LogBlueprintUserMessages: [NewMap_C_2] QUITING

This is potentially linked to a known issue that should be fixed soon. Can you please try the temporary fix mentioned and add the following directories in Project Settings>Packaging>Additional Asset Directories to Cook:

  • FMOD/Banks
  • FMOD/Buses
  • FMOD/Events
  • FMOD/Reverbs
  • FMOD/Snapshots
  • FMOD/VCAs

And let me know if Find Event by Name is still failing without the extra node?

Unfortunately that made no difference. All files are packaged correctly, these addition did not add any more files to the packaged project, nor does the extra node.

The node with the event can reside in a separate BP, it does not need to reside in a level, as long as you include it in a folder added to “Additional Assets Directories to Cook”.

Could it be some kind of optimization bug that removes unused events (non “hardcoded” calls to specific events) on startup?

This definitely sounds like some kind of optimization bug, still havent figured out how to replicate it on our end though- could you please send us a reproduction?
Both the UE4 and FMOD project you metnioned here

would be perfect, you can upload them in the “Uploads” section of your fmod.com profile.

I uploaded the projects, hopefully you can locate some simple error on my side :).

The “Find event by name” call is located in the level BP.

The folder with the BP that solves the issue is not included in package settings.

Apologies for the size, included the plugin for safety sake, if for some reason something has sneak inside.

Thanks for sending that through, the issue is easily reproducible using the provided project.
I found that adding “/Game/FMOD/Events” to Project Settings>Packaging>Additional Asset Directories to Cook allowed Find Event by Name to return the correct event without requiring the additional unlinked Play Event 2D node.
I think this is still part of the aforementioned packaging issue which should be fixed in the next version. For now, either continue using the Play Event 2D hack or try adding the following to Additional Asset Directories to Cook and we’ll see if the problem is still ocurring in the next FMOD version:

  • /Game/FMOD/Banks
  • /Game/FMOD/Buses
  • /Game/FMOD/Events
  • /Game/FMOD/Reverbs
  • /Game/FMOD/Buses
  • /Game/FMOD/VCAs

Hi Jeff, sorry for the late reply.

I can confirm that this solves the problem.

When you last mentioned this solution, I missread “Additional Asset Directories to Cook” and added the extra paths to “Additional Non-Asset Directories to Copy”…

Thanks for great support and sorry the mess-up.

That’s a relief, thanks for verifying the solution!