Unreal — How to use Details View and Single Property View in Editor Utility Widget

The image above contains a plain old simple Editor Utility Widget, backed by a very simple blueprint and nothing else. You can display “actor pickers”, “asset pickers” and other useful widgets in the Editor Utility Widget by using “Details View” or “Single property view”! Moreover, it is very easy to set up.

Details View

Start by dragging a Details View onto your canvas:

Then set some properties on the blueprint side of your Editor Widget and group them into a category. Here it is a category named “Editable”:

Then, go to the properties of your Details View widget and add “Editable” to “Categories to show” located at the “View” section.

Finally, you must set on which object is the property category located. Here, we set it to “self”:

Note, that if we set it to “pre-construct”, we get a preview in our UMG Widget editor.

Single Property View

Single Property View is similar to Details View, but you can only set just one property to display. This allows for more better space economy on your widget at the cost of versatility of Details View.

Under the hood

List of all asset picker widgets can be found at Engine\Source\Editor\DetailCustomizations\Private\DetailCustomizations.cpp in method FDetailCustomizationsModule::RegisterPropertyTypeCustomizations()

The list of all property types with their custom asset picker widget can be found bellow. Notice LinearColor, DirectoryPath and FilePath properties, which can be especially handy!

  • SoftObjectPath
  • SoftClassPath
  • DataTableRowHandle
  • DataTableCategoryHandle
  • CurveTableRowHandle
  • Vector
  • IntVector
  • Vector4
  • Vector2D
  • IntPoint
  • Rotator
  • LinearColor
  • Color
  • Matrix
  • Transform
  • Quat
  • SlateColor
  • ForceFeedbackAttenuationSettings
  • SoundAttenuationSettings
  • DialogueContext
  • DialogueWaveParameter
  • BodyInstance
  • SlateBrush
  • SlateSound
  • SlateFontInfo
  • Guid
  • Key
  • FloatRange
  • Int32Range
  • FloatInterval
  • Int32Interval
  • DateTime
  • Timespan
  • BlackboardEntry
  • AIDataProviderIntValue
  • AIDataProviderFloatValue
  • AIDataProviderBoolValue
  • RuntimeFloatCurve
  • EnvNamedValue
  • NavigationLink
  • NavigationSegmentLink
  • NavAgentSelector
  • Margin
  • TextProperty
  • DirectoryPath
  • FilePath
  • IOSBuildResourceDirectory
  • IOSBuildResourceFilePath
  • InputAxisConfigEntry
  • InputActionKeyMapping
  • InputAxisKeyMapping
  • RuntimeCurveLinearColor
  • ParticleSysParam
  • RawDistributionVector
  • CollisionProfileName
  • AutoReimportDirectoryConfig
  • AutoReimportWildcard
  • DistanceDatum
  • HierarchicalSimplification
  • MeshProxySettings
  • PostProcessSettings
  • AssetImportInfo
  • CaptureResolution
  • CompositionGraphCapturePasses
  • WeightedBlendable
  • MaterialProxySettings
  • CameraFilmbackSettings
  • CameraLensSettings
  • CameraFocusSettings
  • MovieSceneSequenceLoopCount
  • MovieSceneBindingOverrideData
  • MovieSceneTrackEvalOptions
  • MovieSceneSectionEvalOptions
  • MovieSceneEventParameters
  • FrameRate
  • Timecode
  • LevelSequenceBurnInOptions
  • LevelSequenceBurnInInitSettings
  • CollectionReference
  • PerPlatformInt
  • PerPlatformFloat
  • PerPlatformBool
  • SkeletalMeshOptimizationSettings
  • GrassInput
  • ComponentReference
  • EMaterialShadingModel
  • DebugCameraControllerSettingsViewModeIndex

GrassInput

ComponentReference

EMaterialShadingModel

DebugCameraControllerSettingsViewModeIndex