Skip to main content
Version: 2.0.0-preview

Types of Extensions You Can Develop

In Beutl, you can extend the following functionalities:

Type NameDescription
DecodingExtensionAdds support for video and audio decoding, and input files
ControllableEncodingExtensionAdds support for video and audio encoding, and output files
EditorExtensionAdds a UI for editing files
OutputExtensionAdds a UI for output
ExtensionBase class for extensions (override the Load method to register functionalities)
ToolWindowExtensionAdds a tool window that can be opened from the Window menu
PropertyEditorExtensionAdds a UI for editing specific property types
ToolTabExtensionAdds tabs to the scene editing screen
ThemeExtensionAdds a theme to the picker in Settings → Display
ViewExtensionRegisters commands with stable IDs and handlers
McpToolExtensionAdds tools to the live MCP endpoint
ElementSourceHandlerExtensionCreates timeline elements from custom source kinds
ProxyExtensionRegisters a media proxy-generator factory
TutorialExtensionRegisters tutorials

ProjectItemExtension has been removed. Extension classes must carry [Export], be public and have a parameterless constructor. Make Extension.Unload() idempotent and safe after partial initialization: it is also called to roll back a failed Load().

Source​