[Logo: IO Tools]

IO Tools#

2026-06-29

16 min read

Overview#

IO Tools is Prism's configurable automation layer for ingest, review generation, version-zero creation, media publishing, and delivery packaging.
It is designed for workflows where incoming media must be classified, copied, converted through Nuke templates, published to a project management system, and finally packaged for client delivery.

The plugin is part of Prism Pro and becomes available when a valid Pro license is active.
IO Tools can be installed from Prism Hub like any other Prism plugin.

The current IO Tools feature set is centered around four workflows:
  • Ingest for bringing plates, LUTs, CDLs, edit references, or other incoming media into the current project.

  • Version Zero for generating a first reviewable version from an existing media version, optionally using the latest compositing scenefile.

  • Media Publish for generating uploadable review media before publishing to ProjectManagement integrations such as ShotGrid.

  • Delivery for turning playlist versions into client-ready folders, files, CSV reports, and optional ShotGrid versions.

Note

Deadline is only required when you submit jobs to the farm. Nuke is only required for workflows that use Nuke-template steps. ProjectManagement integration is required for playlist-based delivery and publish steps such as ShotGrid publish.

Access#

IO Tools can be accessed from three places in Prism:
  • Project Browser > IO Tools > Ingest...

  • Project Browser > IO Tools > Deliver...

  • Project Browser > IO Tools > Settings...

The Version Zero action is available from the Project Browser on existing media versions when the IO Tools menu is enabled.

User Settings

User-specific visibility options are available here:
Prism Settings > User > IO Tools
  • Show IO Tools menu in Project Browser controls whether the IO Tools top-level menu is added to the Project Browser.

  • Show Version Zero option in Project Browser controls whether the Version Zero action appears in the version context menu.

Project Settings

Project-wide configuration entry points are available here:
Prism Settings > Project > IO Tools
  • Create ingest config

  • Edit ingest config

  • Create version zero config

  • Edit version zero config

  • Create media publish config

  • Edit media publish config

  • Create delivery config

  • Edit delivery config

  • Open Config Folder

  • Open Nuke Template Folder

Hint

The Create buttons copy the shipped example config and matching Nuke template into the project paths. The Edit buttons open the Visual Editor directly.

Configuration Workflow#

The intended workflow is to create a project config once and then maintain it through the Visual Editor.
You do not need to edit JSON files manually for day-to-day IO Tools administration.

Recommended Setup Order

  1. Create the required config from Prism Settings > Project > IO Tools.

  2. Open the matching editor with the corresponding Edit button.

  3. Use the Visual Editor tab to add sections, filetypes, step cards, CSV fields, and delivery columns.

  4. Use the Raw JSON tab only for advanced troubleshooting, bulk pasting, or inspection.

  5. Save the config, then run the matching IO Tool from the Project Browser.

Shipped Examples

The shipped templates are useful references, but they are examples, not the primary user workflow.
Note

If a config file does not exist yet and you open a tool such as Ingest or Delivery, Prism prompts you to create the missing config automatically.

Visual Editor Concepts#

All IO Tools configs use the same Visual Editor concepts.

Editor Layout

  • Visual Editor shows forms, collapsible sections, list cards, checkboxes, text fields, file pickers, and typed step editors.

  • Raw JSON shows the underlying config data and is primarily useful for troubleshooting or pasting prepared snippets.

  • Collapsible cards are used for list entries such as filetypes, steps, CSV fields, extra version columns, autofill variables, and delivery folders.

  • Add buttons insert new list items using the correct default structure for that section.

  • Remove buttons delete the selected card or list item.

Common Field Types

  • Boolean fields appear as checkboxes.

  • Integer fields appear as spinboxes with range limits.

  • File and folder fields open a picker instead of expecting a pasted path.

  • Editable dropdowns provide common values while still allowing custom entries.

  • Dictionary fields are shown as key/value editors.

  • Type-dependent cards change their available fields when you switch the step type or column type.

Prism Template Variables

Many IO Tools fields resolve Prism template variables at runtime.
Common examples are @project_path@, @sequence@, @shot@, @episode@, @asset@, @version@, @identifier@, @extension@, and @input@.
Delivery and Nuke execution also resolve context coming from the selected version, extra columns, and generated variables such as delivery frame ranges.

Shared Runtime Settings

