Problem[SOLVED] With Scene Variable using a structure and array

edit: I got it, its not a bug. The condition itself seems to create an index entry to check if there is the searched instance UID. So if at index 4 is no entry, the condition creates a fourth index with the value 0. Maybe that’s something unwanted and could be changed??

Im sure ive encountered a bug.
What im doing:

I want to check if an objects instances UID equals a value inside a scene variable array at a specific index, if yes, add x number to the index and check if another object instances UID matches the added index number.

It looks like this:

Variable(ArrayIndexADDER) = 0

Repeat for each Object X Instance:
Instance1 UID = Variable(Name[StructureName][ArrayIndexADDER]
if true: Variable(ArrayIndexADDER) add 4 and repeat the loop.

The problem im facing now is, the next ArrayIndex is at 4, now if I do ArrayIndexADDER+4 it should be true BUT somehow it creates at that position an array with the value 0, now the UID does not match the value at index 4 why its false and the loop ends. Now I have 1 additional array (16 instead of 15 because it adds this array with the value 0)

weirdly If I add 3, no array gets added, if I add 5 the game crashes. It happens exactly at that point, I disabled every event after and before.

This method works if I don’t have an structure but just an array like Variable(Name[ArrayIndex]).

If 4 is added;

how it normally looks like:

The info you edited in at the top is by design.

Any condition or action that explicitly checks a variable, will create the variable if it doesn’t currently exist. If I remember right, this is needed to avoid compilation issues and crash if it tries to compare a null.

Expressions and the “child exists” conditions are the exception to this.