Documentation

​
​

Development

User Acquisition

Monetization

Industry

Asset Transformer Studio

2026.5.0

Supported
​

User Manual

Python API

Changelog

Asset Transformer Studio

2026.5.0

Supported
​

​
​
Get started
  • About Asset Transformer Studio
  • Getting started
  • Additional Resources
User Interface
  • Overview
  • Menu Bar
  • Toolbars
  • Window
  • Customizing the User Interface
Data Preparation Fundamentals
  • Overview
  • General Information
  • Typical Data Preparation Workflow
  • About 3D Models Types
  • About the Product Structure (Tree)
  • About Occurrences
  • About Instances & Prototypes
  • About Face and Vertex Normals
  • About UVs
  • About Tessellation
  • About Decimation
  • About Animation
  • Glossary
Working With Asset Transformer Studio
  • Overview
  • Videos and Tutorials
  • Supported File Formats
  • Importing Files
  • Exporting Files
  • Scripting With the Python API
  • Interrupting a Process
  • Plugins
    • Creating a Plugin
      • Anatomy of a Plugin
        • XML File
        • Python Script
    • Running a Plugin
    • Managing Plugins
    • Publishing a Plugin
    • Plugins Shortcuts
  • Errors in Asset Transformer Studio
Python API Reference
  • Overview
Changelog
  • Changelog
  1. Asset Transformer Studio
  2. Working With Asset Transformer Studio
  3. Plugins
  4. Creating a Plugin
  5. Anatomy of a Plugin

XML File

How to define a plugin user interface using an XML file in Asset Transformer Studio
Read time 2 minutes
Last updated 12 hours ago

User Interface creation

A plugin user interface is defined in an XML file. Here is a basic example:
XML file example
Resulting interface

More about Types

Parameter types

Please refer to the API Reference or the Function List to find all the parameter types available in the Python API, and to see a preview of the associated GUI widget.

Structures

Declare your own structured types using the
decltype
and
struct
keywords:
<decltype name="Structure"> <struct> <field name="BoolParameter" type="Bool" default="True"/> <field name="AngleParameter" type="Angle" default="0.1"/> </struct> </decltype> … <parameter name="Structure" type="Structure" description=""/>
Structure widget

Lists

Some types also exist as lists (e.g.
String
and
StringList
). Declare your own lists of structured types using the
decltype
and
list
keywords:
<decltype name="Structure"> <struct> <field name="BoolParameter" type="Bool" default="True"/> <field name="AngleParameter" type="Angle" default="0.1"/> </struct> </decltype> … <decltype name="StructureList"> <list type ="Structure"/> </decltype> … <parameter name="structureList" type="StructureList" description=""/>
List widget

Enumerators

Declare Enumerator types using the
enum
keyword. Enumerators take the form of dropdown menus:
<decltype name="Enumerator"> <enum type="Int"> <value name="Enum_1" value="1"/> <value name="Enum_2" value="2"/> </enum> </decltype> … <parameter name="Enumerator" type="Enumerator" description=""/>
Enumerator widget

Selectors

Use the select keyword to create dropdown selection menus giving inputs choice:
<decltype name="DropDownMenu"> <select> <type name="FirstChoice" type="Structure"/> <type name="SecondChoice" type="ComponentType"/> </select> </decltype> … <parameter name="dropDownMenu" type="DropDown" description=""/>
Selector widget 1
Selector widget 2

Advanced use cases

  • Optional parameters:
    optional="True"
    <parameter name="OptionalParameter" type="OutputDirectoryPath" optional="True" description=""/>
  • Disabled parameters:
    disableValue="-1"
    <parameter name="DisabledValue" type="Int" disableValue="-1" description=""/>
    Disabled parameter enabled
    Disabled parameter disabled
  • Customize
    FilePath
    type so it browses only specified formats:
    <decltype name="InputFilePath" type="FilePath" attributes="extensions:*.pxz"/> … <parameter name="input" type="InputFilePath" description=""/>
    FilePath widget
  • Selectable
    OccurrenceList
    parameters (input filled with current scene selection):
    selection="true"
    <parameter name="occurrences" type="OccurrenceList" selection="true"/>
    OccurrenceList widget

Copyright © 2026 Unity Technologies
LegalPrivacy PolicyCookiesDocumentation Terms of UseDo Not Sell or Share My Personal InformationYour Privacy Choices (Cookie Settings)

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Some pages are machine-translated for convenience, and may contain inaccuracies. In the event of conflicting information, the English version is authoritative.

  • On this page
    • User Interface creation

    • More about Types

      • Parameter types

      • Structures

      • Lists

      • Enumerators

      • Selectors

      • Advanced use cases