# BlueLine FAQ

## General

### What is BlueLine?

BlueLine is an Unreal Engine editor productivity plugin for cleaning up Blueprint graphs, organizing Blueprint logic, tagging graph regions, exporting graph information, saving reusable node snippets, jumping between graph bookmarks, and using quick level viewport tools.

It is built for editor workflow improvements. It is not a runtime gameplay framework.

### Who is BlueLine for?

BlueLine is for Unreal Engine developers who spend a lot of time in Blueprint graphs or level editor viewports and want faster cleanup, navigation, organization, and inspection tools.

It is especially useful for:

- Blueprint-heavy projects with large or messy graphs
- Teams that want more readable Blueprint layouts
- Technical designers who frequently refactor Blueprint logic
- Developers who reuse common Blueprint node patterns
- Level designers who need fast pivot, snapping, and material-scope selection tools

### Is BlueLine editor-only?

Yes. BlueLine is made of editor modules and is intended to run inside the Unreal Editor. It does not add runtime gameplay systems to your packaged game.

This means BlueLine helps while authoring content, but it should not add runtime overhead to shipped builds.

### Does BlueLine modify my project files?

Some tools do, and some tools only affect editor display or workflow.

Tools that can modify Blueprint assets include:

- Auto-Format: moves selected nodes
- Rigidify Wires: inserts reroute nodes
- Clean Graph: reorganizes graph layout
- Extract to Subsystem: creates a subsystem Blueprint and copies selected logic
- Auto-Tag Graph: creates comment boxes and stores BlueLine tag metadata
- Create/Insert Node Snippet: saves or inserts Blueprint node selections

Tools that are mostly editor workflow/display helpers include:

- Toggle Wire Style
- Blueprint Linter warnings
- Export to Text
- Bookmarks
- Level viewport pie menu tools, except when a pivot or selection operation intentionally changes editor state

Use source control before running large layout or refactor operations on important Blueprints.

### Is BlueLine safe to use on production projects?

BlueLine is designed for production editor workflows, but any tool that moves nodes, inserts reroutes, creates comments, or extracts logic should be treated like a refactor. Run it on a selected area first, inspect the result, and commit or revert through source control as needed.

For large teams, the safest workflow is:

1. Try BlueLine commands on a branch.
2. Review Blueprint diffs or visual changes.
3. Keep layout changes separate from gameplay logic changes when possible.
4. Commit before running broad cleanup operations on many assets.

## Compatibility And Installation

### Which Unreal Engine versions does BlueLine support?

BlueLine builds are engine-version specific. Use the BlueLine package built for your Unreal Engine version.

For example, a UE 5.5 build should be installed into a UE 5.5 project, and a UE 5.7 build should be installed into a UE 5.7 project. Unreal editor plugins that include compiled binaries generally need to be rebuilt for each engine version and target platform.

### Which platforms are supported?

The plugin modules allow `Win64`, `Mac`, and `Linux` in the descriptor. A compiled plugin package must still include binaries for the platform you are using.

If your package only includes `Binaries/Win64`, it is ready for Windows editor use. Mac and Linux users need builds produced for those platforms.

### How do I install BlueLine?

For a project plugin install:

1. Copy the `BlueLine` folder into your project's `Plugins` folder.
2. Regenerate project files if your project uses C++.
3. Rebuild the editor target if needed.
4. Open the project in Unreal Engine.
5. Enable BlueLine in `Edit > Plugins`.
6. Restart the editor if Unreal asks you to.

For an engine plugin install, place the plugin under the engine's `Engine/Plugins/Marketplace` or equivalent plugin folder. Project installation is usually easier to manage per project.

### Does BlueLine require any other plugins?

BlueLine depends on Unreal's `GameplayTagsEditor` plugin. Unreal should enable the dependency automatically when BlueLine is enabled, but if Smart Tags do not work, confirm that `GameplayTagsEditor` is available and enabled.

### Where are BlueLine settings?

Open:

`Edit > Editor Preferences > Plugins > BlueLine`

Settings include wire routing behavior, graph formatting spacing, Smart Tag thresholds, level pie menu behavior, export paths, subsystem paths, and visual preferences.

### Can I change the hotkeys?

Yes. Use Unreal Engine's keyboard shortcut settings to remap BlueLine commands if they conflict with your project, keyboard layout, or other editor plugins.

