Custom detector works in one scene only
Check the local Objective Link and that each scene's Manager contains the selected Chapter/ID.
Practical Guides
Transition to another scene and Chapter, then reuse a custom Objective subclass for a project-specific mechanic.
Use Load Scene with no Chapter handoff when the destination should deliberately use its normal startup rules.
Create a detector derived from Objective, serialize only the mechanic's configuration, and call RequestObjectiveCompletion() when the authoritative condition becomes true. Override ResetObjective() to clear every transient field and call the base implementation. Add the component to each relevant Objective container and use Objective Link to choose the local Ordered Objective.
The same class can be reused in both source and destination scenes because progression identity is serialized per component. Do not hard-code a global Objective ID inside the class.
chapter_portal_exit.Check the local Objective Link and that each scene's Manager contains the selected Chapter/ID.
Validate Next Chapter, store/flush results, and confirm the load goes through ChapterManager.
A valid handoff is consumed and deleted. A custom backend that fails Delete or Flush may violate that guarantee.
Stop coroutines and clear counters in the override; scene reconstruction remains project-owned.