I wrote a simple script using tags to collect items I wanted to program behavior for. Initially, I tagged some simple platforms I found from the Fortnite content and tagged them. The script is as follows :
using { /Fortnite.com/Devices }
using { /Fortnite.com/Game }
using { /Verse.org/Native }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Simulation/Tags }
using { /Verse.org/Simulation }
platform_tag := class(tag){}
debug_log := class(log_channel){}
tag_test := class<concrete>(creative_device):
Logger : log = log{Channel := debug_log}
var Plats : []positional = array{}
OnBegin<override>()<suspends> : void =
SetupPuzzleLights()
SetupPuzzleLights() : void =
Print("setting up tags")
TaggedActors := GetCreativeObjectsWithTag(platform_tag{})
set Plats = for:
ActorIndex -> TaggedActor : TaggedActors
PlatDevice := positional[TaggedActor]
do:
Logger.Print("Adding Plat")
PlatDevice
# Did it work ?
Print("{Plats.Length}")
When I tested, no items were collected. After a while, I tried tagging another object (an explosive device), and used the same tag for them. These objects were collected.
I’m finding it difficult to know what classes objects belong to, because I see no reason why the platforms wouldn’t inherit the positional interface (they have a Transform).