Start with a question, not a class alphabet#
- Is a player loaded? Start with LokiPoe and its game-state properties.
- Which objects are currently available? Start with ObjectManager and a specific object type.
- What is in the carried inventory? Start with InstanceInfo and InventorySlot.
- Can I use a bound skill? Start with SkillBarHud and Skill.
- How do I find a path? Start with ExilePather, then the mover guide for your product.
- How do I integrate behavior? Start with IPlugin, IBot, IRoutine, IPlayerMover or ITask and the matching Academy track.
Read a member in five passes#
- Product and type: make sure this is your client and the correct owning type/namespace.
- Summary: what does the operation claim to do? Some descriptions come from source summaries; others are concise inferred descriptions.
- Signature: is it a property to read, a method to call, an event to subscribe to or an enum value? Note whether you need an instance.
- Arguments and return value: choose the correct overload and check how it reports no data or failure.
- Context and related APIs: find readiness requirements, base types, caller ownership and the matching guide. A short API summary is not a full workflow.
Keep in mind
An inherited member can live on a base type rather than being repeated on every derived type. Follow Inherited APIs and contracts on the reference page.
A small glossary you can use immediately#
- Interface: the methods and properties DPB expects your component to provide.
- Instance: the actual object providing behavior; selecting a routine chooses an instance, not merely a type name.
- Property: a value exposed by an object. Reading it may depend on current game state.
- Overload: another method with the same name but different arguments. Choose by the types you actually have.
- Enum: named choices or result values. Prefer their names to guessed numbers.
- Null: no object is available. Check it before accessing properties.
- Tick: a short callback during a running bot session, not an independent background thread.
- Coroutine: an async workflow resumed cooperatively by the bot.
- Request accepted: one API boundary succeeded. It does not prove the final gameplay outcome.
Check your result
When an example returns early or checks a result, you can explain which boundary it is protecting.
Keep building
Look up a specific DPB1 API →Download integrity and validation scope
Source kit: 26 files, 30,747 bytes. No client binaries or credentials.
SHA-256: f3d229e4e090feadc8713639c7e4c62fe3c6fb5aa54460af87829e0369ba5e95
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.