Wiring problems on a big project

I am working on an Escape Room project and the room i'm currently working on has over 20 arduinos connected to a central system (Arduino Mega connected to PC).
So i pretty much ended with a few dozen cables next to each other: arduino inputs and outputs, audio cables, 220v power. For inputs and outputs i've used cat5 UTP cable and speaker wires. The result is a lot of interference and random input triggers, and i think it's mostly caused by 220v wires to the UTP cables (when i plug or unplug something in the 220v socket it often gives a random input).

I started doing some research on the subject but i'm still not sure what would be the best approach.
-Replacing the standard cat cable with shielded cat - i've only found it in large quantities and it's quite expensive. Would this guarantee to protect it from outside noise?
-Replacing the cat cable with speaker cable (black and red thick cable 2x0.5mm). The ones i have installed seem fine so far but i'm not sure. Is it a better choice than cat cable?
-Reinstalling the 220v cables so it's at a distance of at least 30cm from the input cables.
-Installing diodes at the end of input wires to prevent a reverse signal.
-Installing capacitors or resistors on the input wires.

Any help would be appreciated.

When using the CAT-5 cable, is one wire of each pair a ground wire? If not, then that is part of the problem.

Paul

It isn't, i used a single ground per arduino, not per input. I'll definitely try this.

Are you using only the internal pullups? A stronger pullup like 4k7 or 1k will overpower a lot of interference.

Always try to route power wires in separate conduits or separate shielded bundles. Also consider any 12v devices may have significant inductive spikes that radiate interference.

MorganS:
Are you using only the internal pullups? A stronger pullup like 4k7 or 1k will overpower a lot of interference.

Always try to route power wires in separate conduits or separate shielded bundles. Also consider any 12v devices may have significant inductive spikes that radiate interference.

Yes, only internal pullups.
How should i shield the bundles?

Why not mount your Arduinos close to their respective I/O circuits then use a serial connection between the boards to carry the data between them - simplifying and reducing your wiring.

petronel:
How should i shield the bundles?

If you buy 4-core shielded cable then use all cores for either power or data, not a mix of both if possible.

Once you've created the bundles, it's too late. While there are some shielding products you can put over a wire bundle, it's not cost-effective.

hammy:
Why not mount your Arduinos close to their respective I/O circuits then use a serial connection between the boards to carry the data between them - simplifying and reducing your wiring.

The configuration is like this:
PC <--serial--> Arduino Mega <--I/O--> Arduino Uno's <--I/O--> sensors/buttons/audio outputs/lights/motors
Mounting the Uno's close to the Mega means i'll have the same or even more wires to their respective I/O which is probably worse.
And i don't know about connecting 20 Uno's via serial to a Mega that is already controlled via serial. Could that work?

What @hammy was saying is to mount the UNOs close to the sensors/buttons/etc. Next you can use serial communication (RS232, RS422, RS485 depending on needs, not TTL levels) to communicate from / to Mega.