SUNROCK: SteamVR Knuckles Support for UE4

not sure if there’s one in BP, but I detect Knuckles from C++ using this (admittedly rather clunky) way:



...
if (SteamVRSystem && trackedDeviceClass == ETrackedDeviceClass::TrackedDeviceClass_Controller)
        {
            uint32 StringBytes = SteamVRSystem->GetStringTrackedDeviceProperty(id, ETrackedDeviceProperty::Prop_ModelNumber_String, buf, sizeof(buf));
            FString stringCache = *FString(UTF8_TO_TCHAR(buf));
            //UE_LOG(LogKnucklesLivelinkSource, Display, TEXT("[KNUCKLES LIVELINK] Found the following device: %i] %s"), id, *stringCache);

            // Check if Knuckles is present and active
            if (stringCache.Contains(FString(TEXT("Knuckles"))) && 
                SteamVRSystem->GetControllerRoleForTrackedDeviceIndex(id) == ETrackedControllerRole::TrackedControllerRole_LeftHand
                )
            {
                KnucklesControllerIdLeft = id;

                if (SteamVRSystem->IsTrackedDeviceConnected(KnucklesControllerIdLeft))
                {
                    bLeftKnucklesPresent = true;
                    //UE_LOG(LogKnucklesLivelinkSource, Warning, TEXT("[KNUCKLES LIVELINK] Knuckles Left found and is ACTIVE"));
                }
            }
...


Hope that helps!