Skip to content

FAQ

Troubleshoot in order: build → Studio → LAN download → App validation → Bluetooth startup → business features.

Build and discovery#

SymptomCheck order
Which Windows program should I open after downloading?In the complete plugin-open-platform directory, open Studio/windows/gm-plugin-studio-desktop.exe. Extract downloaded ZIPs first. If the EXE is missing, obtain the complete toolkit. If WebView2 is missing, install Microsoft Edge WebView2 Runtime.
Where do I install Studio on macOS?Open the .dmg in Studio/macos/, drag MemoMind Plugin Studio into Applications, and launch it. Then import the complete toolkit workspace retained after download.
The example list is empty after installing or reopening Studio on MacClick “Import workspace” at the top and select the complete root containing GlassSDK, PhoneSDK, and Studio. The current version requires re-import after quitting. Do not select the DMG, .app, or Applications directory.
SDK is missing after importing workspaceThe folder level is wrong or the toolkit is incomplete. Select the common parent of both SDKs. If SDKs were moved/deleted or you downloaded only Studio, obtain and import the complete toolkit.
There are no executables in the Linux directoryStudio/linux/ currently contains only a placeholder. Obtain a Linux release first; do not run Windows EXE or macOS DMG files.
python3 / py / node not foundInstall the corresponding tool, reopen the terminal, and check its version. On Windows, Python can use py.
I only want Breakout, but Node.js is reported missingComplete prebuilt examples run directly in Studio without Node.js. Rebuild only for source-only or incomplete outputs. Build just the glasses side with ./build.py glass (Windows: py build.py glass).
The first build's download failsCheck network access to the toolchain. Do not substitute the computer's native x86/ARM compiler.
No module named naclInstall GlassSDK/build-host/tools/requirements-review.txt using the same Python interpreter as the build.
Dependency outside SDK/toolchain/source rootUse --project and point --source-root to the common parent of the project and shared dependencies. Add --include-dir for missing header search paths.
A new example is missing from the dropdownCheck manifest validity and build success, then import the correct workspace and refresh. Copied Web examples must change manifest.id because scans deduplicate IDs. Import built outputs directly for deeply nested or external projects.
Missing review AttachmentsWith source available, run ./build.py glass --force at the toolkit root (Windows: py build.py glass --force), wait for success, and check three matching outputs. Normal incremental builds may skip an existing GMP. Without source, request the complete ZIP from the provider; do not combine attachments from other versions.
PowerShell cannot run npm.ps1Use npm.cmd instead of npm. Install Python dependencies with the same interpreter used for building.
./build.py linux reports an invalid argumentThe public SDK detects the OS automatically; use ./build.py. At the toolkit root, add glass or web for one side only. linux is an argument for Studio's own build script.
build.py, package.json or requirements-review.txt not foundCheck the current directory with Get-Location/pwd and dir/ls. Run PhoneSDK npm commands in PhoneSDK. The toolkit root contains GlassSDK, PhoneSDK, Studio, and top-level build.py.

QR scanning and downloads#

SymptomCheck order
Studio opens, but no QR code appearsImport the complete toolkit workspace, refresh, and select an existing glasses example such as GM Breakout. Import first after Mac launch. Complete prebuilt GMP and matching attachments package automatically; build if outputs are missing or source changed.
QR packaging stays in progress or failsCheck Studio errors, the current selection, and complete attachments. Scan only after packaging finishes.
The mobile browser can't open QR code.The QR code contains an mmapp+tcp:// installation address. Use “Scan to open application” in the App's Developer Workspace.
Scanning connection timed outCheck computer–phone LAN reachability. Disable routing-interfering VPNs, check guest Wi-Fi/AP isolation, and allow inbound Studio connections. Use the port shown in the UI.
The QR pattern has not changedThe installation service may keep the same IP/port; this is not an application-content hash. Scan again and check the downloaded name and content.
Always run old contentSave and build. Refresh workspace examples or reselect the latest imported GMP / MMPKG. Wait for the new Studio ZIP, scan again, and verify the actual change and active App entry.
Scanning from another location does not workComputer LAN addresses usually cannot be reached across networks. The phone must share a reachable LAN with Studio and use the application's owning developer account before scanning the current code.
Can other developers in the same LAN scan my QR code?LAN reachability alone does not allow opening an application. It only connects to Studio's download service. MemoMind App checks signed-in developer ownership; mismatched accounts cannot open, save, or start each other's applications.
Can I send someone a Studio ZIP for local import?No. MemoMind App has no local ZIP picker/import entry. Scan Studio's QR code on the App scanning page, or enter/reuse an IP and port and tap “Connect”. Developer-account ownership validation still applies.
Scanning times out on a computer with multiple network adaptersCheck that the QR code's IP is reachable by the phone. Connect to the correct LAN, resolve VPN/virtual-adapter routing issues, then restart Studio and use the newly generated address.
The camera is unavailable, permission is denied, or scanning is inconvenientEnter Studio's IPv4 address and port below the scanner and tap “Connect”, or reuse the last address. No protocol prefix is needed. LAN and account checks still apply.

