Why does ParamRef serialize the name and not the ID?

So ParamRef has this structure

    public class ParamRef
        public string Name;
        public float Value;
        public FMOD.Studio.PARAMETER_ID ID;

And PARAMETER_ID has this

    public struct PARAMETER_ID
        public uint data1;
        public uint data2;

You can note that PARAMETER_ID is not serializable nor serialized. In fact, in StudioEventEmitter, the id is mostly ignored, or used as a cache.

But why? Why not just serialize the PARAMETER_ID itself ? It fits in a long, it’s quick to store and retrieve, it’s faster when actually running the game.

Even EventRefeference discards most of its info on build (even the useful method IsNull, which does not technically depend on the name of the event)

I’ve been reduced to implementing my own ParameterId struct out of self-destructive perfectionism.

Thanks for the feedback. We may have some improvements around this in a future release.