The following settings appear repeatedly across IO Tools configs and steps:
  • enabled decides whether a step or item is active.

  • submit decides whether the workflow runs locally or submits farm jobs.

  • job_prio sets Deadline priority.

  • job_pool sets the primary Deadline pool.

  • job_snd_pool sets the secondary Deadline pool.

  • job_group sets the Deadline group.

  • job_timeout sets task timeout in minutes.

  • job_machine_limit limits how many machines a job can use.

  • job_concurrent_tasks controls concurrent tasks per worker.

  • job_frames_per_task controls chunk size for Nuke jobs.

  • date_format controls timestamps used in batch or job naming.

  • prism_root overrides the Prism root used by spawned farm jobs.

  • required_plugins loads additional Prism plugins before a spawned job starts.

  • dependencies makes one step wait for named earlier steps.

  • framerange_source defines where the frame range is taken from.

  • nuke_version stores the Deadline Nuke version string.

  • nuke_template points to the Nuke script used for processing.

  • nuke_executable points to the local Nuke executable or shell command.

  • execute_write_nodes lists the write nodes to execute in the Nuke template.

  • set_knob_values overrides knob values in the Nuke template before execution.

  • environment_variables injects additional environment variables into the Nuke process or Deadline Nuke job.

  • mapped_env_vars remaps generated environment values to custom names.

Hint

If the same step concept appears in multiple tools, it behaves the same way. The main difference is which context variables are available when the step executes.

Ingest Tool#

The Ingest tool is used for incoming client or vendor media that must be classified, copied into Prism locations, optionally converted through Nuke templates, and optionally published.
[IO Tools - Ingest Tool]

Ingest Workflow

  1. Open Project Browser > IO Tools > Ingest....

  2. Drag and drop files or sequences into the table, or right-click and add folders.

  3. Review detected rows, filetype assignment, and metadata columns.

  4. Fix or complete missing metadata directly in the table.

  5. Review the required-variable highlights.

  6. Press Ingest to run locally or submit the configured jobs to Deadline.

Table Behavior

  • Folders are scanned recursively.

  • File sequences are grouped automatically.

  • Delete or Backspace removes selected sources.

  • Active and Type are interactive widget-backed columns and remain sortable.

  • Metadata columns can be edited directly in the table.

  • Required variables are highlighted in red when the selected filetype marks them as mandatory and the current row still has an empty value.

  • Inactive rows do not show the required-variable warning overlay.

  • Before ingest starts, active rows with missing required variables trigger a warning dialog.

Note

The missing-variable warning is capped in the popup so large ingest batches stay readable.

Ingest Config Settings

These settings are edited in the Visual Editor of the ingest config.

Top-Level Settings

  • submit runs the ingest through Deadline when enabled. When disabled, Prism processes ingest locally.

  • job_prio sets the default Deadline priority for spawned ingest jobs.

  • job_pool sets the default primary Deadline pool.

  • job_snd_pool sets the default secondary Deadline pool.

  • job_group sets the default Deadline group.

  • job_timeout sets the Deadline task timeout.

  • job_machine_limit limits the number of workers.

  • job_concurrent_tasks sets concurrent tasks per worker.

  • batch_per_shot creates separate Deadline batches per entity when enabled.

  • dft_source_path sets the default browser path for adding ingest sources.

  • date_format controls date strings used in job and batch names.

  • prism_root overrides the Prism installation used by farm-spawned jobs.

  • required_plugins loads named Prism plugins before a spawned ingest job starts.

  • create_shot_settings stores optional shot-creation settings used before ingest runs, such as handles or a task template.

  • columns defines which columns appear in the ingest table and in what order.

  • filetypes defines the supported ingest classifications and the steps attached to each one.

Column Settings

  • name is the visible column label.

  • type controls the meaning of the column.

Available column types are:
  • active for the row enable checkbox.

  • name for the source filename or sequence label.

  • type for the filetype dropdown.

  • asset_path for asset-style ingest targets.

  • episode for episode-aware projects.

  • sequence for shot sequences.

  • shot for shot names.

  • version for version identifiers.

  • variable for any custom metadata field.

Filetype Settings

  • name is the label shown in the Type column.

  • extensions lists which file extensions should default to this filetype.

  • template is the path pattern used to extract variables from incoming source paths.

  • auto_version automatically resolves a version value when the ingest target needs one.

  • is_product marks the filetype as product-oriented for template resolution.

  • is_asset switches the filetype from shot-style ingest to asset-style ingest.

  • shot_file_dependencies lists filetypes that must already be ingested for the same entity before this filetype can run.

  • required_variables lists metadata fields that must be filled in for the row.

  • autofill_variables fills values into table columns when the source is added.

  • rename_variables allows post-extraction renaming or expression-based remapping of variables.

  • context_variables generates additional runtime context before step execution.

  • steps defines the ordered ingest operations for this filetype.

