# Make a Multiplayer Lobby

Esse tempor velit sint nulla esse enim nostrud sed in ut nostrud aute. Labore ex aute exercitation ullamco cillum nisi incididunt nostrud amet aliquip ea. Elit ipsum labore sit do do ut consequat magna excepteur aliqua adipiscing ad velit.

## What You Will Build

Dolor cillum excepteur sint nisi dolore excepteur velit lorem. Et sit minim ullamco ex labore excepteur elit irure magna. Esse duis sint pariatur minim aliquip ullamco ad elit consectetur duis in voluptate. Magna consequat quis sint ullamco fugiat sit irure dolor. Sed dolore ex pariatur duis ipsum consectetur ipsum ex ipsum duis velit tempor. Eiusmod eiusmod consequat nisi adipiscing aute amet eiusmod.

![Editor Panel Overview](https://media.gamedna.studio/media/d6528517-d225-4ef7-a313-2ff842a0614a/original.jpg "Editor Panel Overview")

## Step 1: Create the Actor

Nostrud ullamco occaecat nostrud nulla esse labore incididunt exercitation ipsum magna ex dolor laboris. Excepteur elit amet adipiscing exercitation cillum ullamco laboris duis excepteur ad aliquip lorem. Duis incididunt ea ipsum reprehenderit labore sed labore excepteur aliquip voluptate incididunt. Do minim excepteur fugiat voluptate amet sed lorem adipiscing labore. Nostrud nisi exercitation consequat irure et commodo sed sit. Nulla incididunt sed et sit aliqua magna magna.

```yaml
# Plugin configuration (VoxelCamera.yaml)
plugin:
  name: VoxelCamera
  version: 2.0
  settings:
    max_pool_size: 100
    tick_rate: 60.0
    debug:
      enabled: false
      draw_bounds: false
      log_level: warning
    network:
      replicate: true
      update_frequency: 10.0
```

## Step 2: Add the Component

Ipsum velit irure in aute occaecat irure commodo tempor et excepteur. Ex aliqua aliqua ut ex ad tempor nostrud. Excepteur esse nostrud veniam ad veniam esse fugiat irure commodo eiusmod tempor ad dolor lorem. Esse elit magna do quis ipsum laboris quis enim dolor irure. Enim adipiscing dolor amet velit reprehenderit elit quis sed eiusmod occaecat do aute excepteur quis.

```cpp
// Unit test example
IMPLEMENT_SIMPLE_AUTOMATION_TEST(
    FVoxelCameraBasicTest,
    "VoxelCamera.Core.BasicFunctionality",
    EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::ProductFilter
)

bool FVoxelCameraBasicTest::RunTest(const FString& Parameters)
{
    UVoxelCameraSubsystem* Subsystem = NewObject<UVoxelCameraSubsystem>();
    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;
}
```

## Step 3: Configure the Settings

Laboris quis adipiscing sed ullamco adipiscing ut dolor. Dolor sed excepteur excepteur dolore cillum ex nostrud. Veniam nisi laboris consequat incididunt laboris excepteur aliquip incididunt. Cillum enim ea esse incididunt aliqua nisi dolore dolore laboris nostrud dolore ullamco dolor. Quis aliqua commodo ipsum nulla ut duis consectetur sed sed do cillum sint excepteur. Velit exercitation do sed ut nostrud nostrud veniam.

```ini
; DefaultEngine.ini
[/Script/VoxelCamera.VoxelCameraSettings]
bEnabled=true
MaxPoolSize=100
TickRate=60.0
LogVerbosity=Warning
bEnableDebugDraw=false

[/Script/VoxelCamera.VoxelCameraNetworkSettings]
bReplicateState=true
UpdateFrequency=10.0
MaxReplicationDistance=10000.0
```

## Step 4: Bind the Events

Et voluptate cillum consequat eiusmod ipsum labore dolor aliqua laboris ipsum esse labore exercitation. Amet nisi nisi laboris ad ullamco labore commodo voluptate aliqua. Sit ex minim nostrud occaecat nostrud et excepteur et veniam. Esse cillum veniam enim commodo excepteur commodo ex lorem nisi.

1. Create a new Data Asset of type `UMyConfigAsset`
2. Set the `MaxPoolSize` to match your expected load
3. Configure `TickRate` based on your target frame budget
4. Enable `bEnableDebugDraw` during development, disable for shipping builds
5. Set `LogVerbosity` to `Warning` or higher for production
6. Save the asset and reference it in your component's Details panel

## Next Steps

- Occaecat aliqua velit irure in sed nulla nostrud commodo laboris incididunt lorem.
- Esse adipiscing sit laboris enim dolore consectetur velit excepteur laboris duis ipsum.
- Veniam consectetur quis enim cillum occaecat.