Give a quest to defeat enemies, talk to someone, or go somewhere¶
Designer · 30 min · No code · Last tested: 2026-10-08
Result: quests whose steps are "defeat five golems", "speak to the ferryman" and "reach the old gate", with no code. The HUD tracker counts each one, and the minimap marks the next talk or place for the quest you are tracking.
Before you start¶
- Offer a collection quest. This recipe uses the same quest asset and NPC set-up.
What objectives are supported¶
An objective's Kind offers four choices. All four work:
| Kind | Counted from | Target field |
|---|---|---|
| Collect Item | The party's bag, re-read on every change | Item Target |
| Defeat Enemy | Every enemy death while the quest is active | Enemy Target |
| Talk To NPC | Talking to a placed NPC whose Quest Id matches | Target Id |
| Reach Location | The leader walking into a placed XenoCore Quest Location whose Location Id matches | Target Id |
A quest asset cannot point at an actor placed in a level, so Talk To NPC and Reach Location match by name: type the same word into the objective's Target Id and into the NPC or the location. Names are not case-sensitive.
Part 1: defeat enemies (no code)¶
The sample Quests/DA_XenoCore_Quest_Monster01 is exactly this: defeat melee minions, with a party
level gate.
- In the Content Browser, right-click
Quests/DA_XenoCore_Quest_Monster01and choose Duplicate. Move the copy toMyGame/Questsand name itDA_MyGame_Quest_Golems. - Open it. Under XenoCore › Quest, set Title, Area, Summary and Kind
(
Monster, a label only). - In Objectives, expand entry 0 and set:
| Setting | Value |
|---|---|
| Description | Drive the golems out of the quarry. |
| Kind | Defeat Enemy |
| Enemy Target | B_MyGame_Golem |
| Required Count | 5 |
| Counter Label | Golem: the tracker reads "Golem 0/5". Needed, because an enemy has no item name to fall back on. |
| Icon Source | From Category, with an Icon Category of your choice |
- Set Reward and Gates. The sample's gate is Party Level At Least.
- Save, and give it to an NPC's Quest as in Offer a collection quest.
Enemy Target matches the class and everything derived from it. Name
Characters/Enemies/Core/B_XenoCore_Enemy_Base to count any enemy at all, or your own parent
Blueprint to count a whole family. It is a soft reference, so the quest does not load the enemy's
mesh, animations and abilities; a kill is matched against enemies that are already in the world.
Kills before accepting do not count
Only enemies defeated while the quest is active count. Unlike collection quests, nothing is counted retroactively. A kill after the count is full does not push it past the total.
Test it: accept the quest, defeat five golems, and watch the tracker count up. At 5/5 the NPC's marker returns; talk to hand it in.
Part 2: talk to someone¶
- In your quest, add an objective:
| Setting | Value |
|---|---|
| Description | Ask the ferryman about the crossing. |
| Kind | Talk To NPC |
| Target Id | Ferryman |
| Required Count | 1 |
| Counter Label | Speak to the ferryman |
- Select the placed ferryman NPC (
B_XenoCore_Npc). Under XenoCore › NPC, set Quest Id toFerryman.
That is all. Talking to the ferryman, with any verb, counts the objective before the conversation plays, so if it is the last step and the ferryman also gave the quest, it hands in during the same talk. While the quest is tracked, the ferryman shows as a quest target on the minimap.
Set Quest Id on the placed NPC, not the Blueprint
On B_XenoCore_Npc's defaults it would make every NPC in the game the ferryman.
Part 3: go somewhere¶
- Add an objective with Kind
Reach Location, Target IdOldGate, Required Count1and a Counter Label such asOld Gate. - Open the Place Actors panel (Window › Place Actors), search for
Quest Location, and drag XenoCore Quest Location into the level. - Move and scale its blue box over the place.
- In its Details, set XenoCore › Quest › Location Id to
OldGate.
When the leader walks into the box, the objective counts. Companions walking in first do not. If the quest is accepted while the leader is already standing inside, it counts at once. While the quest is tracked, the box shows as a quest target on the minimap; the rest of the time nothing is drawn.
- "Visit three times": set Required Count
3. Each walk-in counts once; walk out and back in for the next. - "Any of these places": give several boxes the same Location Id.
Part 4: count a step from any Blueprint¶
For a step that is neither a talk nor a place (a lever pulled, a cutscene watched):
- Give the objective Kind
Reach Location(orTalk To NPC) and a Target Id, for exampleGateLever. - In the Blueprint where the step happens (the lever's On Interact, say), right-click and add Get Party Quests.
- Drag off its return value and add Notify Objective. Set Kind to
Reach Locationand Target Id toGateLever.
It counts every active quest that wants that name, exactly as the box and the NPC do.
Test it¶
- Put the quest on a placed NPC's Quest, as in Offer a collection quest, and place the ferryman and the Old Gate box in the same map.
- Press Play, walk to the giver, and accept the quest. The HUD tracker shows each step at 0.
- Defeat a golem: the tracker reads "Golem 1/5".
- Open the minimap view: the ferryman and the Old Gate box are marked as quest targets.
- Talk to the ferryman: "Speak to the ferryman" completes. Walk the leader into the box: "Old Gate" completes.
- When every step is full, the giver's marker returns. Talk to them to hand the quest in.
If it doesn't work¶
Fails silently: a Defeat Enemy objective that never counts
Enemy Target is empty, or names a class the enemy does not derive from. Only enemies built on
XenoCore's enemy class announce their defeat. The training dummy B_XenoCore_Dummy is one, so
naming the enemy base counts dummies too.
A talk or location step that never counts
The names do not match. Compare the objective's Target Id with the NPC's Quest Id or the box's Location Id. A box with no Location Id logs an error when play starts. Saving a quest whose talk or location objective has an empty Target Id reports a validation error.
The step counted nothing because the quest was not active
Like kills, talks and visits only count while the quest is active. Talking to the ferryman before accepting does not count; talk again afterwards.
Going further¶
- Quests, Events.
- Recruit a party member by talking to them: Recruit After Quest joins a character once such a quest is handed in.