# Conditional/skippable units without affecting course progress

**URL:** <https://discuss.openedx.org/t/conditional-skippable-units-without-affecting-course-progress/19651>\
**Category:** Development\
**Tags:** how-to\
**Created:** [September 14, 2026, 1:37pm UTC](https://discuss.openedx.org/t/conditional-skippable-units-without-affecting-course-progress/19651 "2026-09-14T13:37:11Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Syed\_Sajjad\_Hussain](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/syed_sajjad_hussain/32/9799_2.png) [@Syed\_Sajjad\_Hussain](https://discuss.openedx.org/u/Syed_Sajjad_Hussain)\
**Post date:** [September 14, 2026, 1:37pm UTC](https://discuss.openedx.org/t/conditional-skippable-units-without-affecting-course-progress/19651/1 "2026-09-14T13:37:11Z")

</div>

Hi everyone,

We need to build a course flow with two separate graded steps: a first assessment and a second, different assessment that acts as a retry path. The second assessment should only be reachable if a learner attempted the first and scored below a threshold. A learner who passes the first assessment should skip the second one entirely, and a learner who hasn’t attempted the first assessment yet shouldn’t be able to reach the second one at all. We’ve tried two approaches and hit a real limitation with each.

1. **Built-in prerequisite subsections.** We looked at [prerequisite course subsections](https://edx.readthedocs.io/projects/edx-partner-course-staff/en/latest/developing_course/controlling_content_visibility.html#prerequisite-course-subsections). This only supports the positive direction: unlocking content when a learner scores _above_ a threshold. There’s no equivalent for unlocking (or skipping to) content when a learner scores _below_ a threshold, or hasn’t attempted the prerequisite at all. Since our use case needs that negative condition, prerequisites alone don’t cover it.
2. **Flow Control XBlock.** We tried the [Flow Control XBlock](https://discuss.openedx.org/t/flow-control-xblock-need-help-on-setting-this-up/3213), which lets us evaluate a condition on another block’s score and redirect the learner accordingly, so the skip logic itself works. The problem is on the progress side: the second assessment’s unit is still counted in the learner’s overall course progress calculation, even though it was correctly and intentionally skipped. A learner who passes the first assessment and is routed straight past the second one ends up with progress reported below 100 percent, purely because a unit they were never supposed to see is still in the completion denominator.

Is there a way to achieve this while keeping course progress at 100 percent for a learner who correctly skips the second assessment? That could mean extending prerequisites to support a “less than” or “not attempted” condition, or a way to use Flow Control XBlock (or similar redirect logic) without the skipped unit affecting course progress. Pointers to existing work, workarounds, or planned changes in this area would help.