Common BlueLine defaults include:

- `Shift+Q`: Auto-Format
- `Shift+Alt+R`: Rigidify Wires
- `Shift+Alt+C`: Clean Graph
- `Shift+Alt+L`: Blueprint Linter
- `Shift+Alt+B`: Extract to Subsystem
- `Shift+Alt+E`: Export to Text
- `Shift+Alt+T`: Auto-Tag Graph
- `Shift+Alt+W`: Toggle Wire Style
- `Alt+1` through `Alt+9`: Set graph bookmarks
- `Shift+1` through `Shift+9`: Jump to graph bookmarks
- `Alt+0`: Clear graph bookmarks
- `Shift+Alt+S`: Create Node Snippet
- `Shift+Alt+I`: Insert Node Snippet
- `Alt+X`: Level viewport pie menu

If a shortcut does nothing, focus is the first thing to check. Most Blueprint graph commands require an active Blueprint graph editor. Level tools require an active level viewport.

## Blueprint Graph Tools

### What does Auto-Format do?

Auto-Format aligns selected Blueprint nodes into a cleaner layout. It is intended for quick cleanup of a selected region rather than a full-graph rewrite.

Use it when a few nodes are almost arranged correctly but need consistent spacing or alignment.

### What does Rigidify Wires do?

Rigidify Wires inserts reroute nodes to turn selected Blueprint connections into more orthogonal, readable routes.

Use it when a wire cuts diagonally across the graph or when you want a more structured "circuit board" style route between selected nodes.

### What does Clean Graph do?

Clean Graph reorganizes the active Blueprint graph using graph analysis, island/rank layout, and crossing minimization where appropriate.

It is best for messy graphs that need a broad layout pass. On very large graphs, some expensive crossing-minimization work may be skipped intentionally to avoid editor slowdowns.

### What is the difference between Auto-Format and Clean Graph?

Auto-Format is a smaller, selection-oriented cleanup tool. It is useful when you want to preserve most of your graph and only align the selected area.

Clean Graph is a larger graph organization tool. It is useful when the overall graph structure needs a broader cleanup pass.

### What does Toggle Wire Style do?

Toggle Wire Style cycles BlueLine's wire routing display modes and refreshes open graph editors. It is useful when you want to compare a clean orthogonal routing style against a more standard Blueprint wire style.

### Does BlueLine replace Unreal's Blueprint wiring system?

No. BlueLine works inside the editor to improve graph readability and interaction. It does not replace Unreal's Blueprint compiler or runtime execution model.

### Will Rigidify Wires change Blueprint behavior?

Reroute nodes are intended to preserve execution and data flow while improving readability. Still, because the command edits the graph, review the result after running it.

### Why did Clean Graph skip some advanced cleanup on my large graph?

Some graph cleanup operations become expensive as graph size grows. BlueLine intentionally avoids certain heavy crossing-minimization work on very large graphs so the editor remains responsive.

If a graph is very large, try cleaning smaller selected regions or splitting logic into functions, macros, components, or subsystem logic.

### What does the Blueprint Linter check?

The Blueprint Linter flags common graph smells and maintainability issues, including:

- Orphaned nodes
- Long `Sequence` nodes
- Expensive logic near `Event Tick`
- Deep branch or loop nesting

The linter is a workflow aid. It does not replace code review or project-specific performance testing.

### Are linter warnings compiler errors?

No. BlueLine linter warnings are editor guidance. They point out areas that may deserve cleanup, refactoring, or closer review.

### What does Export to Text do?

Export to Text writes a readable text representation of the selected nodes or active graph. Depending on settings, the export can include comments, variable types, and default values.

Use it for documentation, code review, support requests, AI-assisted analysis, or sharing graph structure without screenshots.

### Where does Export to Text save files?

The export command honors the configured default export path when one is set in BlueLine preferences. If no default is configured, the command uses the plugin's current export flow.

Check:

`Edit > Editor Preferences > Plugins > BlueLine > Default Export Path`

### What does Extract to Subsystem do?

Extract to Subsystem copies selected Blueprint logic into a newly created subsystem Blueprint and compiles it.

This is useful when selected logic has grown beyond the responsibility of the current Blueprint and should live in a `GameInstanceSubsystem`, `WorldSubsystem`, or `LocalPlayerSubsystem`.

### Does Extract to Subsystem delete my original nodes?