Autofill and Context Helpers

  • autofill_variables > var is the destination variable name.

  • autofill_variables > regex extracts the value from the source path using a regular expression.

  • autofill_variables > pattern assigns a fixed value instead of parsing it from the path.

  • rename_variables > var identifies which variable should be rewritten.

  • rename_variables > expression defines the replacement expression.

  • context_variables > var defines the new runtime variable name.

  • context_variables > value can be either a plain template string or a Prism structure lookup dictionary.

Ingest Step Types

Each filetype can contain one or more step cards.
  • copy_files copies files or folders from a source template to a target template.

  • nuke_template_conversion runs a Nuke template to convert or render media.

  • create_nuke_scripts creates Nuke scenefiles in a department and task.

  • run_python_script executes custom Python code.

  • shotgrid_publish or another ProjectManagement publish step publishes results to the active manager.

Common Ingest Step Fields

  • name is the human-readable step label and is also used by dependency references.

  • type selects the step behavior.

  • enabled toggles the step.

  • source_template identifies the source media or source path pattern.

  • target_template defines where copied or resolved output should go.

  • mode usually switches between per-entity execution and a single global pass.

  • job_name defines the Deadline or spawned job label.

  • dependencies references earlier step names.

  • job_prio, job_pool, job_snd_pool, job_group, job_timeout, job_machine_limit, and job_concurrent_tasks override top-level farm defaults for this step.

Nuke Conversion Step Fields

  • framerange_source can use the shot range, shot range with handles, shot range with slate frame, or the input sequence range.

  • is_nuke_job submits the Nuke work as a Deadline Nuke job instead of a generic Python wrapper.

  • job_frames_per_task controls frame chunking.

  • nuke_version stores the Deadline Nuke version string.

  • nuke_template points to the Nuke script to execute.

  • nuke_executable points to the local Nuke executable for local execution or script preparation.

  • execute_write_nodes lists which write nodes should render.

  • set_knob_values applies knob overrides before execution.

  • environment_variables injects extra environment variables.

Create Nuke Scripts Step Fields

  • department defines the destination department.

  • task defines the destination task or category.

  • template points to the Nuke scene preset used to create the file.

  • comment stores the comment for the created scenefile.

Python and Publish Step Fields

  • script stores the Python code executed by a custom Python step.

  • task on publish steps defines the destination task in the project management system.

  • extra_settings stores manager-specific publish updates such as extra ShotGrid field values.

  • upload_media controls whether publish steps upload preview media when supported.

  • playlist optionally adds the publish result to a playlist.

Version Zero Tool#

Version Zero turns an existing media version into a first reviewable delivery-style publish.
It can render from a dedicated Nuke template or from the latest scenefile in a configured department and task.

Version Zero Workflow

  1. Open the version context menu in the Project Browser.

  2. Choose Create Version Zero....

  3. Let Prism decide between template-based creation and latest-scenefile creation, or choose manually if the config leaves it open.

  4. Prism validates that the source media frame range matches the shot range including handles.

  5. Prism renders locally or submits the configured steps to Deadline.

  6. Optional publish steps create manager versions and can add them to a playlist.

Note

If the selected version contains a project management publish step, Prism also validates that the configured task exists before execution continues.

Version Zero Settings

  • submit decides whether Version Zero runs locally or through Deadline.

  • create_from_template controls whether Prism uses the configured Nuke template or the latest scenefile from the configured department and task.

  • department selects the department used when latest-scenefile mode is active.

  • task selects the task used when latest-scenefile mode is active.

  • template points to the default Nuke template file.

  • context_variables generates additional runtime variables such as output paths.

  • steps defines the ordered Version Zero process.

  • upload_media controls preview upload behavior for publish steps.

  • playlist optionally adds published versions to a named playlist.

  • extra_settings applies manager-specific publish field updates.

  • All shared farm and Nuke settings from the Visual Editor section apply here as well.

Typical Step Layout

  • A nuke_template_conversion step renders the frames.

  • A manager publish step such as shotgrid_publish publishes the result and can add it to a playlist.

  • A copy_files style step can also be used where Version Zero should pass existing renders into a delivery-style output location.

Media Publish Tool#

