Returns a controller for this hierarchy. Note: If the controller is not available this will return nullptr even if the bCreateIfNeeded flag is set to true. You can check the controller's availability withIsControllerAvailable().