Treat Extract to Subsystem as a refactoring tool and review the result after using it. The feature creates subsystem assets and copies selected logic as part of the extraction flow. Use source control so you can inspect or revert the result if the extracted structure is not what you wanted.

## Bookmarks And Snippets

### What are graph bookmarks?

Graph bookmarks let you save important node locations in a focused graph and jump back to them quickly.

Defaults:

- `Alt+1` through `Alt+9`: store the selected node as a bookmark
- `Shift+1` through `Shift+9`: jump to a bookmark
- `Alt+0`: clear bookmarks for the focused graph

### Where are bookmarks stored?

Bookmarks are stored in:

`Saved/BlueLineBookmarks.json`

This is normally local editor state. If your team wants shared graph bookmarks, decide explicitly whether to source-control that file.

### What are node snippets?

Node snippets let you save selected Blueprint nodes and insert them later. They are useful for recurring Blueprint patterns, setup sequences, utility chains, or commonly used node groups.

Defaults:

- `Shift+Alt+S`: create a snippet from selected nodes
- `Shift+Alt+I`: insert a saved snippet

### Where are snippets stored?

Snippets are stored in:

`Saved/BlueLineSnippets.json`

This is normally local editor state. Teams can choose to share it, but many projects keep it user-specific.

### Can snippets include links between nodes?

Snippets are intended to preserve the selected node group and its internal links where possible. After insertion, review external inputs, outputs, object references, and asset-specific values because those may need reconnecting or adjustment in the new context.

## Smart Tags

### What are Smart Tags?

Smart Tags analyze Blueprint graph content and create semantic comment boxes around related node clusters. Generated comment boxes can store BlueLine tag metadata in addition to visible titles and colors.

Use Smart Tags when you want large graphs to communicate intent more clearly.

### What does Auto-Tag Graph do?

Auto-Tag Graph clusters nodes, scores likely semantics, creates comment boxes, and applies BlueLine tag metadata to those comments.

Default hotkey:

`Shift+Alt+T`

### Does Auto-Tag Graph require Gameplay Tags?

Yes. Smart Tags use Unreal's Gameplay Tags editor support and BlueLine's `BlueLine.Type.*` tag concepts. Confirm that `GameplayTagsEditor` is enabled if Smart Tags are unavailable.

### Can I customize Smart Tag behavior?

Yes. BlueLine preferences include Smart Tag settings such as:

- Whether Smart Tags are enabled
- Whether the Auto-Tag command is enabled
- Minimum cluster sizes
- Semantic confidence threshold
- Cluster weight multiplier
- Default cluster tag
- Comment padding

### Will Auto-Tag Graph rename my nodes?

Auto-Tag Graph is designed to organize graph regions with comment boxes and metadata. It should not be treated as a node-renaming tool.

### Why did Smart Tags create a generic or unexpected label?

Semantic tagging is heuristic. If the selected graph area has mixed responsibilities, sparse node names, or ambiguous structure, the result may be generic.

To improve results:

- Run Auto-Tag on smaller graph regions.
- Give important variables, functions, and events descriptive names.
- Split unrelated logic into functions or separate sections.
- Adjust Smart Tag confidence and cluster settings.

## Level Viewport Tools

### What is the BlueLine level pie menu?

The level pie menu is a radial menu for quick viewport actions.

Default hotkey:

`Alt+X`

Default directions:

- Up: Pivot to Center
- Right: Snap to Cursor
- Down: Pivot to Bottom
- Left: Select by Material

### What does Pivot to Center do?

Pivot to Center moves the pivot to the center of the current selection.

### What does Pivot to Bottom do?

Pivot to Bottom moves the pivot to the lowest visible bound of the current selection.

### What does Snap to Cursor do?

Snap to Cursor enters a picking mode and snaps the pivot based on the clicked surface or vertex. Vertex snapping depends on available mesh data.

If CPU mesh data is unavailable for a mesh, BlueLine may fall back or avoid unsafe vertex access.

### What does Select by Material do?

Select by Material previews and commits a selection of actors or surfaces using material-scope matching. The selection radius can be adjusted during the interaction.

### Why is the pie menu not opening?

Check these items:

- The level viewport is focused.
- BlueLine is enabled.
- The level pie menu is enabled in BlueLine preferences.
- The hotkey is not being captured by another editor command or plugin.
- You are not focused in a Blueprint graph, text box, menu, or another editor panel.