Media Publish extends Prism's normal publish flow for media versions.
When enabled, it prepares uploadable media through the IO Tools config before publishing to the active ProjectManagement integration.

How It Works

  • If a valid media publish config exists and IO Tools media publish is enabled, IO Tools intercepts Prism's uploadable media creation and publish submission flow.

  • If uploadable review media does not exist yet, IO Tools can generate it through configured Nuke-template steps.

  • The generated media is then used for the manager publish.

  • If IO Tools media publish is disabled, Prism falls back to the default ProjectManagement plugin behavior.

Media Publish Settings

  • submit decides whether media-preparation steps run locally or through Deadline.

  • job_prio, job_pool, job_snd_pool, job_group, job_timeout, job_machine_limit, and job_concurrent_tasks define the default farm behavior.

  • context_variables creates extra runtime variables used by the publish steps.

  • steps defines the preparation steps used to create uploadable media.

  • framerange_source, nuke_version, nuke_template, nuke_executable, execute_write_nodes, set_knob_values, environment_variables, and job_frames_per_task behave the same way they do in other Nuke-template IO Tools steps.

Hint

The environment variable PRISM_FARMJOB_PUBLISH_PRIO can override the publish upload job priority when uploadable media is generated through farm jobs.

Delivery Tool#

The Delivery tool packages playlist versions into client-ready outputs such as EXR sequences, MOV files, MXF files, CSV reports, and optional new ShotGrid versions.
[IO Tools - Delivery Tool]

Delivery Workflow

  1. Open Project Browser > IO Tools > Deliver....

  2. Choose a playlist and optionally narrow the list with the playlist and version filters.

  3. Review the loaded versions, thumbnails, notes, format toggles, and extra columns.

  4. Choose a delivery base path.

  5. Press Validate to check settings without creating files.

  6. Press Create to write CSV data, create files, submit jobs, and optionally create ShotGrid versions.

Delivery UI Behavior

  • Refresh reloads playlists and version data.

  • Active decides whether a row participates in the delivery.

  • Version supports automatic next-version lookup or manual version entry.

  • Delivery Name updates from the configured template and extra-column values.

  • .exr, .mov, .mxf, and optionally .exr (proxy) decide which outputs are generated.

  • Notes can be copied across selected rows by editing one of the selected entries.

  • Extra version columns can come from ShotGrid fields, combobox selections, checkboxes, static values, or other column-driven data.

  • The delivery path selector shows all configured delivery folders.

  • The version context menu supports Open in Explorer, Copy Filepath, and Refresh.

  • Inactive rows are skipped when CSV rows, files, or publish actions are generated.

Note

Validate runs the same delivery checks used by Create, including note requirements, frame-range checks, and duplicate delivery-name checks, but does not create files.

Delivery Config Settings

Top-Level Defaults and Locks

  • playlist_default preselects a playlist when the tool opens.

  • playlist_filter_default pre-fills the playlist filter.

  • version_filter_default pre-fills the version filter.

  • submit_default sets the default state of the Submit to Farm checkbox.

  • always_submit forces Submit to Farm on and hides the checkbox.

  • create_sg_versions_default sets the default Create SG versions state.

  • always_create_sg_version forces ShotGrid version creation on and hides the checkbox.

  • create_folders_default can set the default state of the Create Files option when used in the config.

  • always_create_folders forces file creation on and hides the checkbox.

  • append_csv_default can set the default Append CSV state when used in the config.

  • always_append_csv forces CSV append mode on and hides the checkbox.

  • exr_default, mov_default, and mxf_default set the default format toggles for each row.

  • enable_mov and enable_mxf decide whether those format columns are available at all.

Naming and Output Settings

  • version_name defines the delivery name template.

  • project_code provides a shorthand variable for naming templates.

  • version_padding defines the numeric padding for delivery version numbers.

  • version_prefix defines the version prefix, such as v.

  • frame_padding defines the delivered frame number padding.

  • handles controls whether delivery frame ranges use cut ranges, handle ranges, or a fixed handle expansion.

  • delivery_folder defines one or more named base output folders.

  • add_playlist_to_deliverypath appends the playlist name as a subfolder when enabled.

  • csv_path defines where the CSV report is written.

  • create_csv decides whether CSV output is created.

  • csv_row_per_format writes one CSV row per selected format when enabled.

  • resolution, resolution_exr, resolution_mov, and resolution_mxf provide output resolution values used by templates and CSV rows.

