Define named quality presets for video recording and streaming with different resolution, bitrate, and framerate settings.
What Problem Does This Solve?
When building apps with video capture, you need to offer users quality options that balance visual fidelity with performance and file size. Different use cases need different settings—recording gameplay for upload needs higher quality than live streaming, and mobile devices have different constraints than desktop.QualityOption lets you define named presets (like “High”, “Medium”, “Low”) where each preset has separate configurations for recording vs. streaming.
When to Use QualityOption
Use QualityOption when:
You want to give users selectable quality presets (Low/Medium/High)
Recording and streaming need different settings (recording at higher quality, streaming at lower bitrate)
You’re building a quality settings menu in your app
Different platforms need different quality tiers
Skip this if you’re hardcoding a single quality level for all users.
Quick Example
// Define a "High" quality presetvar resolution = new CameraResolutionDescriptor(1920, 1080);var highQuality = new QualityOption( name: "High", isDefault: true, cameraTrackDescriptor: new CameraTrackDescriptor( resolution, bitrate: 8 << 20, // 8 Mbps for recording framerate: 60 ), streamingCameraTrackDescriptor: new CameraTrackDescriptor( resolution, bitrate: 5 << 20, // 5 Mbps for streaming framerate: 30 ));
This creates a “High” preset that records at 8 Mbps/60fps but streams at 5 Mbps/30fps.
How It Works
Each QualityOption contains:
Name — Display label shown to users (“High”, “Medium”, “Low”)
Recording settings — Resolution, bitrate, framerate for saved videos
Streaming settings — Usually lower bitrate/framerate for live streaming
Default flag — Marks which option is selected by default
You typically create multiple QualityOption instances and add them to a LckQualityConfig asset.
Common Patterns
Three-tier quality system
var options = new List<QualityOption>{ new QualityOption("Low", false, new CameraTrackDescriptor(new CameraResolutionDescriptor(1280, 720), 3 << 20, 30), new CameraTrackDescriptor(new CameraResolutionDescriptor(1280, 720), 2 << 20, 30) ), new QualityOption("Medium", true, // default new CameraTrackDescriptor(new CameraResolutionDescriptor(1920, 1080), 5 << 20, 30), new CameraTrackDescriptor(new CameraResolutionDescriptor(1920, 1080), 3 << 20, 30) ), new QualityOption("High", false, new CameraTrackDescriptor(new CameraResolutionDescriptor(1920, 1080), 8 << 20, 60), new CameraTrackDescriptor(new CameraResolutionDescriptor(1920, 1080), 5 << 20, 30) )};
Record-only mode (no streaming)
var recordTrack = new CameraTrackDescriptor( new CameraResolutionDescriptor(1920, 1080), 10 << 20, 60);// Use same track for both recording and streamingvar option = new QualityOption("Ultra", true, recordTrack, recordTrack);
API Reference
Constructor
public QualityOption( string name, bool isDefault, CameraTrackDescriptor cameraTrackDescriptor, CameraTrackDescriptor streamingCameraTrackDescriptor)
Parameters
name — Display name shown in UI (“High”, “Medium”, “Low”)
isDefault — Set true for the default selection
cameraTrackDescriptor — Settings for recording
streamingCameraTrackDescriptor — Settings for live streaming
Fields
Field
Type
Description
Name
string
Display name of the quality option
IsDefault
bool
Whether this is the default selection
RecordingCameraTrackDescriptor
CameraTrackDescriptor
Track settings for recording
StreamingCameraTrackDescriptor
CameraTrackDescriptor
Track settings for streaming
Obsolete Members
Deprecated:CameraTrackDescriptor field is obsolete. Use RecordingCameraTrackDescriptor or StreamingCameraTrackDescriptor instead.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"LCK Documentation","colors":{"primary":"#16A34A","light":"#07C983","dark":"#0F1010"},"logo":{"light":"https://mintcdn.com/liv/P0AQb0Qv3xTLcYU_/logo/light.svg?fit=max\u0026auto=format\u0026n=P0AQb0Qv3xTLcYU_\u0026q=85\u0026s=7e791c6396bf20f7edd3a53a9aba5417","dark":"https://mintcdn.com/liv/P0AQb0Qv3xTLcYU_/logo/dark.svg?fit=max\u0026auto=format\u0026n=P0AQb0Qv3xTLcYU_\u0026q=85\u0026s=3c482e2593c6692290640e79013e2e1e"},"favicon":"/favicon.png","background":{"color":{"dark":"#0F1010"}},"navbar":{"links":[],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.liv.tv/dev/login"}},"footer":{"socials":{"x":"https://twitter.com/LIV","youtube":"https://www.youtube.com/@liv","instagram":"https://www.instagram.com/liv","bluesky":"https://bsky.app/profile/liv.tv","discord":"https://liv.tv/discord","website":"https://liv.tv"}},"seo":{"indexing":"navigable"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Download SDK","icon":"rocket","href":"https://dashboard.liv.tv/dev/login"},{"anchor":"Support","icon":"discord","href":"https://discord.com/invite/liv"},{"anchor":"Data Privacy and Telemetry","icon":"eye-slash","href":"/data-privacy-and-telemetry"},{"anchor":"License Agreement","icon":"scale-balanced","href":"/license-agreement"},{"anchor":"ATTRIBUTION REQUIREMENTS","icon":"shield-check","href":"/attribution-requirements"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"liv","hasAudioNarration":false,"actualSubdomain":"liv","customDomains":["docs.liv.tv"],"gitSource":{"type":"github","owner":"liv","repo":"liv-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae93ef3e44c5ae7a60d1ca0:success","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"LIV Camera Kit for Unreal","count":58},{"language":"default","tag":"API Reference","count":50},{"language":"default","tag":"LIV Camera Kit for Unity","count":43},{"language":"default","tag":"Mixed Reality Capture for PCVR","count":34},{"language":"default","tag":"Unity SDK","count":21},{"language":"default","tag":"Classes","count":13},{"language":"default","tag":"LIV App API","count":7},{"language":"default","tag":"Unreal SDK","count":7},{"language":"default","tag":"Core SDK","count":7},{"language":"default","tag":"Tablet Customization","count":7}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@liv.tv"}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/unity/structs/QualityOption","slug":"/api-reference/unity/structs/QualityOption","pageMetadata":{"title":"QualityOption","description":"Define named quality presets for video recording and streaming with different resolution, bitrate, and framerate settings.","href":"/api-reference/unity/structs/QualityOption","hidden":false},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Define named quality presets for video recording and streaming with different resolution, bitrate, and framerate settings.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`what-problem-does-this-solve`,children:`What Problem Does This Solve?`}),`\n`,_jsx(_components.p,{children:`When building apps with video capture, you need to offer users quality options that balance visual fidelity with performance and file size. Different use cases need different settings—recording gameplay for upload needs higher quality than live streaming, and mobile devices have different constraints than desktop.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`QualityOption`}),` lets you define named presets (like “High”, “Medium”, “Low”) where each preset has separate configurations for recording vs. streaming.`]}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-use-qualityoption`,children:`When to Use QualityOption`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`QualityOption`}),` when:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`You want to give users selectable quality presets (Low/Medium/High)`}),`\n`,_jsx(_components.li,{children:`Recording and streaming need different settings (recording at higher quality, streaming at lower bitrate)`}),`\n`,_jsx(_components.li,{children:`You’re building a quality settings menu in your app`}),`\n`,_jsx(_components.li,{children:`Different platforms need different quality tiers`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Skip this if you’re hardcoding a single quality level for all users.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`quick-example`,children:`Quick Example`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`17`,language:`csharp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`csharp`,children:_jsxs(_components.code,{language:`csharp`,numberOfLines:`17`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Define a \"High\" quality preset`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`var`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` resolution`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraResolutionDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1920`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1080`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`var`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` highQuality`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` QualityOption`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"High\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` isDefault`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` cameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` resolution`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` bitrate`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`8`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// 8 Mbps for recording`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` framerate`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`60`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` streamingCameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` resolution`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` bitrate`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// 5 Mbps for streaming`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` framerate`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`This creates a “High” preset that records at 8 Mbps/60fps but streams at 5 Mbps/30fps.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`how-it-works`,children:`How It Works`}),`\n`,_jsxs(_components.p,{children:[`Each `,_jsx(_components.code,{children:`QualityOption`}),` contains:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Name`}),` — Display label shown to users (“High”, “Medium”, “Low”)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Recording settings`}),` — Resolution, bitrate, framerate for saved videos`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Streaming settings`}),` — Usually lower bitrate/framerate for live streaming`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Default flag`}),` — Marks which option is selected by default`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`You typically create multiple `,_jsx(_components.code,{children:`QualityOption`}),` instances and add them to a `,_jsx(_components.code,{children:`LckQualityConfig`}),` asset.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`common-patterns`,children:`Common Patterns`}),`\n`,_jsx(Heading,{level:`3`,id:`three-tier-quality-system`,children:`Three-tier quality system`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`csharp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`csharp`,children:_jsxs(_components.code,{language:`csharp`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`var`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` options`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` List`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`QualityOption`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` QualityOption`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Low\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraResolutionDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1280`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`720`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraResolutionDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1280`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`720`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` QualityOption`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Medium\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// default`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraResolutionDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1920`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1080`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraResolutionDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1920`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1080`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ),`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` QualityOption`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"High\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraResolutionDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1920`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1080`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`8`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`60`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraResolutionDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1920`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1080`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` )`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`};`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`record-only-mode-no-streaming`,children:`Record-only mode (no streaming)`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`csharp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`csharp`,children:_jsxs(_components.code,{language:`csharp`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`var`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` recordTrack`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` CameraResolutionDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1920`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1080`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`), `})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 10`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c\u003c`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 20`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 60`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Use same track for both recording and streaming`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`var`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` option`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` QualityOption`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Ultra\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`recordTrack`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`recordTrack`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`api-reference`,children:`API Reference`}),`\n`,_jsx(Heading,{level:`3`,id:`constructor`,children:`Constructor`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`csharp`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`csharp`,children:_jsxs(_components.code,{language:`csharp`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`public`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` QualityOption`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` bool`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` isDefault`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` CameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` cameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` CameraTrackDescriptor`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` streamingCameraTrackDescriptor`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`parameters`,children:`Parameters`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`name`}),` — Display name shown in UI (“High”, “Medium”, “Low”)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`isDefault`}),` — Set `,_jsx(_components.code,{children:`true`}),` for the default selection`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`cameraTrackDescriptor`}),` — Settings for recording`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`streamingCameraTrackDescriptor`}),` — Settings for live streaming`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`fields`,children:`Fields`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Type`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`Name`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`string`})}),_jsx(_components.td,{children:`Display name of the quality option`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`IsDefault`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`bool`})}),_jsx(_components.td,{children:`Whether this is the default selection`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`RecordingCameraTrackDescriptor`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CameraTrackDescriptor`})}),_jsx(_components.td,{children:`Track settings for recording`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`StreamingCameraTrackDescriptor`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`CameraTrackDescriptor`})}),_jsx(_components.td,{children:`Track settings for streaming`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`obsolete-members`,children:`Obsolete Members`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Deprecated:`}),` `,_jsx(_components.code,{children:`CameraTrackDescriptor`}),` field is obsolete. Use `,_jsx(_components.code,{children:`RecordingCameraTrackDescriptor`}),` or `,_jsx(_components.code,{children:`StreamingCameraTrackDescriptor`}),` instead.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/unity/structs/CameraTrackDescriptor`,children:`CameraTrackDescriptor`}),` — Define resolution, bitrate, framerate`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/unity/structs/CameraResolutionDescriptor`,children:`CameraResolutionDescriptor`}),` — Specify output resolution`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/unity/classes/LckQualityConfig`,children:`LckQualityConfig`}),` — Asset that contains quality options`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/unity/structs/QualityOptionOverride`,children:`QualityOptionOverride`}),` — Device-specific overrides`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"QualityOption","description":"Define named quality presets for video recording and streaming with different resolution, bitrate, and framerate settings.","href":"/api-reference/unity/structs/QualityOption","hidden":false}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What Problem Does This Solve?","slug":"what-problem-does-this-solve","depth":2,"children":[]},{"title":"When to Use QualityOption","slug":"when-to-use-qualityoption","depth":2,"children":[]},{"title":"Quick Example","slug":"quick-example","depth":2,"children":[]},{"title":"How It Works","slug":"how-it-works","depth":2,"children":[]},{"title":"Common Patterns","slug":"common-patterns","depth":2,"children":[{"title":"Three-tier quality system","slug":"three-tier-quality-system","depth":3,"children":[]},{"title":"Record-only mode (no streaming)","slug":"record-only-mode-no-streaming","depth":3,"children":[]}]},{"title":"API Reference","slug":"api-reference","depth":2,"children":[{"title":"Constructor","slug":"constructor","depth":3,"children":[]},{"title":"Parameters","slug":"parameters","depth":4,"children":[]},{"title":"Fields","slug":"fields","depth":3,"children":[]},{"title":"Obsolete Members","slug":"obsolete-members","depth":3,"children":[]}]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/liv/b1cda4179d8fd79d/umami-inject.js"],"subdomain":"liv","siteName":"LCK Documentation","title":"QualityOption - LCK Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-05T19:02:39.765Z","originalFileLocation":"api-reference/unity/structs/QualityOption.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Define named quality presets for video recording and streaming with different resolution, bitrate, and framerate settings.\">\u003cmeta data-mint-head name=\"application-name\" content=\"LCK Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/liv/2YwGbVFatzqxeQOO/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/liv/2YwGbVFatzqxeQOO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/liv/2YwGbVFatzqxeQOO/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/liv/2YwGbVFatzqxeQOO/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/liv/2YwGbVFatzqxeQOO/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/liv/2YwGbVFatzqxeQOO/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/liv/2YwGbVFatzqxeQOO/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/liv/2YwGbVFatzqxeQOO/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/liv/2YwGbVFatzqxeQOO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"QualityOption - LCK Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Define named quality presets for video recording and streaming with different resolution, bitrate, and framerate settings.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"LCK Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.liv.tv/api-reference/unity/structs/QualityOption\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://liv.mintlify.site/_mintlify/api/og/v2?division=Structs\u0026amp;title=QualityOption\u0026amp;description=Define+named+quality+presets+for+video+recording+and+streaming+with+different+resolution%2C+bitrate%2C+and+framerate+settings.\u0026amp;theme=93bc205c30d0a72bef409d8e\u0026amp;signature=afdb846560d3718a2f895d2848b9f56c8038257cacc969bee8ba7e81783441dd\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"QualityOption - LCK Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Define named quality presets for video recording and streaming with different resolution, bitrate, and framerate settings.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://liv.mintlify.site/_mintlify/api/og/v2?division=Structs\u0026amp;title=QualityOption\u0026amp;description=Define+named+quality+presets+for+video+recording+and+streaming+with+different+resolution%2C+bitrate%2C+and+framerate+settings.\u0026amp;theme=93bc205c30d0a72bef409d8e\u0026amp;signature=afdb846560d3718a2f895d2848b9f56c8038257cacc969bee8ba7e81783441dd\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/liv/2YwGbVFatzqxeQOO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"LCK Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.liv.tv/api-reference/unity/structs/QualityOption\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/unity/structs/QualityOption.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.liv.tv/#organization\",\"name\":\"LCK Documentation\",\"url\":\"https://docs.liv.tv\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/liv/P0AQb0Qv3xTLcYU_/logo/light.svg?fit=max\u0026auto=format\u0026n=P0AQb0Qv3xTLcYU_\u0026q=85\u0026s=7e791c6396bf20f7edd3a53a9aba5417\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.liv.tv#website\",\"name\":\"LCK Documentation\",\"url\":\"https://docs.liv.tv\",\"publisher\":{\"@id\":\"https://docs.liv.tv/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.liv.tv/api-reference/unity/structs/QualityOption#webpage\",\"url\":\"https://docs.liv.tv/api-reference/unity/structs/QualityOption\",\"name\":\"QualityOption\",\"description\":\"Define named quality presets for video recording and streaming with different resolution, bitrate, and framerate settings.\",\"dateModified\":\"2026-03-05T19:02:39.765Z\",\"isPartOf\":{\"@id\":\"https://docs.liv.tv#website\"},\"breadcrumb\":{\"@id\":\"https://docs.liv.tv/api-reference/unity/structs/QualityOption#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.liv.tv/api-reference/unity/structs/QualityOption#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.liv.tv/api-reference/unity/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"QualityOption\",\"item\":\"https://docs.liv.tv/api-reference/unity/structs/QualityOption\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.liv.tv/api-reference/unity/structs/QualityOption#article\",\"headline\":\"QualityOption\",\"name\":\"QualityOption\",\"description\":\"Define named quality presets for video recording and streaming with different resolution, bitrate, and framerate settings.\",\"url\":\"https://docs.liv.tv/api-reference/unity/structs/QualityOption\",\"mainEntityOfPage\":{\"@id\":\"https://docs.liv.tv/api-reference/unity/structs/QualityOption#webpage\"},\"dateModified\":\"2026-03-05T19:02:39.765Z\",\"publisher\":{\"@id\":\"https://docs.liv.tv/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.liv.tv#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"LCK Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"LCK Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/unity/structs/QualityOption.md","siteName":"LCK Documentation","nav":{"global":{"anchors":[{"anchor":"Download SDK","icon":"rocket","href":"https://dashboard.liv.tv/dev/login"},{"anchor":"Support","icon":"discord","href":"https://discord.com/invite/liv"},{"anchor":"Data Privacy and Telemetry","icon":"eye-slash","href":"/data-privacy-and-telemetry"},{"anchor":"License Agreement","icon":"scale-balanced","href":"/license-agreement"},{"anchor":"ATTRIBUTION REQUIREMENTS","icon":"shield-check","href":"/attribution-requirements"}]},"dropdowns":[{"dropdown":"LIV Camera Kit for Unity","icon":"unity","description":"Learn about in-game cameras for Unity","pages":[{"title":"LIV — In-Game Camera SDK for Unity \u0026 Unreal","sidebarTitle":"Welcome","href":"/unity/welcome"},{"title":"In-Game Recording Comparison: Build vs FFmpeg vs OBS vs LIV","sidebarTitle":"Why LIV?","href":"/unity/comparison"},{"group":"Unity SDK","pages":[{"title":"In-Game Recording and Live Streaming for Unity","sidebarTitle":"Overview","href":"/unity/overview"},{"title":"Unity Installation","sidebarTitle":"Installation","href":"/unity/installation"},{"title":"Unity Quickstart","sidebarTitle":"Quickstart","href":"/unity/quickstart"},{"title":"Upgrade Guide","href":"/unity/upgrade-guide"},{"title":"Camera Spawning","sidebarTitle":"Camera Spawning","href":"/unity/camera-spawning"},{"title":"Recording","sidebarTitle":"Recording","href":"/unity/recording"},{"title":"Live Streaming","sidebarTitle":"Live Streaming","href":"/unity/live-streaming"},{"title":"Audio Configuration","sidebarTitle":"Audio","href":"/unity/audio"},{"title":"Tablet Customization","sidebarTitle":"Tablet Customization","href":"/unity/tablet-customization"},{"title":"Troubleshooting","sidebarTitle":"Troubleshooting","href":"/unity/troubleshooting"},{"title":"Frequently Asked Questions","sidebarTitle":"FAQ","href":"/unity/faq"}]},{"group":"API Reference","pages":[{"title":"API Reference","sidebarTitle":"Introduction","href":"/api-reference/unity/introduction"},{"group":"Classes","pages":[{"group":"Core","pages":[{"title":"LckCore","href":"/api-reference/unity/classes/core/LckCore"},{"title":"Result \u003c T >","href":"/api-reference/unity/classes/core/Result"}]},{"title":"LckCamera","href":"/api-reference/unity/classes/LckCamera"},{"title":"LCKCameraController","href":"/api-reference/unity/classes/LckCameraController"},{"title":"LckDescriptor","href":"/api-reference/unity/classes/LckDescriptor"},{"title":"LckMediator","href":"/api-reference/unity/classes/LckMediator"},{"title":"LckMonitor","href":"/api-reference/unity/classes/LckMonitor"},{"title":"LckNotificationController","href":"/api-reference/unity/classes/LckNotificationController"},{"title":"LckOnScreenUIController","href":"/api-reference/unity/classes/LckOnScreenUIController"},{"title":"LckQualityConfig","href":"/api-reference/unity/classes/LckQualityConfig"},{"title":"LckResult","href":"/api-reference/unity/classes/LckResult"},{"title":"LckService","href":"/api-reference/unity/classes/LckService"},{"title":"LckStreamingController","href":"/api-reference/unity/classes/LckStreamingController"}]},{"group":"Interface","pages":[{"title":"ILckAudioSource","href":"/api-reference/unity/interfaces/ILckAudioSource"},{"title":"ILckMonitor","href":"/api-reference/unity/interfaces/ILckMonitor"},{"title":"ILckService","href":"/api-reference/unity/interfaces/ILckService"},{"title":"ILckCamera","href":"/api-reference/unity/interfaces/ILckCamera"},{"group":"Core","pages":[{"title":"ILckCore","href":"/api-reference/unity/interfaces/core/ILckCore"}]}]},{"group":"Enums","pages":[{"title":"LckError","href":"/api-reference/unity/enums/LckError"},{"title":"LckCameraOrientation","href":"/api-reference/unity/enums/LckCameraOrientation"},{"title":"LckCaptureType","href":"/api-reference/unity/enums/LckCaptureType"},{"title":"CoreError","href":"/api-reference/unity/enums/CoreError"},{"group":"Core","pages":[{"title":"LevelFilter","description":"Control SDK logging verbosity from silent to full trace for debugging and production builds.","href":"/api-reference/unity/enums/core/LevelFilter"}]}]},{"group":"Structs","pages":[{"title":"QualityOption","href":"/api-reference/unity/structs/QualityOption"},{"title":"QualityOptionOverride","description":"Override quality settings for specific device models to optimize performance and quality on different hardware.","href":"/api-reference/unity/structs/QualityOptionOverride"},{"title":"CameraTrackDescriptor","href":"/api-reference/unity/structs/CameraTrackDescriptor"},{"title":"CameraResolutionDescriptor","href":"/api-reference/unity/structs/CameraResolutionDescriptor"},{"group":"Core","pages":[{"title":"GameInfo","href":"/api-reference/unity/structs/core/GameInfo"}]}]}]},{"title":"Changelog","sidebarTitle":"Changelog","tag":"changelog","href":"/unity/changelog"}]},{"dropdown":"LIV Camera Kit for Unreal","icon":"union","description":"Learn about in-game cameras for Unreal","pages":[{"title":"In-Game Recording and Live Streaming for Unreal Engine","sidebarTitle":"Overview","href":"/unreal/overview"},{"title":"Installation","href":"/unreal/installation"},{"title":"Quickstart","href":"/unreal/quickstart"},{"title":"Upgrade Guide","href":"/unreal/upgrade-guide"},{"title":"Camera Spawning","href":"/unreal/camera-spawning"},{"title":"Frequently Asked Questions","sidebarTitle":"FAQ","href":"/unreal/faq"},{"group":"Core SDK","pages":[{"title":"Core SDK","href":"/unreal/core-sdk/overview"},{"title":"Project Settings","href":"/unreal/core-sdk/project-settings"},{"title":"Recording","href":"/unreal/core-sdk/recording"},{"title":"Encoding","href":"/unreal/core-sdk/encoding"},{"title":"Telemetry","href":"/unreal/core-sdk/telemetry"},{"title":"Android Gallery","href":"/unreal/core-sdk/android-gallery"},{"title":"Core SDK API Reference","href":"/unreal/core-sdk/api-reference"}]},{"group":"Tablet Interface","pages":[{"title":"Tablet Interface","href":"/unreal/tablet-interface/overview"},{"title":"Spawning","href":"/unreal/tablet-interface/spawning"},{"title":"Camera Modes","href":"/unreal/tablet-interface/camera-modes"},{"title":"Data Persistence","href":"/unreal/tablet-interface/data-persistence"},{"title":"Integration","href":"/unreal/tablet-interface/integration"},{"title":"Tablet Interface API Reference","href":"/unreal/tablet-interface/api-reference"}]},{"group":"Tablet Customization","pages":[{"title":"UI Components","href":"/unreal/tablet-customization/overview"},{"title":"UI Customization","sidebarTitle":"Customization","href":"/unreal/tablet-customization/customization"},{"title":"Buttons","href":"/unreal/tablet-customization/buttons"},{"title":"Controls","href":"/unreal/tablet-customization/controls"},{"title":"State Management","href":"/unreal/tablet-customization/state-management"},{"title":"Themes, Materials and Sounds","href":"/unreal/tablet-customization/themes-materials-sounds"},{"title":"UI Components API Reference","href":"/unreal/tablet-customization/api-reference"}]},{"group":"Audio","pages":[{"title":"Audio System","href":"/unreal/audio/overview"},{"title":"Unreal Audio","href":"/unreal/audio/unreal-audio"},{"title":"FMOD","href":"/unreal/audio/fmod"},{"title":"Oboe (Android)","href":"/unreal/audio/oboe-android"},{"title":"Vivox","href":"/unreal/audio/vivox"},{"title":"Wwise","href":"/unreal/audio/wwise"}]},{"group":"Streaming","pages":[{"title":"Streaming Overview","href":"/unreal/streaming/overview"},{"title":"Streaming Quick Start","href":"/unreal/streaming/quickstart"},{"title":"Authentication","href":"/unreal/streaming/authentication"}]},{"title":"Troubleshooting","href":"/unreal/troubleshooting"},{"group":"API Reference","pages":[{"title":"Architecture (Unreal)","href":"/api-reference/unreal/architecture"},{"title":"Module Loading ","href":"/api-reference/unreal/module-loading"},{"title":"Types \u0026 Structs (Unreal)","href":"/api-reference/unreal/types"},{"title":"Enums Reference (Unreal)","href":"/api-reference/unreal/enums"},{"title":"Error Codes (Unreal)","href":"/api-reference/unreal/errors"},{"title":"Delegates Reference","href":"/api-reference/unreal/delegates"},{"title":"ULCKService (Unreal)","href":"/api-reference/unreal/service-interface"},{"title":"ILCKEncoder Interface (Unreal)","href":"/api-reference/unreal/encoder-interface"},{"title":"ILCKAudioSource Interface","href":"/api-reference/unreal/audio-source-interface"},{"title":"Best Practices (Unreal)","href":"/api-reference/unreal/best-practices"},{"title":"Device-Specific Settings (Unreal)","href":"/api-reference/unreal/device-overrides"},{"title":"ILCKStreamingFeature (Unreal)","href":"/api-reference/unreal/streaming-feature-interface"},{"title":"ILCKPacketSink (Unreal)","href":"/api-reference/unreal/packet-sink-interface"},{"title":"ULCKStreamingSubsystem (Unreal)","href":"/api-reference/unreal/streaming-subsystem"},{"title":"Streaming Types (Unreal)","href":"/api-reference/unreal/streaming-types"},{"group":"Audio API","pages":[{"title":"Audio API Overview","href":"/api-reference/unreal/audio/overview"},{"title":"Unreal Audio","href":"/api-reference/unreal/audio/unreal-audio"},{"title":"FMOD","href":"/api-reference/unreal/audio/FMOD"},{"title":"Oboe (Android)","href":"/api-reference/unreal/audio/Oboe-Android"},{"title":"Vivox","href":"/api-reference/unreal/audio/Vivox"},{"title":"Wwise","href":"/api-reference/unreal/audio/Wwise"}]}]},{"title":"Changelog","tag":"changelog","href":"/unreal/changelogs"}]},{"dropdown":"Mixed Reality Capture for PCVR","icon":"person-to-portal","pages":[{"title":"What is LIV Mixed Reality SDK","href":"/mixed-reality-capture/home/what-is-liv-mixed-reality-sdk"},{"title":"Overview of adding LIV support to your app","href":"/mixed-reality-capture/home/overview"},{"title":"Getting the LIV SDK","href":"/mixed-reality-capture/home/getting-the-liv-sdk"},{"group":"Unity SDK","pages":[{"title":"LIV SDK v2.0 for Unity","href":"/mixed-reality-capture/unity/overview"},{"title":"Unity Quickstart Guide","href":"/mixed-reality-capture/unity/quickstart"},{"title":"VR Rig Hierarchy","href":"/mixed-reality-capture/unity/vr-rig-hierarchy"},{"title":"Customising Your Integration","href":"/mixed-reality-capture/unity/customizing"},{"title":"Universal Render Pipeline","href":"/mixed-reality-capture/unity/urp"},{"title":"Upgrading from SDKv1.5 to v2.0","href":"/mixed-reality-capture/unity/upgrade"},{"title":"API Reference","href":"/mixed-reality-capture/unity/api-reference"},{"title":"Frequently Asked Questions","href":"/mixed-reality-capture/unity/faq"},{"title":"Troubleshooting","href":"/mixed-reality-capture/unity/troubleshooting"},{"title":"Change log","href":"/mixed-reality-capture/unity/change-log"}]},{"group":"Unreal SDK","pages":[{"title":"What is the Unreal LIV SDK?","href":"/mixed-reality-capture/unreal/overview"},{"title":"Installing and Configuring LIV SDK","href":"/mixed-reality-capture/unreal/installation"},{"title":"Tips And Configurations","href":"/mixed-reality-capture/unreal/tips-and-config"},{"title":"Integration Testing","href":"/mixed-reality-capture/unreal/integration-testing"},{"title":"Meta Fork Specifics","href":"/mixed-reality-capture/unreal/meta-fork"},{"title":"Additional Resources","href":"/mixed-reality-capture/unreal/additional-resources"},{"title":"Change Log","href":"/mixed-reality-capture/unreal/change-log"}]},{"group":"Meta Presence Platform","pages":[{"title":"Meta Presence Platform Integration","href":"/mixed-reality-capture/meta-presence-platform/overview"},{"title":"Capturing Meta Presence Platform with LIV","href":"/mixed-reality-capture/meta-presence-platform/capturing"}]},{"group":"Integration Testing","pages":[{"title":"LIV SDK Integration Testing","href":"/mixed-reality-capture/integration-testing/overview"},{"title":"Testing LIV - Basic Mixed Reality","href":"/mixed-reality-capture/integration-testing/basic-mixed-reality"},{"title":"Testing LIV - Avatars and Virtual Camera","href":"/mixed-reality-capture/integration-testing/avatars-virtual-camera"},{"title":"Testing LIV - Quest Presence Platform","href":"/mixed-reality-capture/integration-testing/quest-presence-platform"},{"title":"Releasing your app with LIV support","href":"/mixed-reality-capture/integration-testing/releasing-app"}]},{"group":"LIV App API","pages":[{"title":"LIV App API","href":"/mixed-reality-capture/liv-app-api/overview"},{"title":"Avatar Camera Plugins","href":"/mixed-reality-capture/liv-app-api/camera-plugins"},{"title":"Command Line","href":"/mixed-reality-capture/liv-app-api/command-line"},{"title":"Registry","href":"/mixed-reality-capture/liv-app-api/registry"},{"group":"URI Scheme","pages":[{"title":"What are URI Scheme Commands?","href":"/mixed-reality-capture/liv-app-api/uri-scheme/uri-scheme"},{"title":"URI Commands - Cameras","href":"/mixed-reality-capture/liv-app-api/uri-scheme/camera"},{"title":"URI Commands - Controlling LIV","href":"/mixed-reality-capture/liv-app-api/uri-scheme/control"}]}]}]}]},"basePath":"","title":"QualityOption - LCK Documentation","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}