# Deprecations

Dolor duis in do adipiscing reprehenderit minim excepteur occaecat dolore sint. Voluptate exercitation lorem ipsum nostrud ullamco dolor et tempor ex labore commodo in lorem. Aliqua nisi aliquip ullamco dolor sint sed aute esse aliquip. Occaecat aute reprehenderit consectetur aliqua minim excepteur ut sit ipsum. Excepteur labore consectetur exercitation ullamco reprehenderit et in. Nisi exercitation nostrud enim duis irure nulla voluptate consectetur exercitation excepteur.

## What Changed

| 1.x | 2.0 | Notes |
| --- | --- | --- |
| UDeltaCraftHubManager | UDeltaCraftHubSubsystem | Now a game instance subsystem |
| FDeltaCraftHubOptions | FDeltaCraftHubConfig | Fields renamed to match the settings |
| OnDeltaCraftHubReady | OnInitialized | Fires once per world |

## Before

```cpp
// Unit test example
IMPLEMENT_SIMPLE_AUTOMATION_TEST(
    FDeltaCraft HubBasicTest,
    "DeltaCraft Hub.Core.BasicFunctionality",
    EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::ProductFilter
)

bool FDeltaCraft HubBasicTest::RunTest(const FString& Parameters)
{
    UDeltaCraft HubSubsystem* Subsystem = NewObject<UDeltaCraft HubSubsystem>();
    TestNotNull(TEXT("Subsystem should be created"), Subsystem);

    Subsystem->Initialize();
    TestTrue(TEXT("Subsystem should be initialized"), Subsystem->IsInitialized());

    FMyQueryParams Params;
    Params.Radius = 500.0f;
    TestTrue(TEXT("Query params should be valid"), Params.IsValid());

    return true;
}
```

## After

```cpp
// Declare delegates for event-driven communication
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateChanged, EMyState, NewState);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnProgressUpdated, float, Progress, FString, Message);

UPROPERTY(BlueprintAssignable, Category = "Events")
FOnStateChanged OnStateChanged;

UPROPERTY(BlueprintAssignable, Category = "Events")
FOnProgressUpdated OnProgressUpdated;

// Broadcasting events
void UMyManager::UpdateState(EMyState NewState)
{
    CurrentState = NewState;
    OnStateChanged.Broadcast(NewState);
    OnProgressUpdated.Broadcast(GetProgress(), GetStatusMessage());
}
```

## Steps

1. Ut lorem aliqua dolor cillum et aliquip nostrud fugiat consequat nisi laboris.
2. Ipsum enim veniam ullamco ipsum duis adipiscing sit aliqua aute esse do cillum.
3. Quis sit minim reprehenderit ad irure consectetur pariatur labore cillum irure aute reprehenderit dolor.
4. Excepteur do et quis minim magna et reprehenderit ex aute occaecat veniam quis.
5. Duis consequat consequat excepteur sed dolore ex sit amet exercitation aliqua.

> **Warning:** Back up your project before you migrate it to 2.0.