QR scanning, startup and execution#

SymptomCheck order
The App entry is missingUse Settings → Memo Lab → Developer Workspace. Obtain the matching App if this entry is missing.
Download succeeds, but the glasses do not run or startup failsWear and power on the glasses, then confirm Bluetooth connection in MemoMind App; system pairing alone is insufficient. Removal, folding, or casing may trigger power policy. Downloads use LAN; GMP installation uses Bluetooth. Reconnect and start the saved entry. If it still fails, check matching firmware and the complete error.
Studio's virtual screen works, but the physical glasses are blankComputer virtual screen only validates desktop simulator. Also connect the phone and glasses, scan the Studio QR code in the App, and wait for download and Bluetooth installation/startup to finish.
The Web plugin downloads but cannot startThe current App flow also requires connected glasses. Standard display needs GM Web Bridge; paired business logic needs a matching GMP.
GMP installation/starting failedRecord the full error. Check connection, matching firmware/ABI, GMP size, and validation. Cross-check with an unmodified example.
Web Method Call FailedAwait gm.ready() first. Check object-form manifest permissions, authorization, event types, message channels, and SDK method names.
Web messages receive no replyCheck both protocols, request/response channels, GMP on_event parsing, and host->bt_send replies. Not every GMP handles Web messages.
The plugin disappears after the glasses rebootReboot ends execution and loses RAM state, but complete Flash cache usually remains. Reconnect and start the saved App entry. Valid cache identity/content runs directly; missing, corrupt, or firmware-binding-changed entries are retransmitted by the phone. No new computer ZIP download is needed.
Opening HTML directly stays on ConnectingThe page needs an App/Studio host handshake. Select the Web plugin in desktop Studio and call gm.ready() early; do not wait for a glasses reply before ready.
The page works on the computer but is blank after scanningBuild the framework, then package dist. Check manifest.entry, relative asset paths, bundled SDK, and dependencies on a computer localhost development server.
An update asks for authorization again or old data is missingApplications, saved entries, and data follow the owning account. Check the original developer account and installation entry. Renaming and scanning may create a new installation. Switching accounts does not transfer applications; switch back to view/start them.
Breakout stays paused or exits unexpectedlyA primary-button click pauses/resumes. Sustained upward head movement or a long press exits. Test left/right movement first. After exit, stop and restart the App entry; Studio can refresh to reload.
Old saved data appears in a copied Web exampleStudio storage is isolated by manifest.id; changing only directory/name does not clear it. Give a new application a distinct ID. For upgrades, retain ID and test data migration. The phone App isolates by account and installation instance.
The same plugin is still slow to start again.Check startup logs for cache=hit, chunks=0, and wireBytes=0. Cache hits still validate glasses content/binding, load the plugin, and prepare Web sessions. No retransmission does not mean zero duration. Distinguish first QR download from starting a saved entry.
The first start retransmits after a firmware upgradeChanged firmware bindings may require cache repair through phone retransmission. Confirm a hit on the second start with package and firmware unchanged.
Insufficient Flash / RAMFor Flash, check required space, reclaimable/protected entries, and fragmentation. For RAM, check static data, dynamic allocations, and system load. Reducing ROM does not necessarily reduce RAM pressure.

What to provide if it still fails#

  • Exact steps and full errors, identifying the failing stage.
  • SDK, Studio, App, firmware, and phone OS versions; ZIP filename and application version.
  • Relevant build/Studio error excerpts. Use test data and remove passwords, credentials, and personal file contents.