Template Editor is an ArcGIS Pro add-in for placing configured utility templates from a JSON configuration file. It supports simple feature templates, grouped template layouts, non-spatial table records, placement previews, line splitting, parallel copy workflows, and Utility Network association prompts.
The add-in does not ship with a customer-specific template configuration. Each user or team selects their own template JSON and can generate their own optional association-rule JSON from the active map.
- ArcGIS Pro 3.3.x
- .NET 8 SDK for building from source
- A template configuration JSON file for the templates you want to place
- Optional: an ArcGIS Utility Network map if you use automatic associations, containment, structural attachment, or rule generation
The ArcGIS Pro ribbon adds a Templates tab with three commands:
Settings: choose configuration files and workflow options.Open Editor: open the Template Editor dockpane.Reload Config: reload the selected template configuration JSON.
- Build or install the add-in.
- Open ArcGIS Pro and the map where templates should be placed.
- Open the
Templatestab. - Click
Settings. - On the
Generaltab, select your template configuration JSON file. - Click
OK. - Click
Open Editor.
User preferences are stored outside the add-in package at:
%LOCALAPPDATA%\TemplateEditor\user-settings.json
Logs and generated support files use the same neutral app-data folder:
%LOCALAPPDATA%\TemplateEditor
The template config JSON is the primary input. It defines the simple templates, grouped templates, target layers/tables, default field values, configured geometry, and configured group associations that Template Editor can place.
The add-in stores only the selected file path in user settings. The template JSON itself is not embedded in the add-in.
Association rules are optional. When present, they help the add-in decide which Utility Network associations are valid for automatic prompts and configured association creation.
The default rule path is:
%LOCALAPPDATA%\TemplateEditor\AllowedAssociationRules.json
Users can also choose another rule JSON path in Settings > Associations > Rule Catalog.
The source repository may contain a sample or working TemplateEditor\AllowedAssociationRules.json, but it is intentionally excluded from the .esriAddinX package. End users can generate their own rule JSON from their active map using the settings window.
Placement attribute override definitions are optional. They define which fields are available in the one-time placement override window and the session override settings.
The default override definition path is:
%LOCALAPPDATA%\TemplateEditor\PlacementAttributeOverrides.json
The repository copy is not packaged with the add-in.
The dockpane includes:
- Search box with highlighted matches
Groups,Simple, andAllviews- Favorites and recent-template tracking
- Sortable template columns
- Placement status and configuration health indicators
- Optional compact layout
Use Groups when you need to expand a group and place one part. Use All when you want one flat list for quick searching.
- Select a template in the dockpane.
- The add-in activates the matching placement tool.
- Click or sketch in the map.
- Finish the sketch.
- The add-in creates the feature, table row, or group.
- Optional post-placement prompts run based on settings.
Template type behavior:
- Point templates use a point placement cursor.
- Line templates use a line sketch tool.
- Polygon templates use a polygon sketch tool.
- Non-spatial table templates run from the map click workflow and can prompt for association targets.
- Group templates create all configured parts together.
- Expanded group parts create only the selected part.
Configured group layouts can show a preview before placement. Point, line, and polygon placement tools keep preview state in sync with the selected template.
Keyboard controls:
- Hold
Rand move the mouse to rotate a configured preview. - Release
Rto stop rotating. - Press
Eto reset rotation.
The dockpane also supports placement mirror modes where configured geometry needs to be flipped before placement.
Template Editor can prompt to split underlying lines after placement.
Supported cases include:
- Point templates placed on eligible target lines
- Line endpoints placed on eligible target lines
- Configured group line parts with start/end split behavior
Settings control candidate distance, eligible placement groups, eligible target groups, duplicate prompt suppression, interior-only splitting, and whether the add-in always asks or auto-splits when only one candidate exists.
When placing a line template, Template Editor can create a parallel copy from selected line features.
The workflow supports:
- Default offset distance
- Left/right side selection
- Remembering the last distance and side
- Multi-segment selected-line spans
- Optional connected-span enforcement
- Optional automatic creation when selected lines exist
The parallel-copy prompt opens near the lower-right of the ArcGIS Pro window and sizes itself to its content so controls are not clipped.
Template Editor can create or prompt for several association types:
- Configured group associations
- Structural attachment
- Containment in structure points
- Containment in structure boundaries or lines
- Junction-junction connectivity
- Non-spatial record associations
Association behavior is controlled in Settings > Associations.
Prompt modes:
Always askAuto-create when one candidateReview multiple onlyNever create
Configured group associations can run in:
Fast: batch configured associations into one edit operation.Debug: create associations one at a time to isolate exact failures.
Template Editor supports two override scopes:
- Session overrides: configured in Settings and applied across placements.
- One-time placement overrides: opened from the template context workflow and applied only to the next placement.
Override definitions are loaded from the optional app-data JSON file. Presets for one-time overrides are saved in:
%LOCALAPPDATA%\TemplateEditor\placement-override-favourites.json
The settings window is organized into:
General: template config path and validation.Line Split: split prompting, candidate limits, target groups, and target names.Parallel Copy: offset defaults, multi-segment behavior, and selected-line automation.Associations: prompt modes, search distances, fallback groups, and rule catalog generation.Attribute Overrides: session-level placement attribute overrides.Interface: compact layout, recent template count, map hint colors, and diagnostics.
Check that a template configuration JSON is selected in Settings > General and that the file still exists.
If validation is enabled, resolve validation errors before opening the editor.
Check that:
- The search box is clear.
- The correct view is selected.
- The template exists in the selected config JSON.
Reload Confighas been run after editing the JSON.
Switch to Groups view and expand the group row. Group parts are not expanded in the All view.
Check:
- Association prompts are enabled.
- The target layer is selectable and present in the map.
- A valid association rule exists or fallback target settings match the map.
- Search distances are large enough for the placement.
- The selected prompt mode allows prompting.
Check:
- Line split prompts are enabled.
- The placed template group is listed as eligible.
- The target line group or subtype/layer name is listed as eligible.
- The split search distance is large enough.
- Interior-only splitting is not filtering out endpoint candidates.
Check:
- The selected template is a line template.
- At least one source line is selected.
- Parallel copy prompts are enabled.
- Multi-segment settings match the selected geometry.
Common causes:
- Missing target layer or table
- Invalid subtype or domain value
- Required field missing from defaults
- Utility Network rule does not allow the requested association
- Selected feature is not a valid target
- The active map is connected to
DEFAULTand default-version placement prevention is enabled
Read the popup details, adjust the template/config/map selection, and try again.