Component variable detected as valid inside of function but not valid inside of interface event

Hello, so im running an Interface Event in my Actor Blueprint, that detects if a Component Variable “ChosenMod” is valid, and calls either RollNewMod if it is, and GiveRandomMod if it isnt.

The first time i call the Interface Event, it runs as intended and calls GiveRandomMod, and inside of GiveRandomMod i set ChosenMod equal to the Mod that was added.

Then the second time i call the Interface Event, for some reason, it still calls GiveRandomMod, but inside of GiveRandomMod i check if ChosenMod is valid, and if it is i print a Error.

Every single time after the first time i use the Interface Event, Chosen Mod is detected as NotValid inside of the Interface Event, but when it calls the GiveRandomMod function it detects it as it should (Being Valid).

Is there any reason that the Variable would be valid inside of the function, but not valid inside of the Interface Event that calls the function?

Note: When i call GiveRandomMod, ChosenMod’s Validity is the very first check and nothing is being set to it.

Hello ,

I have a few questions for you that will help narrow down what issue it is that you are experiencing.

Quick questions:

  1. Can you reproduce this issue in a clean project?
  2. If so, could you provide a detailed set of steps to reproduce this issue on our end?
  3. If you use the “Refresh all nodes” feature for the blueprints does this issue still occur (open blueprint > File > Refresh all nodes)
  4. Could try adding a delay before the check to make sure that the events are happening in the correct order?

Soooooo, turns out i wasnt actually calling my interface function but the GiveRandomMod function itself >.<

User mistake, carry on, nothing to see here…