Skip to main content
Menu: Molca → Utilities → CSV Step Importer
Script: Assets/_Molca/_Core/Editor/Sequence/CsvStepImporterWindow.cs
Works with Sequence Visualizer (Open CSV Step Importer pre-fills the target controller) or standalone.

Target controller

Assign a SequenceController in the Controller field. The importer creates or updates steps under that controller’s hierarchy according to CSV content and your column mapping.

CSV file

Use Browse… to pick a .csv file. Row range controls and column-to-field mapping are configured in the window after load.

Default column mappings

Mappings are built in InitializeColumnMappings:
  • Step Number (required) — hierarchical step id (e.g. 1, 1.1, 2.1).
  • Title / Title (en, id, …) — one column per language code from LocalizationModule on Global Settings when configured; otherwise a single Title column (required).
  • Description — optional.
  • Extra columns — via CsvStepImporterExtensibility.ExtraColumnMappings (see below).
Column index assignments can be persisted with EditorPrefs key Molca.CsvStepImporter.ColumnMappings.

Extensibility

CsvStepImporterExtensibility (CsvStepImporter.cs):
  • RegisterExtraColumnMapping — add columns and optional setup callbacks for custom StepInfo fields.
  • StepInfoType — use a derived StepInfo type instead of the default.
  • SetupCallbacks — run after base StepInfo setup.
  • DrawExtraGUICallbacks — extra GUI after controller selection.
Use [InitializeOnLoad] or startup code in an Editor assembly to register extensions.

Code (editor extension)

using Molca.Editor;
using UnityEditor;

[InitializeOnLoad]
internal static class MyCsvStepImporterHooks
{
    static MyCsvStepImporterHooks()
    {
        CsvStepImporterExtensibility.RegisterExtraColumnMapping(
            "Difficulty",
            "Optional difficulty label from CSV",
            required: false,
            onSetup: (stepInfo, stepData) =>
            {
                if (stepData.extraColumnValues != null &&
                    stepData.extraColumnValues.TryGetValue("Difficulty", out var value))
                {
                    // Cast stepInfo to your StepInfo-derived type and assign fields
                }
            });
    }
}
See CsvStepImporterExtensibility in CsvStepImporterWindow.cs for StepInfoType, SetupCallbacks, and DrawExtraGUICallbacks.
  • Sequence Visualizer — quick open with controller context
  • VR-specific CSV extensions may live under _MolcaSDK/_VR (search for CsvStepImporter in the SDK)

Unity Editor

Csv Step Importer Window