The weird thing is it worked before so I don't know why it stopped all of a sudden.
This is my entire script in the Tool of an enemy NPC. It will print out their health, but for some reason, will never run HealthChanged. I have no idea why.
local Character = script.Parent.Parent
local Humanoid = Character:WaitForChild('Enemy')
print("HUMANOID HEALTH: ", Humanoid.Health)
Humanoid.HealthChanged:Connect(function(health)
print("HEALTH CHANGED")
end)

5 comments
It works. It prinks the health out as 50. The HealthChanged is what's causing the issue. I also removed that print statement and HealthChange simply doesn't run.
question, is the health changing?
Yeah, I attack the enemy. This was all set up to make it so the enemy would be stunned and it worked, but all of sudden it's stopped working. I check the enemies health in the game and I can see it lowering and I even kill the enemy, but the HealthChanged never runs.
Ok I kind of figured it out. One of my Tools' toolScript was a LocalScript and I'm guessing that's what was causing an error. I used another weapon of mine with a regular script for ToolScript and it worked.
It could be that you are changing the health in a localscript