I am trying to build a simple level in PSVR which makes use of two Playstation Move MotionControllers. In order to do so I need to turn off tracking of the DS4 tracking.
Due to limitations of the platform, only 2 MotionControllers can be active at any time.
To work that around, I am looking for a mechanism to enable and disable them at runtime. Currently, if 3 controllers are registered on the PS4 (no matter they’re on or off), only DS4 and the Left PSMove work. The right PSMove always fail to register with the following error, even if the DS4 is powered off:
[2017.05.31-16.21.46:357][ 2]LogPS4Tracker:Warning: Trying to create a tracker for 2 (HMD,Pad,Move,Gun), but we already have 2 controller trackers and the maximum is 2. Failing.
[2017.05.31-16.21.46:358][ 2]LogPS4Tracker:Warning: Failed to activate tracker 3 when creating it. Disabling tracking for this device.
Behaviour does not change if:
- I physically turn off any of the controllers
- I instantiate fewer UMotionControllerComponents (1, 2, 3 makes no difference)
I would like to do this in C++, but I have also tried with the default VR Template to no avail.
PS4 SDK version: 4.50x.
UE4 version: 4.16.1 built from source
I had a look at the source code and so far not seen any mechanism to prevent a device from registering if it is found on the system, independent from the MotionController.
Am I doing anything wrong?