Keep it working · 7 min read

DPB1 and DPB2: keep the shared idea, respect the contract

The important framework, reference and navigation differences in one place.

After this lesson

You can choose the correct build target and adapt a shared idea without assuming binary or API compatibility.

Download DPB2 source kit ↓ 8 complete projects · source only · .NET 8 for Windows (net8.0-windows)

Different runtime targets#

  • DPB1 starter: .NET Framework 4.8 (net48), x64, WPF; reference the managed DreamPoeBot.exe.
  • DPB2 starter: .NET 8 for Windows (net8.0-windows), x64, WPF; reference DreamPoeBot.dll, not the native launcher executable.
  • Build a separate DLL per product, even when the source looks the same.
  • Use client dependencies from the same installation. The kit references them without copying them to the extension output.
  • These instructions describe the public client versions used for the compile checks, not experimental ports or unrelated projects.
Check your result

The currently selected kit is DPB2, using .NET 8 for Windows (net8.0-windows) and DreamPoeBot.dll.

The mover is the clearest API difference#

DPB1 IPlayerMover.CurrentCommand is a PathfindingCommand. Construct it from start and destination, then call ExilePather.FindPath(ref command) and inspect its Path.

DPB2 CurrentCommand is a nullable path result. FindPath(start, destination) returns a result; inspect Success before using Path. The fully qualified type is already included in the downloaded project.

The Academy generator publishes separate source files for the two products, so a beginner sees the code they need rather than a page full of conditional compilation.

After a client update#

  1. Keep your source and record which client version it was last compiled and tested against.
  2. Build against the updated installation, not a forgotten copy of an older client assembly.
  3. Resolve compiler errors against the new public contract; compare the matching reference version.
  4. Run the no-input discovery and log checks first.
  5. Then retest only the game workflows your extension actually uses, including Stop and failure cases.
  6. Do not announce runtime compatibility from compilation alone.
Keep in mind

The current Academy compile baseline is DPB1 0.3.29.47 and DPB2 0.4.5.88. A future client release can require a fresh compile and runtime check.

Keep building

Look up a specific DPB2 API →
Download integrity and validation scope

Source kit: 26 files, 30,744 bytes. No client binaries or credentials.

SHA-256: b8877783cae166a0499a0bb400cfe835a9f2db2cbe20e328c36760e3ce32ad59

Compile baseline: DPB1 0.3.29.47 / DPB2 0.4.5.88. Compilation is not a live game test. Follow the lesson's manual checks in your own test setup.