storyline 360
30476 TopicsAdding question counter in quiz bank in Storyline 360
Hello! I'm working on a project where each learning module has a quiz that will pull from a Quiz Bank. I am looking to add a question counter so the learner knows where they are (i.e. Question x/10, etc). I know it's done through variables, but I'm drawing a blank on how to do it. I have a quiz "intro page" which is outside of the Quiz Bank. There are 9 learning modules in total and each has its own Quiz Bank with varying numbers of questions requires to pass. Any and all help would be very welcome! Cheers Geraldine747Views0likes9CommentsHow to restore translations in languages other than English
Today, the non-English translations—Japanese, Spanish, and French—in an e-learning course I have been creating in Storyline 360 are no longer displayed. I am not sure what caused this issue. The only action I took today was updating Storyline 360. Could you please advise me on how to restore the translations? For reference, I opened a version of the same e-learning course that I saved two weeks ago, and the Japanese, Spanish, and French translations were still displayed correctly in that version.15Views0likes1CommentHow I Built This: The Confidence Self-Check Dashboard
What the Project Is The Confidence Self-Check Dashboard started with a challenge that many learning professionals will recognise: we're often very good at measuring learner perceptions at a single point in time, but much less effective at understanding the journey that got them there. Most confidence checks, smile sheets, and end-of-module surveys provide a snapshot. They tell us how a learner feels at the end of an experience, but they rarely show how much progress has been made between the starting point and the finish line. As learning designers, trainers, and educators, we're increasingly asked to demonstrate impact and effectiveness, yet many of our evaluation tools remain focused on isolated moments rather than measurable growth. The Confidence Self-Check Dashboard is an open-source framework designed to help visualise that growth. Learners can capture baseline, midpoint, and final confidence scores, creating a richer picture of progression across a programme, module, or learning journey. The system then visualises progress through checkpoints, historical tracking, and comparative reporting, helping learners and educators see not just where confidence sits today but also how it has evolved. What makes the project different is that the dashboard is only half of the solution. Built directly into the framework is a configurable Designer Mode that allows instructional designers, trainers, and subject matter experts to modify questions, scoring, weighting, feedback, and visual elements without touching the underlying code. Once configured, the framework can generate deployment-ready outputs for both standalone HTML environments and Storyline projects. For me, the project sits at the intersection of learning analytics, instructional design, and curiosity. It explores how we might move beyond static interactions and perception-based evaluation towards adaptable tools that not only support learning but help us better understand the impact of what we create. Why I Built This One recurring frustration I encounter as a learning designer is that many custom interactions end up as disposable solutions. They solve a problem for a specific programme, module, or client, but the moment somebody wants to adapt them, whether that's changing questions, adjusting scoring logic, updating feedback, or tailoring the experience for a different audience, the process often becomes disproportionately difficult. This isn't limited to Storyline. I've seen the same challenge across standalone HTML tools, JavaScript widgets, learning micro-applications, and community-shared frameworks. The learning community produces some incredible work, and I'm regularly inspired by the creativity on display. However, many of those solutions are understandably built to solve a specific challenge at a specific moment in time. Reusing them often means digging through code, unpicking logic, or rebuilding large chunks from scratch. At the same time, I was finding myself increasingly able to prototype ideas that previously would have stayed as scribbles in a notebook or half-finished thoughts in my head. That led me to a different question. Rather than repeatedly rebuilding interactions whenever requirements changed, could I create something that remained adaptable after development had finished? I became increasingly interested in building systems rather than outputs. Instead of creating another hardcoded interaction that would need future rebuilding, I wanted to explore whether the editing capabilities themselves could become part of the experience. The result was Designer Mode. Rather than expecting instructional designers, trainers, or subject matter experts to modify code, they could adjust questions, scoring, weightings, feedback, and configuration settings through a dedicated interface and generate deployment-ready outputs themselves. Ultimately, this project became an exploration of a broader idea: perhaps the most valuable thing we can build isn't the interaction itself, but the framework that allows other people to adapt it long after we've moved on. How I Built It The chronology of the project was actually quite different from what people might expect. It started with a community language-learning project where I was exploring how learners could benchmark their confidence over time using a simple Likert scale. At the time, I wasn't trying to build a framework. I was simply trying to create a better reflection point for learners. That evolved into a benchmarking dashboard, which I later adapted for quality management systems and professional development programmes. As the number of adaptations increased, I found myself repeatedly rebuilding or modifying the same interaction. The turning point came after sharing an earlier project with the Articulate community. Somebody asked a simple question (thanks to the E-Learning Heroes Community): "This is great, but how do I edit it myself?" That question stuck with me. The first version of Designer Mode was incredibly basic. It allowed users to configure the front and back of flip cards without touching the underlying code. Once that worked, I started asking questions: Could they change images? Could they update URLs? Could they alter scoring boundaries? Could they swap animations? Could they generate the code themselves? What started as a convenience feature gradually became the main project. At some point, I realised I wasn't really building interactions anymore. I was building frameworks that could generate interactions. The goal stopped being to build a better confidence tracker. The goal became building a system that could adapt itself. Once I made that mental shift, a lot of the design decisions suddenly became much clearer. My Development Workflow One thing I've learned is that my best ideas rarely arrive in a neat, structured format. They usually arrive as half-formed concepts, tangents, questions, and observations that need untangling before they become useful. Because of my dyslexia and dyscalculia, I often find it easier to explain concepts verbally than work directly with large blocks of code. Over time, I developed a workflow that helped translate those ideas into something more structured. ChatGPT often acted as a critical friend and sounding board. Gemini became my primary coding and debugging environment. Claude frequently challenged learner experience decisions, instructional design choices, and pedagogical assumptions. I also built a prompt generator that helped translate my often-discordant thought processes into something the various models could consistently understand and execute. Rather than generating code directly, it acted as a translation layer between ideas, constraints, learning requirements, accessibility considerations, technical limitations, and deployment requirements. One of the biggest lessons I learned was that prompting quality often mattered more than coding quality. I also learned very quickly that dirty context windows are real. The longer the conversations became, the more assumptions accumulated, and the more unpredictable the outputs could become. Managing context became almost as important as debugging. After what felt like the hundredth iteration, and probably wasn't far off, I finally realised I was solving the wrong problem: The challenge wasn't building a better interaction, it was making sure I didn't have to rebuild it again six months later. Exporting for Different Environments One of the design goals from quite early on was that I didn't want the framework tied exclusively to a single authoring tool. As a result, Designer Mode generates two separate deployment outputs. The first is a standalone HTML package that can be deployed independently and used outside of Storyline altogether. The second is a Storyline-compatible export. Rather than generating complete slides, the framework produces copy-and-paste-ready JavaScript that can be dropped directly into an Execute JavaScript trigger. The generated code sits behind a simple trigger, button, or slide event and handles the heavy lifting in the background. Supporting both outputs inevitably created additional testing and development effort, but it felt important that the framework remained flexible rather than becoming dependent on a single platform or workflow. Key Decisions & Trade-Offs One of the hardest parts of the project wasn't deciding what to build, it was deciding what not to build. There were plenty of moments where I could see an exciting next step. AI-generated learner feedback was one of them. Cloud storage was another. User accounts, enterprise integrations, reporting dashboards, and centralised administration all felt possible. But possible and sensible aren't always the same thing. AI-generated feedback sounds impressive until you remember that learners may act on that information. The last thing I wanted was a hallucinated recommendation confusing somebody or sending them down the wrong path. If that level of personalisation is going to happen, I think it belongs within a controlled organisational environment rather than inside an open-source learning widget. Cloud storage presented a similar challenge. Whilst it would unlock richer reporting and persistence, it also introduces authentication, security, GDPR considerations, APIs, hosting, maintenance, support requirements, and handover considerations. Very quickly, the project stops being a configurable learning tool and starts becoming a software platform. I had to keep reminding myself what problem I was actually trying to solve. The same challenge appeared within Designer Mode itself. Every new configuration option made the framework more powerful but also increased cognitive load. There is a point where flexibility becomes overwhelming. If somebody needs a developer sitting next to them to understand the configuration panel, I've probably failed. Sometimes the best design decision is leaving something out. 👉 Check out this build that exemplifies more of my design choices Why I Open-Sourced It The project is shared as open source because I genuinely believe we all stand on the shoulders of giants. That philosophy comes partly from learning design and partly from my blacksmithing hobby. Almost every forge project I've ever made has been inspired by somebody else's work, technique, or idea. Usually, somebody has already solved part of the problem before you arrive. The same is true in learning design: The more we share, the more we learn, the more we learn, the more we innovate. That's why the source framework, Designer Mode, and deployment outputs are all available for others to explore, adapt, and build upon. Not because it's finished, but because I hope somebody takes it somewhere I hadn't thought of yet. What I've Used It for Since Although the original use case focused on confidence benchmarking, the Designer Mode approach has quietly spread into a lot of my other projects. I've since added similar configuration layers to flip cards, quizzes, odd-one-out activities, swipe interactions, branching scenarios, media players, and other custom learning tools. Partly because it reduces build time, and partly because it reduces future maintenance. It also reduces the number of times I need to revisit the same problem. The framework can be adapted for: Skills audits Readiness assessments Professional development planning Reflective practice activities Learner self-assessment Progress check-ins What interests me most is that it turns what is often passive engagement into active reflection. Instead of simply consuming content, learners are asked to pause, think, and evaluate where they are right now. They feel included. Key Takeaways If there's one thing I'd encourage other instructional designers to take from this project, it's not that you need to become a programmer. You mustn't underestimate your ability to build. The tools available to us today mean that many of the barriers between an idea and a functioning prototype are lower than they've ever been. For me, the goal isn't to replace the work of learning design.It's to create more space for it. Less time wrestling with implementation. More time understanding learners. More time refining experiences. More time asking awkward questions. More time thinking. The biggest shift isn't that technology can generate code. The biggest shift is that instructional designers can now build tools, frameworks, and systems that previously required specialist development and teams. Use that opportunity wisely. Use it to remove the dross. Use it to reclaim time. And then spend that time doing the bits that humans are still brilliant at: creativity, empathy, reflection, judgement, and understanding what learners actually need. Ask Me Anything If you'd like to know more about the project, feel free to reach out or drop a comment below. I'm always happy to chat about generative AI in learning design, the successes, the pitfalls, and the occasional moments where everything goes wonderfully wrong. I'm also happy to talk about instructional design, learner engagement, accessibility, healthcare, accreditation, quality management systems, blacksmithing, or pretty much anything in between. Portfolio - Built with Claude Design and now hosted via GitHub Outside of learning design, you'll often find me metal-bashing in the forge, experimenting with new projects, or being supervised by my two feline quality inspectors, Tenacious D and Blackjack. Want to Share Your Build? Do you have a project you’d love to share with the community? We’re always looking for more How I Built This stories. Whether it’s a game, interaction, or unique design, we’d love to feature your process. Drop a note in the comments or reach out to the community team if you’re interested!334Views6likes7CommentsDetect all click or all keyboard events for trigger
So here's what I mean: I have a slide where the user must interact with all three buttons before progressing. I start with Next disabled, and a variable increases each time one is clicked. When the count reaches 3, Next is disabled. But that requires each button to have a separate trigger that checks the count and potentially changes the state of Next. What I used to do in software like Asymetrix Toolbook was have the page (they used a book metaphor) also receive mouse/keyboard events, so there could be a single code block on the page to activate the Next button when the count reached 3. Any special reason a slide couldn't receive events from all objects it encompasses? Sure, 95% or more of the time it would ignore them, but sometimes that's really useful. Just add "Anywhere on this slide" (and maybe "Anywhere on this layer") to the list shown below.17Views1like5CommentsStoryline 360 - Converting AI Voiceover to Text-to-Speech bug?
We are in a situation where we need to convert AI Voiceovers to Text-to-Speech so that we can better control pronunciation of a word. All of these voiceovers already have the Closed Captions in place and in an effort not to duplicate work, it was suggested to use this process: Right click on AI voiceover in timeline Select Text-to-Speech from hovering menu In the Insert Text-to-Speech modal, uncheck "Generate Closed Captions" Click "Update" While showing a coworker this process, I was able to do this once. However, on subsequent attempts to complete the same process, nothing happens when Update is clicked (other than the Text-to-Speech modal closes). No progress bar is displayed, no Text-to-Speech object is created. I've restarted Storyline, restarted my PC, and have had coworkers reproduce the same issue. Can anyone else confirm this and/or offer advice? Thanks in advance.35Views1like2CommentsStoryline Lagging
Hi Community! I've noticed lately - at least over the past month that Storyline has been lagging. By lagging I mean when I move a photo/shape/text box - it doesn't move until I release my mouse and I don't know where it's going to be (no preview). When I type in the text box or button - the words don't always show immediately while I type. It hasn't been consistent enough for me to pinpoint if something is corrupted in my file. I've even had my side blank out momentarily while I'm typing in a text box. Sometimes, when I select an object I don't get the dots showing that I've selected it but it's blue in the timeline. The only thing I can think of is that I'm using some AI images and that could cause it. But, the lagging is severely impacting my ability to create. Has anyone else been having this issue? Some things I've tried: Downloading the AI images and swapping them all out. Pulling my slides into another project.28Views1like2CommentsStoryline360 Quits if Offline
This is something that bit me recently when I was travelling and didn't have an internet connection. I found that if Storyline360 can't connect to its authentication/authorization server, then the program quits. This made it impossible for me to do any work on my course until I could get to an internet connection. This seems to be part of an overprotective trend as Outlook in M$365 also follows the same playbook, but I'm saving my files locally (as is best practice)! I don't care if the various image libraries don't load or other connected functionality, like AI. Shutting down the program is an extreme response. Does SL360 itself load program resources remotely just to be able to run? I don't know the depth of this problem, but I'd sure like the ability to work offline. If there is a way to do this, can anyone fill me in?51Views0likes4CommentsMultiple Subtitle Languages for a Single Video in Storyline 360
Hi everyone, I'm creating a Storyline 360 course that contains a video with a single audio track (English). I'd like learners to be able to choose their preferred subtitle language (e.g., English, German, French, Italian, Spanish) while watching the same video. From what I've found, Storyline only allows one VTT caption file per video. Is there a way to provide multiple subtitle languages for a single video and let learners switch between them? Thanks in advance for your suggestions! BR, Tamara23Views0likes1CommentStoryline shapes not preview/publishing in correct location
Starting this week several creators on our team including myself have encountered an issue in Storyline. When adding a shape such as an arrow or box the shape is placed in its intended location during editing, but when previewing or publishing the shape is no longer in line with where it should be. Examples attached. Any guidance or suggestions would be helpful.360° images: name them!
Why are we stuck with the image variables being named as 360image#_TotalItems and so on? If I name the image PowerPlantSouthSide, why is the variable still 360Image4_TotalItems? As far as I can tell, there's no way to figure out which image is which number. I can't set the name, I can't query it ... surely it would be better if Storyline respected the name I gave it? I have eleven 360 images in my current project, and I have no way to know which one is on which slide.2Views0likes0Comments