# Updating C++ Code

Reprehenderit sed voluptate exercitation dolor nisi eiusmod irure veniam commodo nostrud aliquip ex tempor voluptate. Nostrud ad nulla ipsum eiusmod reprehenderit incididunt sit. Sint aliqua et in nostrud ipsum aute amet ea incididunt exercitation sit.

## What Changed

| 1.x | 2.0 | Notes |
| --- | --- | --- |
| UCorePhysicsEdgeManager | UCorePhysicsEdgeSubsystem | Now a game instance subsystem |
| FCorePhysicsEdgeOptions | FCorePhysicsEdgeConfig | Fields renamed to match the settings |
| OnCorePhysicsEdgeReady | OnInitialized | Fires once per world |

## Before

```
Blueprint Setup:
1. Open your Actor Blueprint
2. Add Component > search "My Plugin Component"
3. In the Details panel, set:
   - Update Interval: 0.1
   - Auto Activate: true
   - Max Instances: 50
4. Connect the OnStateChanged event to your handler
5. Compile and Save the Blueprint
```

## After

```cpp
UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
class CORE_PHYSICS_EDGE_API UMyComponent : public UActorComponent
{
    GENERATED_BODY()

public:
    UMyComponent();

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Settings")
    float UpdateInterval = 0.1f;

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Settings")
    bool bAutoActivate = true;

    UFUNCTION(BlueprintCallable, Category = "CorePhysicsEdge")
    void SetConfiguration(const FMyConfig& Config);

protected:
    virtual void BeginPlay() override;
    virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;

private:
    FMyConfig CurrentConfig;
    float TimeSinceLastUpdate = 0.0f;
};
```

## Steps

1. Nisi pariatur voluptate dolore voluptate nulla minim amet minim dolor tempor esse irure.
2. Amet et ullamco enim quis tempor aliqua excepteur ullamco in velit commodo.
3. Consequat consectetur dolor labore adipiscing esse dolor labore ea fugiat adipiscing commodo enim.

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