This plugin exposes several utility functions dealing with GUIDs to blueprints and a graph pin customization for FGuid.
This project is mostly a showcase on how to make your own pin type customizations.
Any parameter with meta specifier UPARAM(meta=(GuidFormat=Digits)) or a function that has it will use custom pin visual.
Conditions can be viewed and changed in factory class.
Utility functions located in UGuidToolsLibrary:
- To String with format specifier (wrapper for
FGuid::ToStringwith format) - Parse with format specifier (wrapper for
FGuid::ParseExact) - Combine Guid / Combine Guid Array wrappers for
FGuid::Combine - Make Guid From Array (
byte,int) - Make Guid From String (
FString) - Make Guid From Path (uses
FGuid::NewDeterministicGuidand takesFString,FSoftObjectPath,FSoftClassPathinput)
Pin Type Customization:
GuidToolsEditorModuleregisters factory by callingFEdGraphUtilities::RegisterVisualPinFactory- The
FGuidToolsPinFactoryimplementsFGraphPanelPinFactorythat handles creation ofSGraphPins - When conditions are met factory creates & returns a
SGraphPinGuidwidget that is displayed in graph editor
A: There are many pin type customizations in engine code, in your IDE (Rider, Visual Studio) navigate to FGraphPanelPinFactory and run Show Hierarchy or Find Usages for it.
A: By using PublicIncludePaths.Add(ModuleDirectory) in ModuleName.Build.cs you can opt out of it.
All include paths will be relative to module directory and not Public/Classes/Private
A: Because FGuid is an intrinsic type, you can not use StaticStruct<T> to acquire UScriptStruct for it.