## Settings And Workflow

### Which settings should I adjust first?

For Blueprint graph readability:

- Routing method
- Wire style
- Wire thickness multiplier
- Stub length
- Grid snap size
- Horizontal and vertical spacing
- Collision avoidance

For Smart Tags:

- Enable Smart Tags
- Minimum cluster size
- Semantic confidence threshold
- Default cluster tag
- Comment padding

For level tools:

- Enable level pie menu
- Selection radius
- Radius increment
- Pie menu radius
- Pie menu dead zone

### How do I reset BlueLine preferences?

Use Unreal Editor preferences and reset the relevant BlueLine settings to defaults. Project-specific overrides may also exist in editor per-project user settings.

BlueLine's default configuration can be overridden per project through:

`Config/DefaultEditorPerProjectUserSettings.ini`

### Can BlueLine settings be shared across a team?

Yes, but decide what should be shared.

Good candidates for team-wide settings:

- Formatting spacing
- Export options
- Smart Tag thresholds
- Default subsystem/export paths
- Preferred routing behavior

Usually user-specific:

- Bookmarks
- Snippets
- Personal hotkey overrides

### Can I use BlueLine with other Blueprint graph plugins?

Usually yes, but graph plugins can overlap in areas like pin widgets, wire drawing, hotkeys, and context menus.

If another graph plugin behaves strangely:

- Disable one plugin temporarily to isolate the conflict.
- Check keyboard shortcut conflicts.
- Check whether both plugins customize the same pin or connection drawing behavior.
- Re-enable features one at a time.

## Troubleshooting

### The hotkey does nothing. What should I check?

Check these first:

- The correct editor panel is focused.
- The plugin is enabled.
- The command is enabled in BlueLine preferences.
- The shortcut is not conflicting with another Unreal command.
- You are using a supported Blueprint/K2 graph for graph commands.
- You restarted the editor after enabling the plugin if Unreal requested it.

### The graph command is greyed out or unavailable.

The command may require a valid focused Blueprint graph, selected nodes, or a K2 graph schema. Some commands intentionally avoid non-Blueprint graph types to prevent invalid edits.

### BlueLine does not appear in Editor Preferences.

Confirm that:

- The plugin is installed under the correct `Plugins/BlueLine` folder.
- The plugin is enabled in `Edit > Plugins`.
- The editor was restarted after enabling.
- The plugin build matches your Unreal Engine version.
- Required binaries exist for your platform.

### Unreal says the plugin was built with a different engine version.

Install the BlueLine package built for your exact Unreal Engine version, or rebuild the plugin from source using that engine version.

Compiled Unreal plugins are not generally portable across engine versions.

### The plugin fails to compile.

Common causes include:

- Building with a different Unreal Engine version than the plugin source expects
- Missing C++ toolchain or Windows SDK
- Missing dependency plugins
- Using binaries from another engine version
- Stale `Binaries` or `Intermediate` folders after switching engine versions

For source builds, clean generated build folders and rebuild with the correct engine installation.

### The editor slows down on a huge Blueprint graph.

Large graphs are expensive for any layout or analysis tool. Try:

- Running commands on smaller selections.
- Splitting logic into functions, macros, components, or subsystems.
- Disabling automatic routing of new connections.
- Raising thresholds or reducing expensive visual features.
- Running Clean Graph after committing your current work.

### A command changed more than I expected.

Use Unreal's undo system immediately, or revert through source control. For broad cleanup operations, work in small selections until you understand how the command behaves on your project's graph style.

### Smart Tags are unavailable or produce no tags.

Check that:

- `GameplayTagsEditor` is enabled.
- Smart Tags are enabled in BlueLine preferences.
- The focused graph is a supported Blueprint/K2 graph.
- The selected graph region has enough nodes to meet the minimum cluster size.
- The confidence threshold is not too high for the graph content.

### Exported text is missing comments, variable types, or defaults.

Check the export settings in BlueLine preferences:

- Include comments
- Include variable types
- Include default values
- Default export path

### My bookmarks or snippets disappeared.

Bookmarks and snippets are stored under the project's `Saved` folder. They may disappear if that folder is cleaned, regenerated, or not copied between machines.

Relevant files:

- `Saved/BlueLineBookmarks.json`
- `Saved/BlueLineSnippets.json`

