# UPrimeDialogForgeLocalPlayerSubsystem

`UPrimeDialogForgeLocalPlayerSubsystem` belongs to the PrimeDialog Forge runtime module.

Elit adipiscing do esse minim commodo ad exercitation adipiscing labore ea incididunt. In sit commodo et eiusmod incididunt reprehenderit duis aliqua sed. Adipiscing reprehenderit adipiscing ut incididunt aute fugiat ad nisi excepteur. Pariatur in ea tempor sit commodo cillum dolore sit esse.

## Declaration

```cpp
// Load configuration from data asset
UMyConfigAsset* Config = LoadObject<UMyConfigAsset>(
    nullptr,
    TEXT("/Game/Config/DefaultPluginConfig.DefaultPluginConfig")
);

if (Config)
{
    Settings.MaxPoolSize = Config->MaxPoolSize;
    Settings.TickRate = Config->TickRate;
    Settings.bEnableDebugDraw = Config->bEnableDebugDraw;
    Settings.LogVerbosity = Config->LogVerbosity;

    UE_LOG(LogPrimeDialog Forge, Log, TEXT("Configuration loaded: PoolSize=%d, TickRate=%.2f"),
        Settings.MaxPoolSize, Settings.TickRate);
}
```

## Members

| Platform | Status | Notes |
| --- | --- | --- |
| Windows | Fully Supported | Primary development platform |
| Linux | Fully Supported | Tested on Ubuntu 22.04+ |
| macOS | Supported | Requires Xcode 15+ |
| Android | Experimental | Limited debug tools |
| iOS | Experimental | Requires additional setup |

## Example

```cpp
#include "PrimeDialog Forge.h"
#include "Engine/World.h"

void AMyActor::BeginPlay()
{
    Super::BeginPlay();

    UPrimeDialog ForgeSubsystem* Subsystem = GetWorld()->GetSubsystem<UPrimeDialog ForgeSubsystem>();
    if (Subsystem)
    {
        Subsystem->Initialize();
        UE_LOG(LogTemp, Log, TEXT("Plugin subsystem initialized successfully"));
    }
}
```

> **Note:** This feature is available starting from version 2.0. Older versions use a different API.