I had an issue with my project failing to deploy for testing and isolated it to using an override on a tag variable in a subclass.
To reproduce, create an empty project, add a verse file, and use the following code. Add the hang_fortnite_device to the level.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation/Tags }
using { /UnrealEngine.com/Temporary/Diagnostics }
MyLog := class(log_channel){}
MyLog2 := class(log_channel){}
fortnite_device_tag := class(tag) {}
fortnite_device := class(creative_device):
Name : string = "Fortnite Device"
Tag : tag = fortnite_device_tag{}
Logger : log = log{ Channel := MyLog }
OnBegin<override>()<suspends>:void =
Logger.Print("OnBegin for {Name}")
hang_fortnite_device_tag := class(tag) {}
hang_fortnite_device := class(fortnite_device):
Name<override> : string = "Hang Fortnite Device"
Tag<override> : tag = hang_fortnite_device_tag{}
Logger<override> : log = log{ Channel := MyLog2 }
When trying to launch a session, it will eventually timeout. The log file will show the following 3 times:
LogValkyrieSummary: Destroying Valkyrie Beacon
Now, if you comment out the tag line:
# Tag<override> : tag = hang_fortnite_device_tag{}
The project will deploy fine and you’ll see LogValkyrieSummary: Server Summary - Successfully activated content on all platforms.
When it is in its undeployable state, that log output never appears.