### The level snap tool does not snap to the vertex I expected.

Vertex snapping depends on mesh data access and the clicked geometry. Some meshes do not expose CPU-accessible vertex data in the editor. In those cases, snapping may use a safer fallback or skip exact vertex snapping.

### The pie menu selection radius feels wrong.

Adjust the level tool settings:

- Default selection radius
- Selection radius increment
- Minimum selection radius
- Maximum selection radius

## Packaging And Fab

### Is the Fab package different from the source plugin?

Yes. A Fab-ready package should be produced with Unreal's plugin packaging workflow for the target engine version and platform. The packaged descriptor is typically marked as installed and points at the engine version it was built for.

### Should I upload source, binaries, or both?

For a Fab code plugin, include the files required by Epic's current submission rules for your plugin type and supported platforms. A typical packaged plugin includes:

- `BlueLine.uplugin`
- `Source`
- `Binaries` for supported platforms
- `Resources`
- `Config`
- Documentation files, if included by your package filters

If you support multiple engine versions, prepare and upload the correct build for each engine version.

### Should `Intermediate` be included?

Use the package output produced by Unreal's `BuildPlugin` workflow and follow Epic/Fab submission guidance for your plugin type. If your internal packaging process includes `Intermediate`, verify that it is expected for your submission before upload.

For a clean source-control repository, `Intermediate` is usually generated build output and is not normally committed.

### Why does the source descriptor show one engine version while the packaged descriptor shows another?

When a plugin is packaged for a target engine version, Unreal may write a packaged descriptor for that build. The source plugin descriptor can target current development, while packaged builds are produced separately for specific engine versions.

Use the package whose descriptor matches the engine version you are submitting or installing.

## Privacy And Project Data

### Does BlueLine send my Blueprint data anywhere?

BlueLine's documented features operate inside the editor: layout, tagging, exporting, bookmarks, snippets, and viewport tools. Export to Text writes local files according to your settings.

Review any files you choose to share manually, especially exported graph text, snippets, screenshots, or support bundles.

### What local files does BlueLine create?

Depending on which features you use, BlueLine may create local files such as:

- `Saved/BlueLineBookmarks.json`
- `Saved/BlueLineSnippets.json`
- Exported graph text files
- Unreal-generated build files under `Binaries` and `Intermediate`

## Support And Best Practices

### What information should I include in a bug report?

Include:

- Unreal Engine version
- BlueLine version
- Operating system
- Whether the plugin was installed as a project plugin or engine plugin
- The command you ran
- The graph or viewport context
- Steps to reproduce
- Relevant log output
- Screenshots or exported graph text if safe to share

### How should I introduce BlueLine to an existing project?

Start conservatively:

1. Install BlueLine on a branch.
2. Enable the plugin and restart the editor.
3. Try Auto-Format on a small selected graph region.
4. Try Rigidify Wires on a few selected connections.
5. Run the linter on a representative Blueprint.
6. Test Smart Tags on a copied or non-critical graph.
7. Decide team-wide settings before broad cleanup.

### What is the best way to use BlueLine day to day?

Use small, intentional commands while editing:

- Auto-Format selected nodes after adding a small feature.
- Rigidify wires when connections become hard to follow.
- Use bookmarks in large graphs before jumping away.
- Save snippets for patterns you repeat often.
- Run the linter before review.
- Use Smart Tags after a graph section has stable responsibilities.
- Use Clean Graph for broader cleanup passes when you are ready to review layout changes.

### What should I avoid?

Avoid:

- Running broad cleanup on many assets without source control.
- Using graph cleanup as a substitute for refactoring oversized Blueprints.
- Sharing local snippet or bookmark files accidentally if they contain project-specific or experimental content.
- Mixing large layout-only changes with gameplay logic changes in the same commit.
- Installing a plugin package built for a different engine version.

### How do I know whether BlueLine is working correctly?

A quick smoke test:

1. Open a Blueprint graph.
2. Select a few connected nodes.
3. Press `Shift+Q` to auto-format the selection.
4. Press `Shift+Alt+R` to rigidify selected wires.
5. Press `Alt+1` on a selected node, move away, then press `Shift+1` to jump back.
6. Open a level viewport and press `Alt+X` to open the pie menu.

If those commands work in the correct focused panels, the core editor integration is active.

