Class Hierarchy

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).