Visibility and Personalization
Reveal the right content at the right time using conditions, variables, and learner-driven state.
One of the simplest ways to make a lesson feel smart is to control what appears and when.
You do not need complicated branching to make a lesson feel responsive. Often, well-timed visibility rules do most of the work.
What visibility can do
Widgets can be set to:
- Always show
- Always hide
- Show only when a condition is met
- Hide when a condition is met
That gives you a clean way to create:
- Hints
- Layered explanations
- Encouragement
- Success states
- Retry prompts
- Personalized text blocks
- Unlockable next steps
The easiest condition sources
Visibility rules become useful when they reference meaningful state.
The most common condition sources are:
- Variables
- Grading outcomes
- Widget state
Examples:
- Show a hint if
attemptsis greater than 1 - Show a celebration message if the scene passes
- Reveal an image after a button has been pressed
- Hide a support prompt once the learner has answered correctly
- Swap one picture for another when an answer is right: a closed chest that hides and an open one that shows, both on Is correct. Step-by-step: Open a treasure chest with a secret code.
- Show a "Let's find out!" button once a prediction is answered, then answer the prediction on the next scene with an Is correct / Is incorrect line. A rule can read a question on an earlier scene. Step-by-step: Ask students to predict before you reveal.
- Hide a quiz-game tile once its question is answered, and show a Finish button only when every question is. Step-by-step: Make a game board students pick questions from.
- Review every answer on the ending: two lines per question, one shown when it Is correct and one, with the right answer, when it Is incorrect. A skipped question counts as incorrect, so every student sees one line per question. Step-by-step: Show students which questions they got right.
When a rule compares a number variable ("wrong_tries is at least 2"), set the value's type to Number in the condition. It starts as Text, and a number compared as text never counts as "at least" anything, so the widget would never appear. Step-by-step: Show a hint after two wrong tries.
Score-based reveals are live — rules like “score is at least 80%,” “scene is passing,” and “scene is failing” show the moment the running score settles, so you can reveal a celebration, a hint, or a “try again” prompt the instant a learner gets there (no Submit required). “Scene is failing” waits until every scored item on the scene has been answered before it appears, so a “try again” prompt never flashes while the learner is still working through the questions.
Reveals that should wait for the learner to commit stay tied to a Submit button: “is submitted” and “is not submitted” use the submitted scoring snapshot for that scope. If you want a passing or failing reveal to wait for submission too, combine “scene is passing” (or “scene is failing”) with “is submitted” in the same rule. A scene counts as submitted after a Current scene submit on it, a grading group after a submit for that group, and the whole lesson only after the lesson itself is submitted (a Lesson submit, or reaching the ending) — submitting one scene doesn't make the lesson submitted.
Hidden questions and the grade
A graded question behind a visibility rule counts toward the learner's grade only if the rule showed it to them. When the attempt ends, Berdee checks the rule against the learner's answers and the scenes they visited:
- A rule about a question's answer ("question A is correct", "question A is answered"), a scene or lesson score, "all answered", or whether the learner has visited a scene is checked. If it kept the question hidden and the learner never answered it, the question is left out of the grade. If it showed the question and the learner skipped it, the question is a zero.
- A question inside a container that a rule hid is left out of the container's rule the same way.
- A rule Berdee can't check from the learner's answers, such as one on a variable, a button press, a grading group's score, "is submitted", or how many times a scene was visited, leaves the question counted, as before. If a graded question should drop out of the grade on a branch, gate it on an answer or a score rather than a variable.
- Answers cleared by a Reset Answers action don't count as answers. If the learner gets question A right, resets, and then finishes without answering A again, a question shown only when A is right is left out, and A counts as skipped. Answers already locked by a Submit can't be reset, so they still count.
- Show and Hide actions don't change what counts. A question that only an action hid still counts, and one only an action showed counts once the learner answers it.
The live score a learner sees while they work still includes a hidden question until the attempt ends; the grade on the ending leaves it out.
Personalization with variables
Variables are the simplest way to personalize a lesson.
Use them to store:
- A learner choice
- A selected topic
- A tracked score
- Whether a support option was used
- A text value you want to reuse later
Then use those variables in text or logic so the lesson reacts to what the learner already did.
Examples:
- Show a science example only if the learner chose the science path
- Swap in a different reflection prompt after a learner uses a hint
- Display a completion message tied to a lesson score
- Show a picture clue only while a learner has switched clues on, which Let students turn picture clues on and off builds step by step
A practical visibility pattern
One strong pattern is progressive disclosure.
That means:
- Show only the essential instruction first
- Let the learner act
- Reveal supporting content only when needed
This is especially effective for:
- Keeping scenes uncluttered
- Reducing overwhelm
- Preserving challenge before giving support
Real-world examples
- A
Show Hintbutton reveals a text widget and an image only after the learner asks for help. - A retry message appears only if the current scene fails after submission.
- A final encouragement panel appears once a score threshold is reached.
- A button press reveals an image answer key for self-checking.
When to use visibility instead of another scene
Use visibility rules instead of creating another scene when:
- The learner is still in the same task
- The new content is supporting the same moment
- The reveal should feel immediate
Use a new scene when:
- The learner is moving to a new phase
- Feedback deserves its own space
- Pacing should feel more deliberate
Best practices
- Hide clutter, not meaning
- Make reveals feel purposeful
- Keep the learner’s next step obvious
- Test visibility rules in preview to catch missing conditions
- Published lessons use the same visibility rules as preview, so a widget hidden by a condition stays hidden for learners until the condition changes
Recommended next reads
- Variables
- Show a hint after two wrong tries (step-by-step tutorial)
- Unlock a button when every checklist box is ticked (step-by-step tutorial: one rule, several conditions)
- Open a treasure chest with a secret code (step-by-step tutorial: Show and Hide rules that swap two pictures)
- Events, Actions, and Conditions
- Interaction Recipes
- Reusable Lesson Patterns