Technology

How it's built.

This page walks through each part of the system: what it does, what it doesn't, and how the pieces fit together.

Transformation engine

From a YouTube link to a course in the editor.

The engine is a pipeline. Two of its stages are AI; the rest are plumbing and a human review. Nothing is published without the creator's sign-off.

  1. 01

    YouTube link

    The creator submits a public video. The video itself is never downloaded or re-hosted; only its transcript and metadata enter the pipeline.

  2. 02

    Transcript with timestamps

    The video's own captions when present, otherwise speech-to-text. Every line keeps its start and end time; timing is what ties everything after this stage back to the video.

  3. 03

    Section breaks and structure

    AI

    A model reads the transcript and proposes where the tutorial changes task: section boundaries, a title and a short summary per section, and the editor areas each one touches.

  4. 04

    Interactive layer

    AI

    For each section, a model drafts the steps a learner performs, the editor elements they involve (anchors), and checkpoints: what should be true in the project when the section is done.

  5. 05

    Creator review

    The creator gets the draft, not a blank form. They fix boundaries, rewrite steps, drop what is wrong. What they approve is what ships.

  6. 06

    In-editor catalog

    The approved course is indexed and listed in the plugin. Playback references the original YouTube video by id and timestamp.

Retrieval

Finding the right twenty minutes.

Goal-based search and contextual chat are both retrieval over the same two indexes, built at publish time.

Transcript chunks

The transcript split into short, timestamped passages, each embedded and stored with its course, section and time range.

Section index

One entry per section: title, summary, steps, editor surfaces, and the Unreal version the tutorial was recorded on.

Goal-based search

A query like “I want my logo to spin in 3D” is embedded and matched against the section index first, then against transcript chunks to pin the exact time range. The result is a course, a section and a timestamp, ranked by match and by how close the recorded version is to the learner's. The video title is one signal among many, not the main one.

Chat with course context

When a learner asks a question mid-course, retrieval is scoped to that course, and a context block travels with the question: which video, the current playback time, the current section, which steps are checked off and, when relevant, the picked element or log line. The model answers against the retrieved passages and that context, and cites the minute it drew from.

Context attached to a question
course: make-animated-3d-logo
section: 3 · Rotation in Blueprint
video_time: 44:12
steps_done: [1, 2] of 3
learner_version: 5.8.1 · recorded_version: 5.0
retrieved: 4 passages, 41:50–46:30
Editor integration

A plugin, not a fork.

Mindocai is a standard Unreal Engine plugin. It docks as a Slate tab and reads the editor through public APIs. No engine source modifications are required, so it installs like any other plugin.

Slate-level integration

The panel is a Slate widget docked in the editor layout. The picker walks the live Slate widget tree, the same tree the editor draws, to find what the user clicked.

Widget identification by fingerprint

Unreal widgets have no stable ids, so an element is identified by several signals at once: its visible label, its tooltip, its widget type, and its surrounding context (the parent panel, the tab, neighbouring labels). Together they name the element reliably enough to explain it, and to recognise it again after the layout changes.

What leaves the editor

A picked element is sent as its fingerprint, not as a screenshot. An error is sent as the log lines around it. The project's assets and source stay on the machine.

Roadmap: anchored steps

The same fingerprints let a course step point at the live element it refers to, highlighting it in the learner's editor rather than describing it. Working for the picker today; on the roadmap for steps.

Fingerprint of a picked element
label: Place Actors
tooltip: Place actors in the level
type: SDockTab › SPlacementModeTools
context: Level Editor · left dock · next to Outliner
version: 5.8.1
Evergreen

What “still works” means.

A tutorial recorded on one Unreal version is played on another. Mindocai does not edit the video; it adjusts the steps around it at playback time, using the recorded version, the learner's version, and the fingerprint of each element a step refers to.

Patched at playback

  • A menu entry that moved to another menu
  • A panel or setting that was renamed
  • A setting relocated to a different category in Details
  • A default value that changed

Flagged, not patched

  • A system replaced by a different one: the instructor uses a tool that no longer exists
  • A workflow that no longer applies to the learner's version
  • A step whose element cannot be found by fingerprint

When a step falls in the second column, the course says so at that step, points to what replaced it when known, and lets the learner continue. This extends the useful life of a tutorial by versions, not forever: content built on a removed system is marked, not rescued.

Cost model

Free for learners, and still viable.

Learning is free. Inference cost is kept down with three mechanisms, in this order.

  1. 01

    Cached explanations

    An explanation of a widget is keyed by its fingerprint and the engine version. The first learner to pick “Place Actors” on 5.8 pays for the call; the next ones read the cached answer. The same applies to section summaries and to common errors.

  2. 02

    Model tiers

    Routine work (identifying a widget, summarising a passage, drafting a plan step) runs on small, cheap models. Larger models are reserved for diagnosis: reading an error against the learner's context, or answering an open question mid-course.

  3. 03

    Bring your own key

    Learners with their own provider account can plug in their key. Their requests go through it, outside the platform's quota.

Current state

What exists today.

The demo is recorded on a working prototype on Unreal Engine 5.8.1. It is not a mock-up: the editor integration, picker, contextual chat, error reading, course playback and plans shown there run in the editor.

In the prototype

  • Plugin docked in UE 5.8.1 with course playback, section strip and step checklist
  • Element picker over the live Slate tree with fingerprint-based explanations
  • Contextual chat with course, time and progress attached
  • Output Log reading and error explanation
  • Goal-to-plan with steps linked into course sections

In progress

  • Creator review workspace for pipeline drafts
  • Steps anchored to live editor elements
  • Version-drift patching across the catalog
  • Public catalog and creator tiers

The transcript pipeline, retrieval and contextual chat build on patterns already running in production SaaS platforms. The new work is in the editor integration and in the course format itself.