As far as I know, you can use a variable to call an object only if the object is part of a group with this event. But you can’t put a variable in the section where you choose the group to get the object from.

Or for other events, let’s get a random action, such as scaling.
If I put my variable SelectedPNG, it simply won’t work cause the editor wants me to select an actual object or a group, but I don’t have the object yet, as the player will select it while playing the game.

I know that the above can be achieved with groups and that I can put objects in different groups, and I do use booleans to identify the powers so that I don’t have to edit it for each object.
My problem starts when I have groups that are doing the exact same thing.
This post was mostly made to find a way to handle many objects. Heck I may not even need it in the end. Before your suggestion to include all of the creatures in 1 animation, I was thinking of doing this.
Have 200-500 objects in group PNGS (Keep in mind that the objects already have their own forms/animations etc). The editor may get laggy, I don’t know yet, so to be safe, I don’t want it to read more than 500 objects.
So I create group PNGS2 with 500 more characters, then PNGS3 with 500 more, etc etc
So the player plays the game, they make a team with the creatures.
They select 1 creature that is part of the group PNGS and 2 that are from the group PNGS5
If I try to calculate their total damage, I will have to create the following event for each group that I have.

But if I had the option to put a variable in the place of the group name, I could simply change the variable dynamically without having to create the same event again and again just to select a different group.