Class UnitySystemConfigurationSnapshot
Unity-specific implementation of system configuration snapshot.
Captures comprehensive system information including culture, hardware, display settings, and Unity-specific capabilities.
Provides immutable snapshot data for system configuration analysis and game settings adaptation.
Implements
Inherited Members
Namespace: Serenity.SystemConfiguration.Infrastructure.Services
Assembly: Serenity.UnitySystemConfiguration.Infrastructure.dll
Syntax
public class UnitySystemConfigurationSnapshot : ISystemConfigurationSnapshot
Constructors
UnitySystemConfigurationSnapshot(UnitySystemConfigurationSettings)
Initializes a new system configuration snapshot with comprehensive system information.
Collects culture, hardware, display, and Unity-specific capability data based on the provided settings.
Declaration
public UnitySystemConfigurationSnapshot(UnitySystemConfigurationSettings settings = null)
Parameters
| Type | Name | Description |
|---|---|---|
| UnitySystemConfigurationSettings | settings | Optional settings to control which information is collected |
Properties
CollectedAtUtc
Gets the UTC timestamp when this snapshot was collected.
Declaration
public DateTime CollectedAtUtc { get; }
Property Value
| Type | Description |
|---|---|
| DateTime | UTC timestamp of snapshot collection |
CultureName
Gets the current culture name (e.g., "en-US", "es-ES").
Declaration
public string CultureName { get; }
Property Value
| Type | Description |
|---|---|
| string | Current culture name |
DeviceModel
Gets the device model information.
Declaration
public string DeviceModel { get; }
Property Value
| Type | Description |
|---|---|
| string | Device model information |
DeviceName
Gets the device name (potentially redacted for privacy).
Declaration
public string DeviceName { get; }
Property Value
| Type | Description |
|---|---|
| string | Device name or "N/A" if redacted |
Displays
Gets information about all available displays.
Declaration
public DisplayInfo[] Displays { get; }
Property Value
| Type | Description |
|---|---|
| DisplayInfo[] | Array of display information objects |
GpuMemoryMB
Gets the GPU memory size in megabytes.
Declaration
public int GpuMemoryMB { get; }
Property Value
| Type | Description |
|---|---|
| int | GPU memory size in megabytes |
GpuName
Gets the graphics card name.
Declaration
public string GpuName { get; }
Property Value
| Type | Description |
|---|---|
| string | Graphics card name |
GraphicsApi
Gets the current graphics API in use (D3D11, D3D12, Vulkan, Metal, etc.).
Declaration
public string GraphicsApi { get; }
Property Value
| Type | Description |
|---|---|
| string | Current graphics API in use |
HdrpRtFlag
Gets whether the HDRP asset has DirectX Raytracing (DXR) support enabled.
Declaration
public bool HdrpRtFlag { get; }
Property Value
| Type | Description |
|---|---|
| bool | True if HDRP DXR support is enabled; otherwise, false. |
IsHdrpActive
Gets whether High Definition Render Pipeline (HDRP) is currently active.
Declaration
public bool IsHdrpActive { get; }
Property Value
| Type | Description |
|---|---|
| bool | True if HDRP is active; otherwise, false. |
Language
Gets the current system language code (e.g., "en", "es", "fr").
Declaration
public string Language { get; }
Property Value
| Type | Description |
|---|---|
| string | System language code |
OperatingSystem
Gets the operating system name and version.
Declaration
public string OperatingSystem { get; }
Property Value
| Type | Description |
|---|---|
| string | Operating system name and version |
PrimaryDisplayHeight
Gets the primary display height in pixels.
Declaration
public int PrimaryDisplayHeight { get; }
Property Value
| Type | Description |
|---|---|
| int | Primary display height in pixels |
PrimaryDisplayRefreshRate
Gets the primary display refresh rate in Hz.
Declaration
public int PrimaryDisplayRefreshRate { get; }
Property Value
| Type | Description |
|---|---|
| int | Primary display refresh rate in Hz |
PrimaryDisplayWidth
Gets the primary display width in pixels.
Declaration
public int PrimaryDisplayWidth { get; }
Property Value
| Type | Description |
|---|---|
| int | Primary display width in pixels |
RegionDisplayName
Gets the localized display name of the current region.
Declaration
public string RegionDisplayName { get; }
Property Value
| Type | Description |
|---|---|
| string | Localized display name of the current region |
SupportsComputeShaders
Gets whether the system supports compute shaders.
Declaration
public bool SupportsComputeShaders { get; }
Property Value
| Type | Description |
|---|---|
| bool | True if compute shaders are supported; otherwise, false. |
SupportsRayTracing
Gets whether the system supports ray tracing capabilities.
Declaration
public bool SupportsRayTracing { get; }
Property Value
| Type | Description |
|---|---|
| bool | True if ray tracing is supported; otherwise, false. |
SystemMemoryMB
Gets the system RAM size in megabytes.
Declaration
public int SystemMemoryMB { get; }
Property Value
| Type | Description |
|---|---|
| int | System RAM size in megabytes |
TimeZoneId
Gets the system time zone identifier.
Declaration
public string TimeZoneId { get; }
Property Value
| Type | Description |
|---|---|
| string | System time zone ID |
UnityRtSupportFlag
Gets the direct value from Unity's SystemInfo.supportsRayTracing flag.
Declaration
public bool UnityRtSupportFlag { get; }
Property Value
| Type | Description |
|---|---|
| bool | True if Unity reports ray tracing support; otherwise, false. |