If you want your containers to be able to resolve other containers using their names, you have to use custom networks. It's easy, provides isolation and just works.
AFAIK, Unraid doesn't give you the option to create custom docker networks but it's easy to do from the command-line:
docker network create <your_net_name>
After you create a network, assign all the containers you want to communicate with each other using their names to this network. For example, you could put sonarr, radarr, sabnzbd in a network called "media". Those containers will then be able to communicate with the rest that are on the same network using just the container's name. If a container needs to contact another container that is on a different network (e.g. the default "bridge" network), it will have to use the server's IP.
If you try this and it works and you 're happy, you need to configure Unraid to remember custom docker networks across reboots. This is a yes/no option in the docker settings page (you need to stop the docker engine first and switch to advanced view to see the option IIRC - sorry not in front of Unraid UI atm).
HTH