honestly im intrigued how u done the AI, are they basing it roughly of the players position and then go to a rough estimation? have you tried experimenting with different enemy types? like slow large groups or ones that can breakdown barrier? or "stalkers" there intresting to mess around with lol, I remember an old script I did once where an enemy would get a rough estimate of your position then would hide behind premade points behind walls based on if the player position was beyond where they could see the hiding spot and whichever is sorta closest to player, they would hide and wait till they see the player, pretty funni mechanic.
also im enjoying the game so far prob would donate, reminds me to code more in c# as i enjoy doing that and making my own stuff lol
(edit) ALSO MY ADVISE, make the AI remember the player when they leave there sight, I DO NOT KNOW if you increased the timer when they leave there vision on hard mode but on easy and normal they forget your existence way to easy, I think in a way i would do it is have her continue sprinting in a direction that she last seen, instead of suddenly stopping, I would do it where she sets a path based on where she is running and to set a new path infront, only problem they would run into a brickwall which would look more silly lol