Multi-Modal Buttons
When implementing buttons, let users use as many different input mechanisms as you can. If they try something that seems like it should work - like reaching out directly with a finger - then it should work.
Buttons borrow the design language of real-life buttons, which we can reach out and poke. Nothing feels worse than trying to direclty interact with a UI element modeled after a directly interactable thing, only to be told you have to go through an indirect interface instead. A button should work like a button, not like a floating web page.
Let Users Press Buttons!
In ‘Little Cities’ there are a few menu’s that operate with a laser pointer, while most of the game uses small buttons (‘bubbles’) near your hands. The game let’s you reach out and press the laser-pointer-menu directly with your hands. This is good. You should do this.
One approach to buttons is to simulate them outright. You can press them, you can hold a stick and press them with a stick, slash them with a sword, and anything else the player can imagine. This works for physics-based games like Boneworks.