basic_interactable_component crash session when end round after use

Summary

Since recent update, the basic_interactable_component doesn’t work at all. When you interact with and stop the current round, the UEFN session crash automatically

Please select what you are reporting on:

Verse

What Type of Bug are you experiencing?

Other

Steps to Reproduce

  • Create Verse component who inherits from basic_interactable_component

  • Add it to prefab with mesh component

  • Add it to viewport, launch session, interact with

  • Stop the round → Session crash

Expected Result

Round should be stopped as normal behavior

Observed Result

The UEFN session crash until disconnect client/uefn

Platform(s)

Windows

Video

Additional Notes

If you replace the basic_interactable_component with interactable_component, it work well, so it’s only about basic_interactable_component

I don’t have any specific log inside UnrealEditorForFortnite.log, except timeout as classic uefn server side crash

simple_interactable_component := class(basic_interactable_component):
var RoundStartedCancelable: ?cancelable = false
var RoundEndedCancelable: ?cancelable = false
var InteractionCancelable: ?cancelable = false

OnBeginSimulation<override>():void = {
    (super:)OnBeginSimulation()
    if:
        RoundManager := Entity.GetFortRoundManager[]
    then:
        StartedCancelable := RoundManager.SubscribeRoundStarted(OnRoundStarted)
        set RoundStartedCancelable = option{StartedCancelable}
        EndedCancelable := RoundManager.SubscribeRoundEnded(OnRoundEnded)
        set RoundEndedCancelable = option{EndedCancelable}
}

OnRoundStarted<protected>():void = {
    set InteractionCancelable = option{SucceededEvent.Subscribe(OnInteractionSucceeded)}
}

OnRoundEnded<protected>():void = {
    if:
        Cancelable := InteractionCancelable?
    then:
        Cancelable.Cancel()
}

OnEndSimulation<override>():void = {
    (super:)OnEndSimulation()
    if:
        Cancelable := RoundEndedCancelable?
    then:
        Cancelable.Cancel()
    if:
        Cancelable := RoundStartedCancelable?
    then:
        Cancelable.Cancel()
}



OnInteractionSucceeded<protected>(Agent: agent): void = {
    Print("Player interacted")
}

I can confirm this is a thing and it indeed only happens when you interact with the prefab. If you don’t interact with the prefab, no crash will happen.

FORT-967172 has been created and its status is ‘Unconfirmed’. This is now in a queue to be reproduced and confirmed.