I know that we can get devices/props for a tag using GetCreativeObjectsWithTag()
, but is it possible to get the Tag(s) off of a device/prop? I want to try and get a Tag off of a creative_prop in order to find a list of objects that have the same Tag (using GetCreativeObjectsWithTag()
)
1 Like
No, we don’t allow retrieving the full tag list from the prop as some of the tags may not be visible to your game/plugin.
You can however, call GetTags() on the prop to get a tag_view and then call Has/HasAny/HasAll on the tag_view to see if it contains the specific tags you are interested in.
See the following methods from the API digests:
# Module import path: /Fortnite.com/Devices
Devices<public> := module:
# Returns an array containing all creative objects which have been marked with the specified `Tag`.
GetCreativeObjectsWithTag<native><public>(Tag:tag):[]creative_object_interface
# Returns an array containing creative objects which have tag(s) matching the specified `SearchCriteria`.
GetCreativeObjectsWithTags<native><public>(SearchCriteria:tag_search_criteria):[]creative_object_interface
# Returns a queryable `tag_view` which can be used to query the tags on `CreativeObject`.
(CreativeObject:creative_object_interface).GetTags<native><public>():tag_view
Simulation<public> := module:
# Module import path: /Verse.org/Simulation/Tags
Tags<public> := module:
# A queryable collection of gameplay tags.
tag_view<native><public> := interface<epic_internal>:
# Determine if TagToCheck is present in this container, also checking against parent tags {"A.1"}.Has("A") will return True, {"A"}.Has("A.1") will return False If TagToCheck is not Valid it will always return False.
Has<public>(TagToCheck:tag)<transacts><decides>:void
# Checks if this container contains ANY of the tags in the specified container, also checks against parent tags {"A.1"}.HasAny({"A","B"}) will return True, {"A"}.HasAny({"A.1","B"}) will return False If InTags is empty/invalid it will always return False.
HasAny<public>(InTags:[]tag)<transacts><decides>:void
# Checks if this container contains ALL of the tags in the specified container, also checks against parent tags {"A.1","B.1"}.HasAll({"A","B"}) will return True, {"A","B"}.HasAll({"A.1","B.1"}) will return False If InTags is empty/invalid it will always return True, because there were no failed checks.
HasAll<public>(InTags:[]tag)<transacts><decides>:void
6 Likes