Delivery Validation and Notes

  • allow_empty_notes controls whether Notes can be blank.

  • columns defines the visible table columns.

  • steps defines the output and publish steps used when a delivery runs.

  • csv_fields defines the generated CSV columns and value sources.

  • extra_version_columns defines extra row-level data columns that users can edit or review before delivery.

ShotGrid and Publish Settings

  • add_notes_to_sg enables forwarding delivery notes to the created manager version when supported by the pipeline.

  • sg_submission_notes_field defines which manager field receives delivery notes.

  • sg_delivery_tags lists tags that are applied to created ShotGrid versions.

  • sg_user overrides the ShotGrid user to attach to the created version.

  • sg_version_number_field can pull the next number from a specific ShotGrid field.

  • sg_internal_version_name_field stores the source version reference on the created delivery version.

Delivery Step Types

  • copy_files copies files directly into the delivery structure.

  • nuke_template_conversion uses a Nuke template to render an output format.

  • python runs custom Python logic.

  • ffmpeg runs an ffmpeg command.

  • shotgrid_publish creates or updates a manager-side publish action after outputs exist.

Delivery Step Fields

  • filetype defines which output the step belongs to, such as exr, mov, or mxf.

  • exr_path defines the EXR target sequence path for EXR copy or render steps.

  • source_template defines which input path or path pattern should be copied.

  • target_template defines the destination path pattern for direct-copy steps.

  • framerange_source defines the frame range for Nuke or EXR delivery steps.

  • use_slate_frame adds a slate frame and adjusts the comp frame range when enabled.

  • nuke_template, nuke_version, nuke_executable, execute_write_nodes, set_knob_values, and environment_variables behave like the equivalent fields in ingest and media publish.

  • script stores Python code for a Python delivery step.

  • executable points to the ffmpeg binary when a custom one is required.

  • arguments defines the ffmpeg argument list.

  • dependencies forces one delivery subjob to wait for another by step name.

  • Shared farm settings can override the delivery-wide defaults per step.

CSV Field Types

  • version_name writes the resolved Delivery Name.

  • static writes a fixed value from value.

  • notes writes the row notes.

  • format writes the current format when CSV rows are split per format.

  • formats writes all selected formats as a comma-separated value.

  • filename writes the expected delivered filename.

  • resolution writes the configured or resolved resolution value.

  • sg writes a manager field named in sg_field.

  • column writes a value from a visible delivery table column named in name.

  • delivery_in writes the resolved delivery start frame.

  • delivery_out writes the resolved delivery end frame.

  • python computes a value from custom code stored in code.

Supporting CSV field properties are:
  • column for the CSV header name.

  • type for the value source.

  • value for static fields.

  • sg_field for ShotGrid-backed fields.

  • name for delivery-column lookups.

  • hidden for fields that should not write a visible CSV header.

  • code for Python-computed values.

Extra Version Column Types

  • sg reads a ShotGrid field, optionally from the shot or version level.

  • combobox lets the user choose from items.

  • checkbox stores a boolean row option and can trigger a callback.

  • column exposes another column-driven value.

  • static stores a fixed value.

  • notes is intended for note-style value handling.

Supporting extra-column properties are:
  • name for the visible column label and generated variable name.

  • type for the widget or data source.

  • sg_field for ShotGrid-backed fields.

  • level for choosing shot-level or version-level manager data.

  • items for combobox entries.

  • default for checkbox defaults.

  • callback for checkbox-driven custom behavior.

  • value for static entries.

  • Optional separator and fallback settings can split or substitute manager values when required by the pipeline.

Environment Variables#

IO Tools uses two kinds of environment variables:
process-level variables that change Prism behavior, and runtime variables that are injected into Nuke or spawned jobs.

