Converting Event to Referenced Event not copying instrument content, "Issues Detected"

Hiya gang,
There’s workarounds (i.e., don’t use nested events), though ideally I’d like to be able to convert a bunch of Events into Referenced Events.
However, seems the content in each Instrument is lost when making this change.
I could do it manually after converting, but in all honesty it’s a nervy thing to commit.
I’m on 2.02.24 (also tried the same on version up through to 2.02.27), Windows.

Process:

  • Event A, has a labelled parameter sheet for subtype
  • Event B, is a separate event with content in it (a multi, a scatter, both containing other referenced events, and another explicitly referenced event)
  • I move Event B onto one of the labels on Event A parameter sheet, and right-click to “Convert Referenced Event to Nested Event”
  • Event B is converted to Nested Event, however the referenced material in it is no longer there; the multi and scatter are empty)
  • There’s an “Issues Detected” tag on this new Nested Event, and repairing doesn’t seem to resolve the missing material in instruments.

I can copy this all across manually and Studio seems totally content with it.
Tested banks and is equally happy.
Tested whether material in instruments is retained when converting Nested back to Referenced, and is similarly happy.

Is this behaviour something expected?
Current solution is to simply not use Nested Events at all, OR manually copy the content across to each new Nested Event.

This definitely sounds like a bug. Converting a referenced event to a nested event isn’t supposed to change its content.

Unfortunately, I haven’t been able to reproduce this issue; when I test here, the content of the nested event is the same as that of the referenced event. I must therefore be doing something differently to you.

Does the issue occur if you create a new project from scratch?

Ar you able to upload a version of a project that exhibits this issue to us, so that we can investigate it first-hand?

Aha! Thanks to the project you sent in, I was able to reproduce this. It turns out that, if you convert a referenced event to a nested event, and that referenced event contains event instruments, and those event instruments pointed to events that aren’t nested events, those event instruments vanish. Each vanished event instrument leaves a dangling relationship in our your project, which FMOD Studio rightly detects as invalid. That’s what’s happening here: The referenced event you’re converting to a nested event contains a whole bunch of event instruments that reference other events, and so all of those instruments were being stripped out.

Other instrument types (including event instruments that reference nested event) are totally unaffected and continue working normally, which is why I had trouble reproducing the issue myself - and why your post-conversion event still contains all the non-event instruments that it contained beforehand, even though the event instruments that previously populated its audio tracks, multi instrument playlists, and scatterer instrument playlists are all gone.

Needless to say, this is definitely a bug. I’ve added it to our bug tracker, so it should be fixed in an upcoming version of FMOD Studio.

In the mean time, there’s potentially a way you could work around this: Because the issue only affects event instruments that reference non-nested events, if you convert all the event instruments in the referenced event to nested events first, you’ll be able to convert the event instrument in the parent event without problems. The disadvantage of this method is that it requires you to convert all those referenced events into nested events, which may not be appropriate for all projects.

Of course, you could also choose not to use the “convert referenced event to nested event” feature. It’ll mean your project is more cluttered, but it won’t adversely affect your game: The referenced events will still work and will be loaded and played in the same way that nested events would be, so your game’s performance and behavior will be exactly the same.