PARAMETER REFERENCE
Appendix
Supplementary reference covering limitations, preference customization, keyboard/mouse shortcuts, and parameter value ranges.
Limitations
| Item | Limit Details |
|---|---|
| Max Characters | Full tiers: Low: 16, Mid: 30, High: 60, and 3D: 30. Lite tiers: Automatically relaxed to 1.5x of the normal presets (Lite Low: 24, Lite Mid: 45, Lite High: 90, and Lite (3D): 45). Scripting: 512 characters. Note: Full and Lite tiers are customizable via preferences.json up to a hard limit of 512 characters. |
| Max Parts | Full tiers: Low: 60, Mid: 84, High: 170, and 3D: 84. Lite tiers and Scripting: No individual part parameters are defined, so the maximum drawable limit of 1,024 parts is available. |
| Max Shapes | Up to 256 shapes across all presets (declared from Lua via ctx.shapes:declare; does not consume character or part limits). |
| Preset Options | The full 2D presets (Low / Mid / High), Lite 2D presets (Lite Low / Lite Mid / Lite High), Mug Typography 3D, Mug Typography Lite (3D), and Lua-focused Mug Typography Scripting provide nine choices in total. The 3D presets use limits based on Mid. |
| Individual Settings Disabled | Lite tiers, including Lite (3D), hide Part Settings and Part selection mode. Scripting hides both Character Settings and Part Settings, along with both selection modes; per-character and per-part values are controlled from Lua. |
| Compatibility | Due to the split of the alignment parameter into Horizontal Alignment and Vertical Alignment, alignment settings in older projects will be reset. Please re-adjust alignment if necessary. |
| Background Compositing Limitation (Filters) | If rendering switches to CPU mode due to GPU errors or other issues, background compositing will be skipped due to specifications, resulting in only the text being rendered (on a transparent or black background). |
| Edit Page: Color Alpha | Due to DaVinci Resolve specifications, the alpha value (transparency) of color parameters cannot be set in the Edit page. Use the Fusion page if you require transparency. |
| Edit Page: Keyframe Editor | Only parameters of the currently active page in the Inspector are shown. To set keyframes for parameters on other pages, switch pages accordingly. |
| Edit Page: Keyframe Curves for 2D Parameters | Due to DaVinci Resolve specifications, keyframe curves (such as easing) cannot be adjusted for 2D parameters like Position on the Edit page. If you need to customize animation curves or easing for movement, please use the Fusion page version of the plugin. |
| Edit Page: Keyframing Split Clips | If you set keyframes from the plugin (viewer operations, WinAlt+KMacOption+K, etc.) on a clip that has been split (cut) on the Edit page, the keyframes are not placed at the correct positions. This is an issue caused by DaVinci Resolve's behavior and the plugin cannot work around it. For this reason, we recommend not splitting the clip you apply this plugin to. |
| Fusion Page: Color Shift in Color Managed Projects | When a project's Color Science is set to DaVinci YRGB Color Managed, DaVinci Resolve treats the OFX plugin output on the Fusion page as linear (gamma 1.0) and applies an extra gamma curve when sending it to the viewer or timeline, making midtones look brighter and washed out (standard DaVinci YRGB projects and Edit page generators are unaffected). When working in a Color Managed project on the Fusion page, insert a Color Space Transform node immediately after this plugin with Input Color Space: Rec.709, Input Gamma: Rec.709, Output Color Space: Rec.709, Output Gamma: Linear, and Pre-Divide/Post-Multiply: ON to restore the intended colors. |
| TTC Font List Change | All faces contained in .ttc files are listed individually in the font list. Projects created with older versions may have shifted font selections if any font listed after a .ttc file was used. If this occurs, please re-select the font in the Inspector. |
Customizing Preferences (preferences.json)
In Mug Typography, you can customize the plugin's maximum operating limits (maximum characters and maximum parts) by editing the configuration file preferences.json. There are two main reasons to adjust these values:
- Increasing the character/part limits: If the limits of the existing presets (Low / Mid / High) aren't enough for your text or part count, you can raise the
maxCharacters/maxPartsvalues to accommodate it. - Reducing load time: Conversely, if you know your text will be short or use few parts, you can lower the limits to reduce loading time. Load time is roughly proportional to "(max characters × number of character parameters) + (max parts × number of part parameters)", so the key to keeping the plugin responsive is not to set the limits higher than you actually need.
File Location
The preference file is located in the application data directory of each OS. If the file does not exist, it will be automatically created with default settings upon launching the plugin for the first time.
- Windows:
%APPDATA%\MugLab\MugTypography\preferences.json
(You can open this folder by entering%APPDATA%\MugLab\MugTypography\in the Address Bar of Explorer and pressing Enter.) - macOS:
~/Library/Application Support/MugLab/MugTypography/preferences.json
Configuration Format
The file is written in JSON format. You can customize the maximum characters (maxCharacters) and maximum parts (maxParts) for each preset (Low, Mid, High) by changing their values:
{
"low": {
"maxCharacters": 16,
"maxParts": 60
},
"mid": {
"maxCharacters": 30,
"maxParts": 84
},
"high": {
"maxCharacters": 60,
"maxParts": 170
}
}CAUTION
Risks Associated with Editing Preferences (preferences.json)
Changes made to preferences.json globally affect all projects (including existing ones) in DaVinci Resolve. Please understand the following risks before making any modifications:
- Lowering the Limit (Data Loss Risk):
If you lower the maximum limits below the number of characters or parts already used in an existing project, and then open that project, any character or part parameter data exceeding the new lower limit will be permanently lost (truncated). Saving the project in this state will overwrite the data irreversibly. Use extreme caution when lowering limits. - Raising the Limit (Performance & Stability Risk):
Increasing the limits allows you to handle longer text, but significantly increases load time and the time it takes to switch clips (Inspector). Setting limits close to the hard maximums may cause sluggish performance or lead to DaVinci Resolve crashes due to memory exhaustion, depending on your system specifications.
Specifications
- Maximum Limits:
maxCharacters(max characters) is up to 512, andmaxParts(max parts) is up to 1,024. - Out-of-range Values:
If a value exceeding these limits or a value less than1is specified, it will be ignored and automatically return to the default value for the respective preset (e.g., 30 characters / 84 parts for Mid). - Max Characters for Lite Presets:
The maximum character limit for Lite presets (LiteLow / LiteMid / LiteHigh) is automatically increased to 1.5 times (up to 512 characters) the value ofmaxCharactersconfigured for the normal presets. - 3D Presets:
3D uses Mid'smaxCharactersandmaxParts, and Lite 3D uses 1.5 times Mid'smaxCharacters. There is no separate 3D limit entry; changing Mid also updates the 3D presets. - Scripting Preset: Scripting uses limits of 512 characters and 1,024 parts regardless of the values in
preferences.json. Because it defines no individual Character or Part parameters, these higher limits do not increase the number of Inspector controls.
Customizing Shortcuts
You can customize some of the shortcut keys (the keycode part excluding modifier keys) used in the preview screen by writing a shortcuts object in the configuration file.
The parameters and default values that can be set are as follows:
| Parameter (JSON Key) | Description | Default Key | Default Code (Decimal) |
|---|---|---|---|
alignHorizontal | Align selected characters horizontally | H | 72 |
alignVertical | Align selected characters vertically | V | 86 |
selectGlobal | Switch to Global selection mode | A | 65 |
selectCharacter | Switch to Character selection mode | C | 67 |
selectPart | Switch to Part selection mode | P | 80 |
selectCamera | Switch to Camera selection mode | M | 77 |
setKeyframe | Set keyframes for selected items | K | 75 |
adjustIncrease | Increase margin or tracking | Up (Up Arrow) | 65362 |
adjustDecrease | Decrease margin or tracking | Down (Down Arrow) | 65364 |
clearAlpha | Make the selected characters transparent (clear alpha) | [ | 91 |
restoreAlpha | Restore the transparency of the selected characters | ] | 93 |
copy | Remember the selected character/part as the copy source | Y | 89 |
paste | Paste the copy source's parameters onto the selection | U | 85 |
toggleOutline | Toggle the outline (boundary) display ON/OFF | ; | 59 |
Configuration Example
{
"low": {
"maxCharacters": 16,
"maxParts": 60
},
"mid": {
"maxCharacters": 30,
"maxParts": 84
},
"high": {
"maxCharacters": 60,
"maxParts": 170
},
"shortcuts": {
"alignHorizontal": 72,
"alignVertical": 86,
"selectGlobal": 65,
"selectCharacter": 67,
"selectPart": 80,
"selectCamera": 77,
"setKeyframe": 75,
"adjustIncrease": 65362,
"adjustDecrease": 65364,
"clearAlpha": 91,
"restoreAlpha": 93,
"copy": 89,
"paste": 85,
"toggleOutline": 59
}
}Common Keycodes (Decimal)
Common keycodes for use in the configuration file are listed below.
- Alphabets (Uppercase):
AtoZ:65to90- Note: When a letter is specified, it responds to either uppercase or lowercase key input.
- Numbers:
0to9:48to57
- Function Keys:
F1toF12:65470to65481F13toF24:65482to65493(Recommended for mapping to macro keys on custom input devices)
- Other Special Keys:
- Space:
32 - Enter:
65293 - Escape:
65307 - Backspace:
65288 - Delete:
65535 - Tab:
65289
- Space:
Keyboard & Mouse Shortcuts
Viewer Screen
| Operation | Action |
|---|---|
| Click | Select a character/part (switches selection) |
| Drag | Move a character/part |
| Click Selected Target | Move while maintaining multiple selections |
| Drag Empty Area | Marquee selection (area selection) |
| WinCtrlMacCommand + Click Selected Target | Show rotation, scale, and pivot handles |
| WinCtrl+AltMacCommand+Option + Click Target | Toggle the target selection in Character / Part mode |
| WinAltMacOption + Drag Bounding Box Edge | Modify Stretch |
| WinAlt+↑/↓MacOption+↑/↓ | Increase/decrease in 0.1em units (Global: Tracking / Character: Margin After of selected character) |
| WinAlt+KMacOption+K | Set keyframes for the selected characters/parts (Set Keyframes for Selected) |
| WinAlt+Ctrl+HMacOption+Command+H | Align selected characters horizontally |
| WinAlt+Ctrl+VMacOption+Command+V | Align selected characters vertically |
| WinAlt+Ctrl+AMacOption+Command+A | Switch to Global selection mode |
| WinAlt+Ctrl+CMacOption+Command+C | Switch to Character selection mode |
| WinAlt+Ctrl+PMacOption+Command+P | Switch to Part selection mode (disabled in Lite / Scripting) |
| WinAlt+Ctrl+MMacOption+Command+M | Switch to Camera selection mode (3D / Scripting presets only) |
| WinAlt+Ctrl+[MacOption+Command+[ | Make the selected characters transparent (clear alpha) (Character selection mode only) |
| WinAlt+Ctrl+]MacOption+Command+] | Restore the transparency of the selected characters back to the global color (Character selection mode only) |
| WinAlt+Shift+YMacOption+Shift+Y | Remember the selected character/part as the copy source (Copy Selection) |
| WinAlt+Shift+UMacOption+Shift+U | Paste the copy source's parameters onto the selection (Paste to Selection) |
| WinAlt+;MacOption+; | Toggle the outline (boundary) display ON/OFF |
| Drag Orbit Handle in Camera Mode | Change Camera Yaw / Pitch (3D / Scripting presets only) |
| WinAltMacOption + Drag Empty Area in Camera Mode | Orbit camera (3D / Scripting presets only) |
| Drag Target Pad in Camera Mode | Move Camera Target (3D / Scripting presets only) |
| Drag Zoom / Perspective Handle in Camera Mode | Change Camera Zoom / Perspective Strength (3D / Scripting presets only) |
| Drag Empty Area in Camera Mode | Change Lens Shift (3D / Scripting presets only) |
| Hold Shift During Camera Drag | Lock to the axis with greater movement (3D / Scripting presets only) |
Note: Only the key portion of the shortcuts (e.g., the "H" in Alt+Ctrl+H or "K" in Alt+K) can be customized by editing the shortcuts block in the preferences.json file. Modifier keys (Alt, Ctrl, etc.) are fixed and cannot be changed.
Parameter Value Ranges
| Parameter | Range | Unit |
|---|---|---|
| Position / Pos | -1.0 to +1.0 (display) / -10.0 to +10.0 (internal) | Canvas Relative |
| Pivot | -1.0 to +1.0 (display) / -10.0 to +10.0 (internal) | Canvas Relative |
| Rotation | -360 to +360 (display) / -360000 to +360000 (internal) | Degrees |
| Scale (Global) | 0.1 to 5.0 (display) / 0.001 to 100.0 (internal) | Multiplier |
| Scale (Character / Part) | 0.1 to 10.0 (display) / 0.001 to 100.0 (internal) | Multiplier |
| Stretch | -10 to +10 | Multiplier |
| Global / Character Yaw and Pitch | -360.0 to +360.0 (display) / -360000 to +360000 (internal) | Degrees |
| Character / Part Z Offset | -0.5 to +0.5 (display) / -1.9 to +10.0 (internal) | Relative to Canvas Height |
| Camera Target / Lens Shift | -1.0 to +1.0 (display) / -10.0 to +10.0 (internal) | Canvas Relative |
| Camera Yaw / Pitch | -360.0 to +360.0 (display) / -360000 to +360000 (internal) | Degrees |
| Perspective Strength | 0.0 to 2.0 (display) / 0.0 to 5.0 (internal) | Ratio |
| Camera Zoom | 0.001 to 10.0 (display) / 0.001 to 100.0 (internal) | Multiplier |
| Tracking | -1.0 to +1.0 (display) / -10.0 to +10.0 (internal) | em |
| Line Spacing | -2.0 to 3.0 (display) / -10.0 to 10.0 (internal) | em |
| Margin After (em) | -1.0 to +1.0 (display) / -10.0 to +10.0 (internal) | em |
| Emoji Offset X / Y | -1.0 to +1.0 (display) / -10.0 to +10.0 (internal) | em |
| Emoji Scale | 0.1 to 3.0 (display) / 0.01 to 10.0 (internal) | Multiplier |
| Stroke Width / Outer Stroke Width | 0.0 to 0.2 (display) / 0.0 to 10.0 (internal) | Font Size Ratio |
| Stroke Gap | 0.0 to 0.2 (display) / 0.0 to 10.0 (internal) | Font Size Ratio |
| Stroke Miter Limit | 1.0 to 20.0 (display) / 1.0 to 100.0 (internal) | Ratio |
| Gradient Midpoint | 0.0 to 1.0 | Normalized |
| Gradient Angle | 0.0 to 360.0 (display) / -360000 to +360000 (internal) | Degrees |
| Gradient Start / End | 0.0 to 1.0 (display) / -1.0 to 2.0 (internal) | BB Relative |
| Texture P1 to P5 | 0.0 to 1.0 (0.0 to 360.0 for angle slots) (display) / -1000.0 to +1000.0 (internal) | Slot-dependent |
| Shadow Distance | 0.0 to 0.5 (display) / 0.0 to 10.0 (internal) | em (font size ratio) |
| Shadow Angle | -360 to +360 (display) / -360000 to +360000 (internal) | Degrees |
| Text Blur X / Y | 0.0 to 1.0 (display) / 0.0 to 10.0 (internal) | em (font size ratio) |
| Shadow Blur X / Y | 0.0 to 1.0 (display) / 0.0 to 10.0 (internal) | em (font size ratio) |
| Text Glow / Shadow Glow | 0.0 to 1.0 (display) / 0.0 to 10.0 (internal) | Ratio |
| Pulse Amplitude | 0.0 to 3.0 (display) / 0.0 to 20.0 (internal) | Ratio |
| Trapezoid Amplitude | 0.0 to 1.0 | Ratio |
| Sphere / Barrel Amplitude | 0.0 to 1.0 (display) / -10.0 to +10.0 (internal) | Ratio |
| Pulse/Sphere/Barrel Range Min / Max | -1.0 to 1.0 | Normalized |
| Deform Speed (Hz) | 0.0 to 10.0 (display) / 0.0 to 20.0 (internal) | Hz |
| Deform Step | 0.0 to 360.0 | Degrees |
| Deform Phase | 0.0 to 360.0 (display) / -360000.0 to +360000.0 (internal) | Degrees |
| Deform Char Phase / Angle | -360.0 to +360.0 (display) / -360000.0 to +360000.0 (internal) | Degrees |
| Deform Char Delay | -2.0 to +2.0 (display) / -10.0 to +10.0 (internal) | Seconds |
| Hand Drawn Frame Rate | 1.0 to 30.0 (display) / 0.001 to 120.0 (internal) | Times/second |
| Hand Drawn Wobble Amplitude | 0.0 to 10.0 (display) / 0.0 to 100.0 (internal) | Font Size Relative |
| Hand Drawn Fine Wobble | 0.0 to 2.0 (display) / 0.0 to 100.0 (internal) | Font Size Relative |
| Hand Drawn Jitter Amplitude | 0.0 to 10.0 (display) / 0.0 to 100.0 (internal) | Font Size Relative |
| Hand Drawn Pattern Count | 1 to 30 | Count |
| Border Width | 0.5 to 500.0 | % (Font Size Ratio) |
| Bounding Box Margin X / Y | -1500 to +1500 | % (Font Size Ratio) |
| Bounding Box Corner Radius | 0 to 100 | % (Font Size Ratio) |
| Bounding Box Border / Fill Offset | -1500 to +1500 | % (Font Size Ratio) |
Transform Order
2D Presets
Global Transform (Position / Rotation / Scale / Stretch)
↓ (applied additionally)
Character Transform (Pos / Rotation / Scale / Stretch)
↓ (applied additionally)
Part Transform (Pos / Rotation / Scale / Stretch)3D Presets
Character and Part Stretch are unavailable in 3D presets. After accumulating the transforms at each level, the Camera Settings projection is applied.
Global Transform (Position / Rotation / Scale / Stretch / Global Yaw / Pitch)
↓ (applied additionally)
Character Transform (Pos / Rotation / Scale / Z Offset / Yaw / Pitch)
↓ (applied additionally)
Part Transform (Pos / Rotation / Scale / Z Offset)
↓
Projection by Camera SettingsColor Priority
Face (Fill) Color:
Part Custom Color (Use Indiv Color) ← Highest Priority
↑ if none
Character Custom Color (Use Indiv Color)
↑ if none
Global Font Color (Font Color) / GradientLine (Stroke) Color:
Character Custom Stroke Color (Use Indiv Stroke: Stroke Color / Outer Stroke Color) ← Highest Priority
↑ if none
Global Stroke Color (Stroke Color / Outer Stroke Color)Shadow Color:
Character Custom Shadow Color (Use Indiv Shadow: Shadow Color) ← Highest Priority
↑ if none
Global Shadow Color (Shadow Color)Uninstallation
Delete the folder from the installation directory and restart DaVinci Resolve.
| OS | Installation Directory |
|---|---|
| Windows | C:\Program Files\Common Files\OFX\Plugins\MugTypography.ofx.bundle |
| macOS | /Library/OFX/Plugins/MugTypography.ofx.bundle |