So I've came up with an idea of my own but, I haven't explored it yet. So what I'll express it here before I implement it and then I'll come back if to tell if it's a success. So whenever a shot is fired in the game I'm working on, a bullet hole decal is left on the wall and then it deletes it self after a few seconds. Perhaps I could manipulate the decal to simulate sound to enemies nearby.
Edit: Okay, I've tired it and it works for where the bullet hits. However, I still haven't found a simple solution for the player yet.
Edit again: Okay, so I finally found a solution on my own that was beginner friendly. To simulate the sound of the bullet hitting an object, I made the bullet decals behave similar to that of a raycast grenade. However, instead of damaging enemies nearby, all it does is alter them to the player. In order to simulate the sound of the gun itself, I made sure that the enemy is constantly measuring the distance better them and the player. If the player is close enough, the enemies would shot a "direct_space_state "raycast at the player's direction every time the player's fire's a gun. If the direct_space_state raycast hits the player, the enemy would be aware of the player. I thought that this problem was more complicated than it was, because I heard that simulating hearing in 3d action games involved using navigation meshes.