Documentation Index Fetch the complete documentation index at: https://docs.mentraglass.com/llms.txt
Use this file to discover all available pages before exploring further.
Check what hardware is available using session.capabilities. Different glasses have different features—displays, cameras, speakers, buttons, LEDs. Your app can detect and adapt to each device.
Accessing Capabilities
protected async onSession ( session : AppSession , sessionId : string , userId : string ) {
const caps = session . capabilities ;
if ( ! caps ) {
session . logger . warn ( 'Capabilities not loaded' );
return ;
}
session . logger . info ( 'Device:' , caps . modelName );
session . logger . info ( 'Has camera:' , caps . hasCamera );
session . logger . info ( 'Has display:' , caps . hasDisplay );
}
Available Capabilities
Capability Description Check With Display Screen for showing content caps.hasDisplayCamera Photo/video capture caps.hasCameraMicrophone Audio input caps.hasMicrophoneSpeaker Audio output caps.hasSpeakerButton Physical controls caps.hasButtonLED Light indicators caps.hasLightIMU Motion sensors caps.hasIMUWiFi Network connectivity caps.hasWifi
Basic Usage
protected async onSession ( session : AppSession , sessionId : string , userId : string ) {
const caps = session . capabilities ;
if ( ! caps ) return ;
// Adapt to available hardware
if ( caps . hasDisplay ) {
session . layouts . showTextWall ( 'Welcome!' );
} else {
await session . audio . speak ( 'Welcome!' );
}
if ( caps . hasCamera ) {
session . logger . info ( 'Camera available' );
}
}
Detailed Capabilities
Display Details
if ( caps . hasDisplay && caps . display ) {
session . logger . info ( 'Resolution:' , caps . display . resolution );
session . logger . info ( 'Color:' , caps . display . isColor );
session . logger . info ( 'Max text lines:' , caps . display . maxTextLines );
}
Camera Details
if ( caps . hasCamera && caps . camera ) {
session . logger . info ( 'Resolution:' , caps . camera . resolution );
session . logger . info ( 'Can stream:' , caps . camera . video . canStream );
session . logger . info ( 'Can record:' , caps . camera . video . canRecord );
}
LED Details
if ( caps . hasLight && caps . light ) {
session . logger . info ( 'LED count:' , caps . light . count );
caps . light . lights ?. forEach ( led => {
session . logger . info ( ` ${ led . id } : ${ led . isFullColor ? 'RGB' : led . color } ` );
});
}
Common Device Types
Display Glasses - Have screens, no camera:
Even Realities G1
Vuzix Z100
Camera Glasses - Have cameras, no display:
See device-specific pages for details:
Adapting Your App
protected async onSession ( session : AppSession , sessionId : string , userId : string ) {
const caps = session . capabilities ;
if ( ! caps ) return ;
// Choose interaction mode
if ( caps . hasDisplay ) {
this . useVisualMode ( session );
} else if ( caps . hasSpeaker ) {
this . useAudioMode ( session );
}
// Enable features based on hardware
if ( caps . hasCamera ) {
this . enablePhotoFeatures ( session );
}
if ( caps . hasButton ) {
this . enableButtonControls ( session );
}
}
Capabilities Interface
interface Capabilities {
modelName : string ;
hasCamera : boolean ;
camera : CameraCapabilities | null ;
hasDisplay : boolean ;
display : DisplayCapabilities | null ;
hasMicrophone : boolean ;
microphone : MicrophoneCapabilities | null ;
hasSpeaker : boolean ;
speaker : SpeakerCapabilities | null ;
hasIMU : boolean ;
imu : IMUCapabilities | null ;
hasButton : boolean ;
button : ButtonCapabilities | null ;
hasLight : boolean ;
light : LightCapabilities | null ;
hasWifi : boolean ;
power : PowerCapabilities ;
}
Best Practices
Always check capabilities:
// ✅ Good
if ( session . capabilities ?. hasCamera ) {
await session . camera . requestPhoto ();
}
// ❌ Avoid - may crash
await session . camera . requestPhoto ();
Provide fallbacks:
if ( caps ?. hasDisplay ) {
session . layouts . showTextWall ( 'Message' );
} else {
await session . audio . speak ( 'Message' );
}
Check null values:
// Capabilities may be null initially
if ( ! caps ) {
session . logger . warn ( 'Capabilities not available' );
return ;
}
Next Steps
Display Glasses G1, Vuzix - display-specific features
Camera Glasses Mentra Live - camera-specific features
Capabilities Reference Complete capabilities types
Device Control Using device features