Session crash when instancing subtype(entity) or concrete_subtype(entity) from compile time

Summary

Instancing Scene Graph entity prefab classes that come from a compile time constant crashes the game session at game start. No Verse runtime error.

Please select what you are reporting on:

Verse

What Type of Bug are you experiencing?

Scene Graph

Steps to Reproduce

  1. Create a UEFN project with Scene Graph enabled

  2. Create an entity prefab in content drawer

  3. Compile Verse to expose the entity in the asset digest

  4. Add a Verse file holding the prefab class e.g.
    MyPrefabs : concrete_subtype(entity) = array{MyPrefab}

  5. Instantiate the entity on game start in a Verse device or component
    (SubtypeEntity : subtype(entity)).ToEntity(): entity=
    EntityType : concrete_subtype(entity) = SubtypeEntity
    FinalEntity := EntityType{}

    OnBegin():void=
    for(Prefab : MyPrefabs):
    Instance := Prefab.ToEntity()

  6. Push changes and launch a session

Expected Result

The session starts and each prefab class is instanced.

Observed Result

The session crashes. No Verse runtime error.

Platform(s)

All

Video

Additional Notes

This session crash is very frustrating, as you don’t know why it is happening.

The current workaround is getting the concrete_subtype(entity) at runtime:
GetMyPrefabs() : concrete_subtype(entity)=
array:
MyPrefab

The status of FORT-1147783 changed to ‘Needs Triage’. We are routing this to the appropriate team for investigation.