> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XSystemDeviceType

> XSystemDeviceType

# XSystemDeviceType

Indicates the system device type returned by calling [XSystemGetDeviceType](/reference/system/xsystem/functions/xsystemgetdevicetype).

<a id="syntaxSection" />

## Syntax

```cpp theme={null}
enum class XSystemDeviceType  : uint32_t
{
    Unknown              = 0x00,
    Pc                   = 0x01,
    XboxOne              = 0x02,
    XboxOneS             = 0x03,
    XboxOneX             = 0x04,
    XboxOneXDevkit       = 0x05,
    XboxScarlettLockhart = 0x06,
    XboxScarlettAnaconda = 0x07,
    XboxScarlettDevkit   = 0x08
}
```

<a id="constantsSection" />

## Constants

| Constant             | Description                                                                                                        |
| -------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Unknown              | Device type is unknown. This value is returned by `XSystemGetDeviceType` when the device type can't be determined. |
| Pc                   | The device is a PC.                                                                                                |
| XboxOne              | The device is an XBOX One.                                                                                         |
| XboxOneS             | The device is an XBOX One S.                                                                                       |
| XboxOneX             | The device is an XBOX One X.                                                                                       |
| XboxOneXDevkit       | The device is an XBOX One X Dev Kit.                                                                               |
| XboxScarlettLockhart | The device is an XBOX Series S.                                                                                    |
| XboxScarlettAnaconda | The device is an XBOX Series X.                                                                                    |
| XboxScarlettDevkit   | The device is an XBOX Series X Dev Kit.                                                                            |

<a id="remarksSection" />

## Remarks

The `XSystemGetDeviceType` function has no explicit error state. It returns a value of `XSystemDeviceType::Unknown` if it is unable to determine the system device type.

You can call `XSystemGetDeviceType` before calling [XGameRuntimeInitialize](/reference/system/xgameruntimeinit/functions/xgameruntimeinitialize), during early title initialization.

The following code example gets the type of system device currently in use. If it's running on a dev kit, then it runs custom code to enable developer features within the game.

```cpp theme={null}
const XSystemDeviceType deviceType = XSystemGetDeviceType();

const bool deviceIsDevkit = 
    deviceType == XSystemDeviceType::XboxOneXDevkit || 
    deviceType == XSystemDeviceType::XboxScarlettDevkit;

if (deviceIsDevkit)
{
    EnableGameSpecificDevkitFeatures();
}
```

<a id="requirementsSection" />

## Requirements

**Header:** XSystem.h

**Supported platforms:** Windows, XBOX One family consoles and XBOX Series consoles

<a id="seealsoSection" />

## See also

[XSystem](/reference/system/xsystem/xsystem_members)\
[XSystemGetDeviceType](/reference/system/xsystem/functions/xsystemgetdevicetype)\
[XGameRuntimeInitialize](/reference/system/xgameruntimeinit/functions/xgameruntimeinitialize)


## Related topics

- [XSystem](/reference/system/xsystem/xsystem_members.md)
- [Intelligent Delivery: device specifiers](/build/core-features/common/packaging/intelligentdelivery-device.md)
- [Understanding How PlayFab Party chat works](/services/playfab/community/voice-communications/concepts-chat.md)
- [XSystemGetAppSpecificDeviceId](/reference/system/xsystem/functions/xsystemgetappspecificdeviceid.md)
- [XSystemAnalyticsInfo](/reference/system/xsystem/structs/xsystemanalyticsinfo.md)
