Overview
BlueLine is a professional productivity suite for Unreal Engine 5.7, designed to solve the three biggest frictions in professional Unreal development: Messy Blueprint Graphs, Invisible Data, and Clunky Level Editor Workflows.
Instantly align Blueprint nodes based on execution flow using Shift+Q. Unlike other formatters, BlueLine is Selection-Only, preserving Git history while restoring order.
Uses a Genetic Algorithm (Shift+C) to iteratively minimize wire crossings and find the mathematically optimal layout for complex node webs.
Intelligently classifies logic clusters (Combat, AI, Movement) using Shift+T, automatically wrapping them in Smart Color comment boxes.
Enforce 90-degree discipline. Injects reroute knots to convert diagonal spaghetti into clean, orthogonal Manhattan paths.
Save and instantly navigate to important nodes. Bookmarks persist per graph across editor sessions.
Save selected nodes as reusable templates. Quickly insert common logic patterns into any graph.
Refactor complex graphs by extracting selected nodes into new Blueprint Subsystems (Shift+B). Creates GameInstance, World, or LocalPlayer managers automatically.
Export Blueprint logic to human-readable text (Shift+E) for debugging, documentation, and AI-assisted analysis. Tree structure with inline pure chains.
Blender-style radial menu (Alt+S) for the Level Editor viewport. Quick pivot snapping, cursor-based vertex selection, and material-based selection scope.
Transforms generic grey Gameplay Tags into Color-Coded Chips in both the Details Panel and Graph Nodes. Configured via DataAsset for team sync.
BlueLine v0.4 - Blueprint Subsystems & Text Export
New BlueLineCore module enables creating GameInstance/World/LocalPlayer Subsystems directly in Blueprints. Plus Export to Text (Shift+E) for debugging and AI-assisted workflow.
Latest Updates
Graph Bookmarks (Alt+1-9), Node Snippets (Shift+S), and numerous bug fixes including proper WireStyle support, resolved key binding conflicts, and fixed pin duplication issues.
BlueLine v0.4 - Level Editor Tools
BlueLine now unifies Blueprint graph editing and Level Editor viewport workflows. The former "Shift+S" plugin has been fully integrated as the BlueLineLevel module, sharing the same theme system and configuration.
Using BlueLine
Welcome to a cleaner workflow. This section covers the essential first steps for new users to get the most out of BlueLine's intelligence features.
1. Setting Up Colored Tags
BlueLine's visual clarity depends on your Theme Data. By mapping Gameplay Tags to colors, you turn generic grey wires into a color-coded map of your logic.
The Theme Data Asset
The plugin looks for an asset named DA_BlueLineDefault of type BlueLineThemeData.
- Create: Right-click in Content Browser → Miscellaneous → Data Asset →
BlueLineThemeData. - Configure: Add a new entry to the
Tag Stylesarray. - Define: Set the Tag (e.g.,
Combat.Damage) and pick a Color (e.g., Bright Red). - Propagate: Enable
Apply To Childrenif you want sub-tags likeCombat.Damage.Fireto inherit the same style automatically.
2. Mastering Auto-Tagging (Shift+T)
Don't waste time creating comment boxes. Let BlueLine's semantic analyzer do it for you.
The Workflow
Select a messy group of nodes and press Shift+T. BlueLine will:
- Scan for Function Keywords (Damage, Movement, AI).
- Analyze Variable Types used in the cluster.
- Detect Execution Chains that belong together.
- Wrap them in a Colored Comment Box based on your Theme Data.
Installation & Build
Because BlueLine modifies the Editor Source (GraphPins, Property Editors, and Level Viewport), it must be compiled with your project.
- Copy the
BlueLinefolder into your project's/Plugins/directory. - Right-click your
.uprojectfile and strictly select Generate Visual Studio Project Files. - Open `YourProject.sln`.
- Build Solution (Ctrl+Shift+B).
- Launch Unreal Engine. Enable the plugin in Edit > Plugins.
Level Editor Tools v0.3
BlueLine now extends into the Level Editor viewport with a radial pie menu for rapid pivot manipulation and intelligent selection. Previously available as the standalone "Shift+S" plugin, these tools are now unified under BlueLine's shared theming system.
Opening the Pie Menu
In the Level Editor viewport, press Alt+S to open the radial menu at your cursor position. The menu provides four quadrant actions:
Pivot Center
Snaps the pivot point to the center of the selected actor's visual bounds. Ignores billboard and collision components.
Cursor Snap
Enters precision picker mode with crosshair. Hover over mesh vertices for live preview. Click to snap to exact vertex position.
Pivot Bottom
Snaps the pivot to the bottom-center of the visual mesh. Ideal for props that need to sit flush on the floor.
Select Scope
Selects actors with matching materials within radius. World scan happens once; mouse wheel adjusts radius in real-time.
Design Philosophy
Blueprint Aesthetic
Subtle Blueprint-style grid fades toward edges. Clean lines, minimal clutter.
Animated Feedback
Smooth hover interpolation for scale and glow. Center indicator changes color to match selection.
Smart Layout
45Β° diagonal dead zones prevent accidental triggers. Options only activate in their specific quadrant.
Smart Pivot Snapping
BlueLine's pivot tools understand the visual geometry of your meshes, not just bounding boxes.
Intelligent Bounds Calculation
When calculating the center or bottom of an actor, BlueLine ignores non-visual components like:
- Billboard Components (sprite icons)
- Collision volumes
- Hidden editor-only components
This ensures the pivot snaps to the visible mesh, not invisible bounding artifacts.
Container vs. Mesh Handling
Mesh Root (StaticMeshActor)
Uses SetPivotOffset() to move the pivot without changing the mesh position. The actor coordinate stays at the original location.
Container Root (Blueprints)
Physically moves the actor coordinate and counter-offsets all child components. Preserves relative positions of attached meshes.
Material-Based Selection
The Select Scope feature allows rapid selection of visually related actors in your level.
How It Works
- Select an actor with a mesh (e.g., a wooden crate).
- Open the Pie Menu (
Alt+S) and hover over Select Scope. - BlueLine scans the entire level once and caches all actors sharing any material with your selection.
- Mouse wheel adjusts the radius (50 - 50,000 units).
- Click to select all matching actors within the radius sphere.
Magnet Formatting (Shift+Q)
Stop manually dragging nodes pixel-by-pixel. BlueLine introduces the "Soft Align" workflow for localized cleanup.
How it works
The formatter analyzes the Execution Flow and Data Links of the selected nodes. It calculates the optimal Y-position for the shortest possible horizontal connection. If Manhattan Routing is enabled, it will also inject reroute nodes to maintain 90-degree orthogonal paths.
Manhattan Routing (Shift+R)
Blueprint spaghetti is often caused by long, diagonal splines that cross over unrelated nodes. Manhattan Routing enforces 90-degree discipline across your selection.
Intelligent Backwards Flow
When routing connections to nodes placed *behind* the source (Backwards Flow), BlueLine automatically calculates a Safe Perimeter to route the wire around the node body, preventing the wire from passing through the node's visual area.
Key Features
- 1. Multi-Point Alignment: Automatically calculates the mid-points for L and Z-style bends.
- 2. Knot Centering: Ensures reroute nodes are perfectly centered between their connected pins.
- 3. Proximity Awareness: Will not trigger if pins are too close together, preventing "knot clusters" in tight spaces.
Graph Bookmarks Alt+1-9
Save and instantly navigate to important nodes in your Blueprint graphs. Bookmarks persist per graph across editor sessions, stored in Saved/BlueLineBookmarks.json.
Keyboard Shortcuts
How It Works
- 1 Select a node in any Blueprint graph.
- 2 Press Alt+1-9 to save the bookmark (e.g., Alt+5 saves to slot 5).
- 3 Press 1-9 anytime to jump directly to that node.
Features
Bookmarks reference nodes by GUID, so they survive node repositioning.
Saved per graph in Saved/BlueLineBookmarks.json.
Stale bookmarks are automatically removed when nodes are deleted.
Bookmarks are cleaned up when Blueprint assets are deleted.
Node Snippets Shift+S / Shift+I
Save selected nodes as reusable templates that can be quickly inserted into any graph. Perfect for commonly used logic patterns, function templates, or node setups.
Keyboard Shortcuts
Creating a Snippet
- 1 Select nodes in any Blueprint graph (can include events, functions, variables).
- 2 Press Shift+S to open the snippet creation dialog.
-
3
Enter a name and click OK. The snippet is saved to
Saved/BlueLineSnippets.json.
Inserting a Snippet
- 1 Press Shift+I in any graph to insert the most recently used snippet.
- 2 Nodes are recreated with connections preserved between them.
- 3 The new nodes are automatically selected for easy repositioning.
Snippet Features
Internal node connections are maintained when inserting.
Organize snippets by category for easy browsing.
Share snippets with team members via JSON files.
Tracks how often each snippet is used.
Clean Graph (Shift+C)
For large, tangled logic webs, the Genetic Algorithm finds the global optimum for node placement and wire routing.
The Evolutionary Process
Unlike standard formatters that use fixed rules, BlueLine's Genetic Algorithm (GA) performs a simulation:
- 1. Population: It spawns 50 randomized "Genomes" of your selected nodes.
- 2. Scoring: Each genome is penalized for wire crossings, backward flow, and excessive whitespace.
- 3. Selection: The fittest layouts are kept; the weakest are discarded.
- 4. Mutation: Winners are "bred" with small positional mutations to find the local maxima of readability.
Semantic Auto-Tag (Shift+T)
BlueLine uses Semantic Heuristics to understand what your code does, automatically grouping it into themed Comment Boxes.
Identified Markers
"Detected 'Health', 'Damage', and 'Attack' nodes. Classifying as Combat Logic."
Heuristic Intelligence
The FBlueLineSmartTagAnalyzer looks for patterns across the graph:
- Naming: Matches keywords in function names (e.g., "Projectile" → Combat, "Sound" → Audio).
- Connectivity: Groups nodes that are physically linked, even if they share no common keywords.
- Theme Sync: Uses the colors defined in your
BlueLineThemeDataasset to style the resulting comment boxes.
Colored Pins (Graph Editor)
Using the custom FBlueLineGraphPinFactory, the plugin also injects styling into the Blueprint Graph itself.
Pin Context Menu
For fine-grained control, BlueLine extends the standard Blueprint pin context menu with localized actions.
Intelligence (IQ) Check
BlueLine won't blindly insert knots if it would make the graph worse. Before straightening, the engine performs a sector scan:
- Collision Detection: If a new Manhattan path would pass directly through an existing node, the action is cancelled.
- Overlap Prevention: If the horizontal distance is less than 64 units, it keeps the spline to avoid a "knot on top of pin" visual glitch.
- Pathfinding: It searches for the "cleanest" side (top vs bottom) to route around obstacles.
Team Setup
BlueLine uses a DataAsset to sync colors across the team. This ensures that if the Lead Designer marks "Status.Dead" as Black, every other developer sees Black instantly.
Step 1: Create the Asset
- In the Content Browser, right-click and select Miscellaneous > Data Asset.
- Search for
BlueLineThemeData. - Crucial: Name the file
DA_BlueLineDefault. - Place it anywhere in your Content folder (The plugin uses Asset Registry search to find it).
Step 2: Configure Rules
Open the asset and add entries to the Tag Styles array.
- Tag:
Status- Color:
Green- ApplyToChildren:
True
Result: Status, Status.Buff, and Status.Buff.Heal will all turn Green automatically.
π Level Editor Settings (v0.4)
BlueLineLevel uses the same BlueLineThemeData asset. Future versions will apply theme colors to viewport selection highlights and debug drawing.
Runtime Debugging
BlueLine exposes a static library to draw colored debug text in the game world, using the same colors defined in your editor Data Asset.
C++ Usage
#include "Debug/BlueLineDebugLib.h"
void AMyCharacter::Tick(float DeltaTime)
{
// Draw "Status.Frozen" in Cyan (if defined in DataAsset) above the character
UBlueLineDebugLib::DrawBlueLineDebugTag(
this,
CurrentStateTag,
GetActorLocation() + FVector(0,0,100)
);
}
Blueprint Usage
Search for the node "Draw BlueLine Debug Tag".
Extract to Subsystem Shift+B
Refactor complex Blueprint graphs by extracting selected nodes into dedicated Blueprint Subsystems. This feature automates the creation of GameInstance, World, or LocalPlayer managers, promoting cleaner architecture and better separation of concerns.
What are Subsystems?
Unreal Engine Subsystems are automatically instantiated manager classes with lifecycles tied to GameInstance, World, or LocalPlayer. They're perfect for systems that need to persist across level transitions (save systems, achievement managers, input handlers) without being tied to specific actors.
How It Works
Select Nodes
In any Blueprint graph, select the nodes you want to extract into a subsystem. The selection can include events, functions, variables, and pure calculation chains.
Press Shift+B
Or right-click and select "Extract to Subsystem" from the BlueLine Graph context menu.
Configure & Save
Choose a destination path and name. The system creates a new Blueprint inheriting from BlueLineGameInstanceSubsystem by default.
Edit & Connect
The new Blueprint opens automatically. The selected nodes are copied to the subsystem's event graph, ready for further refinement.
Subsystem Types
| Type | Lifecycle | Best For |
|---|---|---|
| GameInstance | Game Session | Save systems, achievement managers, analytics, cross-level data persistence |
| World | Level/World | Level-specific rules, world event managers, per-level audio managers |
| LocalPlayer | Per Player | Per-player input managers, player-specific UI controllers, split-screen HUD |
Visual Example
Export to Text Shift+E
Transform visual Blueprint graphs into human-readable text for debugging, documentation, code reviews, and AI-assisted analysis. The exporter flattens nested logic into an easy-to-follow tree structure.
AI-Ready Output
The exported text is optimized for LLM tools like ChatGPT, Claude, and Copilot. Because the exporter flattens nested pure node chains into inline expressions, AI understands the logic far better than from screenshots or raw graph data.
How It Works
- 1 Open any Blueprint graph in the editor.
- 2 Press Shift+E or right-click β "Export to Text" from the BlueLine Graph menu.
-
3
Choose save location in the file dialog (defaults to
[Project]/BlueprintExports/). - 4 Open the .txt file in any text editor or paste into your AI tool of choice.
Example Output
=== Blueprint Export: BP_Player ===
Export Type: Full Graph
Total Nodes: 42
Event BeginPlay
ββ then β
Set Max Health (MaxHealth = 100.0)
ββ then β
Set Current Health (CurrentHealth = MaxHealth)
ββ then β
Initialize UI (Widget = Create Widget, Class = WBP_HUD)
Event TakeDamage
Take Damage (Damage = 10.0, DamageType = DamageType_Fire)
ββ then β
Apply Damage (Target = Self, BaseDamage = Damage)
ββ then β
Branch (Condition = CurrentHealth <= 0)
ββ true β
Play Death Animation (Animation = Death_Fire)
ββ then β
Destroy Actor (Target = Self)
ββ false β
Update Health Bar (Percent = CurrentHealth / MaxHealth)
Event OnHeal
Heal (Amount = Clamp (Value = Float + Float, Min = 0, Max = MaxHealth - CurrentHealth))
ββ then β
Set Current Health (CurrentHealth = CurrentHealth + Amount)
Features
π₯ Tree Structure Visualization
Uses Unicode box-drawing characters (ββ β) to show execution flow hierarchy clearly.
β‘ Pure Node Expansion
Math operations, variable getters, and conversions are expanded inline for complete visibility.
π Smart Input Detection
Automatically detects literal values, default values, and connected pin values.
π Full Graph Coverage
Exports Event Graphs, User Functions, Macros, and Interfaces comprehensively.
Use Cases
- β Debugging: See full logic flow without clicking through dozens of nodes
- β Code Reviews: Share logic via text instead of screenshots in PRs
- β Documentation: Generate human-readable docs from Blueprints automatically
- β AI Assistance: "Optimize this logic", "Rewrite in C++", "Find bugs"
- β Understanding: Quickly grasp complex Blueprints written by others
Blueprint Subsystems Runtime Module
The BlueLineCore module provides Blueprint-friendly base classes for creating Unreal Engine Subsystems. Create GameInstance, World, and LocalPlayer managers directly in Blueprint without writing C++.
No C++ Required
Inherit from BlueLine's base classes in Blueprint to create professional-grade Subsystems. All the lifecycle management is handled automaticallyβjust implement the Blueprint events.
Available Base Classes
UBlueLineGameInstanceSubsystem
Parent: UGameInstanceSubsystemPersists for the entire game session. Perfect for managers that need to survive level transitions.
- β’ Event OnInitialize β Called when subsystem is created
- β’ Event OnDeinitialize β Called when game shuts down
- β’ GetGameInstance β Returns owning GameInstance
UBlueLineWorldSubsystem
Parent: UWorldSubsystemCreated when a world/level loads, destroyed when it unloads. Ideal for level-specific logic.
- β’ Event OnInitialize / OnDeinitialize
- β’ Event OnPostInitialize β After all subsystems ready
- β’ Event OnWorldBeginPlay β When gameplay starts
- β’ Event OnUpdateStreamingState β For level streaming
UBlueLineLocalPlayerSubsystem
Parent: ULocalPlayerSubsystemOne instance per local player. Essential for split-screen multiplayer where each player needs their own managers.
- β’ Event OnInitialize / OnDeinitialize
- β’ GetLocalPlayer β Returns owning LocalPlayer
- β’ GetPlayerController β Returns associated controller
Creating a Subsystem
- 1 Create Blueprint: Right-click in Content Browser β Create Blueprint
-
2
Choose Parent: Select
BlueLineGameInstanceSubsystem(or World/LocalPlayer variant) as the parent class -
3
Name it: Use descriptive name like
BP_SaveManagerorBP_AudioManager - 4 Implement: Override the OnInitialize event to set up your system
-
5
Access: Use
Get GameInstance Subsystemnode anywhere to access your manager
Accessing Subsystems
// Get your custom subsystem from any Blueprint
UGameInstanceSubsystem* Subsystem = GetGameInstanceSubsystem(BP_SaveManager);
// Call custom functions you've defined
Subsystem->SaveGame();
Subsystem->LoadGame();
Subsystem->DeleteSaveSlot(SlotName);
Module Dependency Graph
BlueLine is architected to separate Runtime logic (shipping with the game) from Editor logic (tools). This prevents packaging errors and ensures a lightweight footprint in builds.
BlueLineCore
Contains the UBlueLineThemeData definition and the static function library UBlueLineDebugLib. It serves as the single source of truth for colors used by both the Editor and the Runtime game client. v0.4: Now also hosts the shared FBlueLineStyle system for unified iconography.
BlueLineCore v0.4
Provides Blueprint Subsystem base classes (UBlueLineGameInstanceSubsystem, UBlueLineWorldSubsystem, UBlueLineLocalPlayerSubsystem). Enables creating Unreal Engine Subsystems in Blueprint without C++.
BlueLineSmartTags
The "Brains" of the plugin. Contains the FBlueLineSmartTagAnalyzer, which performs asynchronous semantic parsing of graph structures to suggest and apply tags/styles automatically.
BlueLineGraph
The "Hands" of the Blueprint tools. Implements the FBlueLineManhattanRouter for orthogonal wire management and the FBlueLineGraphCleaner Genetic Engine. It handles all low-level Slate interaction and node manipulation.
BlueLineLevel v0.4
The "Eyes" for the Level Editor. Provides viewport-based tools including the radial pie menu (Alt+S), smart pivot snapping, vertex-precision cursor picking, and material-based selection scope. Formerly the standalone "Shift+S" plugin.
BlueLineCore v0.4
Provides Blueprint-friendly Subsystem base classes. Enables developers to create GameInstance, World, and LocalPlayer Subsystems directly in Blueprint without C++. These bases hook into Unreal's native Subsystem lifecycle management.
The Manhattan Routing Engine
BlueLine replaces standard Blueprint splines with intelligent, 90-degree orthogonal paths. This is achieved via a Dynamic Knot Injection system.
1. Path Calculation
The router calculates a multi-point "Z-bend" or "L-bend" based on the relative distance between pins. It handles backwards flow by creating a "Safe Loop" to prevent tangling.
2. Knot Persistence
Unlike transient visual-only fixes, BlueLine injects real UK2Node_Knot (Reroute) nodes. This ensures the layout remains clean across editor restarts and team commits.
The "Magnet" Algorithm (Soft Align)
The formatter (Shift+Q) uses a heuristic approach rather than a solver. It does not try to solve the whole graph; it solves local constraints based on user selection.
Logic Flow
- Prioritization: The algo scans Input Pins.
Execpins take priority over Data pins. - Y-Axis (Alignment):
TargetY = Parent.Y + Offset. It attempts to make the wire perfectly horizontal. - X-Axis (Spacing):
TargetX = Parent.X + Width + Padding. It ensures nodes never overlap, pushing child nodes to the right if necessary. - Snap: Final coordinates are rounded to the nearest Grid Unit (16px) for cleanliness.
UE 5.7 Implementation Nuances
Developing for Unreal Engine 5.7 requires specific architectural patterns to maintain compatibility with new editor systems:
FExtender delegates in favor of the UToolMenus system. BlueLine now registers its context menu entries (like "Spawn Messy Demo") using the modern GraphEditor.GraphContext hook to ensure visibility in all sub-graph types.
BlueLineSmartTags module loads in the Default phase but manually triggers LoadModuleChecked("GraphEditor"). This ensures that the engine's menu systems are fully initialized before the plugin attempts to inject its custom commands.
BlueLineLevel module loads in PostEngineInit to ensure the LevelEditor module is fully initialized before binding the Alt+S command to viewport actions.
Troubleshooting
Issue 1: Tags are "Hot Pink" (Magenta)
If your Graph Pins or Runtime Debug text appear as a uniform, bright pink (Magenta), the plugin cannot find your configuration file.
Solution
- Check your Content Browser. Do you have a file created from class
BlueLineThemeData? - Naming Convention: Ensure it is named
DA_BlueLineDefault. - Save & Restart: If you just created it, the Registry might be stale. Save the asset and Restart the Editor.
Issue 2: "Spawn Messy Demo" is Missing
You right-click in the graph but the "BlueLine Demo" section does not appear.
- Graph Focus: Ensure you are clicking on the background of the graph, not a node.
- Module Status: Check the Output Log for
"BlueLineSmartTags: Registering...". If it is missing, the module failed to load due to a dependency mismatch. - Rebuild: If you are using C++, perform a full rebuild to ensure
ToolMenusis correctly linked.
Issue 3: "Shift+T" (Auto-Tag) Fails
The command runs, but no comment boxes are created.
- Cluster Size: Auto-Tag ignores clusters of fewer than 3 nodes to prevent "noise" on small snippets.
- Semantic Density: If the nodes are purely generic (e.g., just Float Math without context), the analyzer might not have enough confidence to suggest a tag.
- Knot Links: Ensure you are using the latest version of BlueLine that supports Knot-traversal for cluster detection.
Issue 4: "Alt+S" Doesn't Open Pie Menu π
You press Alt+S in the Level Editor, but nothing happens.
- Viewport Focus: The pie menu requires the Level Editor viewport to have focus. Click in the viewport first, then press
Alt+S. - Module Loaded: Check the Output Log for
"BlueLineLevel: Module Started."If missing, the module may have failed to load. - Shortcut Conflict: Another plugin or Editor Preference might be using
Alt+S. Check Editor Preferences > Keyboard Shortcuts and search for "BlueLine Level". - Selection Required: Some pie menu actions require an actor to be selected first. Try selecting a Static Mesh Actor, then opening the menu.
Issue 5: Graph Pins are Generic Grey
You created a Gameplay Tag pin, but it looks like a standard, uncolored dropdown. This is a Factory Priority issue ("Shadowing").
Solution
- Restart Required:
StartupModule()registers the factory. If you compiled via Live Coding, the registration code did not run. Restart the editor. - PreDefault Loading: Open
BlueLine.uplugin. Ensure theBlueLineGraphmodule has"LoadingPhase": "PreDefault". This forces it to register early, but we rely on dependency ordering (see below) to ensure we end up on top. - Dependencies: Ensure
BlueLineGraph.Build.csincludes"GameplayTagsEditor". This forces the Engine module to load first, so when your module loads second, your factory is pushed to the top of the stack.
Issue 6: "Shift+Q" Does Nothing
You press the hotkey, but nodes do not move. The Output Log shows nothing.
Common Causes
Focus Issues
The command only triggers if the Graph Editor has focus. If you clicked a Toolbar button or a different window, focus is lost.
Fix: Click empty space in the graph before pressing Shift+Q.
Engine Shortcut Conflicts
Another plugin or Editor Preference might be using Shift+Q.
Fix: Go to Editor Preferences > Keyboard Shortcuts, search for "Soft Align", and rebind it.
Issue 7: Compilation Errors (UE 5.7)
If you are modifying source code, note the strict API changes in 5.7.
C3668: CreateConnectionPolicy override not found
This function was removed from FGraphPanelNodeFactory in 5.7. Do not attempt to override it. Remove it from your header.
C2664: MakeGameplayTagWidget cannot convert...
The FGameplayTagWidgetSettings struct is deprecated. You must use the direct function signature: MakeGameplayTagWidget(Delegate, InitialPtr, FilterString).
LNK2019: Unresolved External Symbol FGameplayTag::StaticStruct
Your module is using Gameplay Tags but forgot to link the library. Add "GameplayTags" to `PublicDependencyModuleNames` in your `Build.cs` file.
LNK2019: Unresolved External Symbol IPluginManager::Get
BlueLineCore needs the Projects module for the shared style system. Add "Projects" to PrivateDependencyModuleNames in BlueLineCore.Build.cs.
GregOrigin
Created by Andras Gregori @ Gregorigin, a single dad currently based outside Budapest, HU.
"Building tools that empower creators to shape worlds."