Best way to make an interactable NPC?

So what’s the best way to make an NPC on the InitPostEntity hook that will open a usermessage if a player presses their use key on it. I know I could go through ply:KeyPressed and check to see if he’s looking at the npc and blah blah blah but there’s gotta be a more efficient way. Any ideas?

**[ENT.Use

http://wiki.garrysmod.com/favicon.ico](wiki.garrysmod.com/?title=ENT.Use)**