how can i display unique id of datasmith runtime as a list and to move to the item?


In your widget with a list
you can do either

  1. A list that store unique ID as strings, and on the side you have a map that maps unique id with their actors. So when you pick one element in the list you look up in your map for the corresponding actor and you do a camera focus on it.
  2. you could make a list where each element is a custom widget button that display the unique id and when you press the button you move to the actor stored in your custom widget button

For string list something like:

  1. get datasmith runtime actor
  2. iterate over all attached actors:
    2a) store a map of datasmith Unique_ID linked to the corresponding actor object
    2b) add each datasmith unique ID in the widget list
  3. on item selection in list, get ID, then get corresponding actor using the map, then move there.

Thank you for the help
could you make a visual example cuz I’m not familiar with mapping


this is how I understood you’re explanation cold you please make a visual example of how to do this?
and also in output log I receiving “LogDatasmith: Warning: Missing actor referenced in metadata” if that something I should care?

  1. Look at this video that explains how to use the list view widget Understanding List View - Unreal Engine 5 Beginner tutorial - YouTube
  2. create a listItem blueprint widget, that will be the class that defines what you put in the list view
  3. a. add a text field in the graph, add a variable to store the name and a variable to store the actor
  4. b. as show in the video you have to make that widget blueprint implement a specific interface so it can be used as a cell of the list view

set info function


function to set value of text field on creation of the list item

class is a blueprint widget and implement a specific interface

  1. Create you widget that contains the list
    A button to refresh the list (you could automate that)
    A function to build the list, you do not even need the map
    A function to trigger whatever you want when a user click on one of the item

The widget with the list


On click button we build the list and also tell the list to call that specific custom event everytime a list item is selected

On top the function that parse all datasmith runtime actors attached actors, fill a map
Add the bottom the creation of a list item for each of the element in the map.
You could do without the map

two thigs are left for me to understend


“Cel Text” and is Text, where they come from


“Fit Actor” what’s in it?

CelText is a “Text” widget element that I added to the canvas of the listItem blueprint widget. It is expose as variable so it can be used in the graph

Fit Actor, in the main widget, is a function to move the camera to focus on the selected actor in the list. You can do whatever you want there. You can see how to get the “listItem” object selected in the list through the custom event and then how to access variables on that item, in particular the actor that I then use to do a focus on.