Prism Process Variables

  • PRISM_IO_TOOLS_ADD_TO_GUI controls whether IO Tools UI entries are added to the Project Browser. 1 is the default and shows the IO Tools menu. 0 hides those entries.

  • PRISM_USE_IOTOOLS_MEDIA_PUBLISH controls whether IO Tools intercepts media publish and uploadable-media creation. 1 is the default. 0 disables the integration.

  • PRISM_INGEST_CONFIG overrides the ingest config path.

  • PRISM_INGEST_TEMPLATE overrides the default ingest Nuke template path.

  • PRISM_VERSION_ZERO_CONFIG overrides the version zero config path.

  • PRISM_VERSION_ZERO_TEMPLATE overrides the default version zero Nuke template path.

  • PRISM_MEDIA_PUBLISH_CONFIG overrides the media publish config path.

  • PRISM_MEDIA_PUBLISH_TEMPLATE overrides the default media publish Nuke template path.

  • PRISM_DELIVERY_CONFIG overrides the delivery config path.

  • PRISM_DELIVERY_TEMPLATE overrides the default delivery Nuke template path.

  • PRISM_FARMJOB_PUBLISH_PRIO overrides the farm priority used for publish-related upload jobs.

  • PRISM_SG_USERNAME provides the ShotGrid username used when a delivery-created ShotGrid version needs an explicit user.

  • OCIO is inherited by Nuke execution and is logged by the IO Tools Nuke runner for troubleshooting.

Generated Nuke and Job Variables

IO Tools generates and injects environment values for Nuke templates and farm jobs.
  • environment_variables in step settings adds explicit custom variables.

  • mapped_env_vars remaps generated values to alternate variable names.

  • Generated delivery frame variables include DELIVERY_START_FRAME, COMP_START_FRAME, DELIVERY_END_FRAME, and COMP_END_FRAME.

  • Common delivery context variables include EPISODE, SEQUENCE, SHOT, ASSET, DELIVERY_VERSION_NUMBER, DELIVERY_VERSION_NAME, and NOTES.

  • Extra delivery columns also become environment-style variables by uppercasing the column name and replacing spaces with underscores.

Hint

Path-based custom environment values can resolve Prism templates and can also search for matching files when your pipeline needs to point Nuke to a dynamically discovered asset.

Frequently Asked Questions#

Why is the IO Tools menu missing?

First confirm that the plugin is installed and that a valid Prism Pro license is active. Then check Prism Settings > User > IO Tools > Show IO Tools menu in Project Browser. Also check the environment variable PRISM_IO_TOOLS_ADD_TO_GUI. It must be 1 or unset for the menu to be visible.

How do I create the first config?

Open Prism Settings > Project > IO Tools and press the matching Create button. Prism copies the shipped example JSON and matching Nuke template into the project paths.

Why should I use the Visual Editor instead of Raw JSON?

The Visual Editor exposes the supported fields, preserves the expected data structure, and gives you typed editors for steps, CSV fields, delivery folders, and filetypes. Raw JSON is best reserved for advanced troubleshooting or bulk edits.

Why are some ingest cells red?

The selected filetype marks those variables as required in required_variables, and the current row still has an empty value. Fill the missing metadata or switch the filetype if the row was classified incorrectly.

Can I continue ingest with missing required variables?

Yes. IO Tools warns before ingest starts, but the dialog still allows you to continue intentionally.

Why are no delivery versions listed?

Confirm that the current project is connected to a ProjectManagement integration, that the selected playlist exists, and that the playlist contains versions visible to the current filters. For ShotGrid, also confirm that the current project connection is valid and the playlist name matches exactly.

What does Validate do in the Delivery tool?

Validate checks the active rows for missing notes when notes are required, duplicate delivery names, and frame-range mismatches between the source media and the configured delivery range. It does not create files.

Why is Deadline only required sometimes?

IO Tools can run locally when submit is disabled. Deadline is only required for workflows that submit farm jobs.

Why is Nuke only required sometimes?

Nuke is only required for step types that execute a Nuke template, such as nuke_template_conversion, slate-frame generation, or Nuke-based delivery renders. Pure copy, Python, ffmpeg, or manager publish steps can run without Nuke.

How do I change delivery output names?

Edit the delivery config and update version_name. The Delivery Name column previews the resolved value for each row, including values from extra version columns.

How do I append or regenerate CSV files?

Use the Append CSV if exists option in the Delivery tool. Its default and forced behavior can be controlled with append_csv_default and always_append_csv in the delivery config.

Why are the .mov or .mxf columns missing?

The delivery config hides them when enable_mov or enable_mxf is disabled.

How do I set the ShotGrid user or delivery tags?

Use sg_user and sg_delivery_tags in the delivery config. If sg_user is empty, IO Tools can fall back to PRISM_SG_USERNAME.

Why did delivery frame-range validation warn?

The configured delivery step requested a frame range that does not match the detected source sequence range, or the source sequence does not contain enough frames for the requested range.

How do I add a custom CSV value?

Add a new csv_fields entry in the delivery config. Use static for a fixed value, column to mirror a delivery table column, sg for a manager field, or python when the value must be computed dynamically.