1. A computer implemented method for determining a position of a controller in a three-dimensional space to interface with an application, comprising: (a) calibrating a computer program to identify a group of recognized fixed points from a plurality of fixed points within the three-dimensional space using a depth camera integrated with the controller; (b) activating use of the controller and depth camera during interface with the application, during use, (i) capturing image and depth data within the three-dimensional space using the depth camera of the controller; (ii) analyzing the image and depth data to find one or more of the group of recognized fixed points; (iii) repeating (i) and (ii); (iv) determining changes of position of the controller based on a change in position of the found ones of the group of recognized fixed points; and (v) triggering an input command based on the determined change in position of the controller, wherein the input command causes an action by the application.