Ask Epic Anything: Programming & Scripting | May 24th, 2023 at 12:30PM EST

Iterated forms of concurrency expressions. So sync, race and rush etc. that work sort of like a for loop but concurrently. These are planned and partially implemented though not finished in time for UEFN Beta. Working with arrays of objects concurrently without them is a pain - and it is a common need.

sync(Item:List):
    Item.Coro()
    DoStuff(Item)

Which is essentially the same as:

sync:
    if(Item0 := List[0]):
        Item0.Coro()
        DoStuff(Item0)
    if(Item1 := List[1]):
        Item1.Coro()
        DoStuff(Item1)
    # ...
    if(ItemN := List[N]):
        ItemN.Coro()
        DoStuff(ItemN)

For tooling it would probably Verse Debugging. It can be tricky to do debugging in a live environment with multiple users - you cannot just stop everything. We have some ideas on how to move forward though. Also - while it is there I’d also say more aware and comprehensive auto-complete.

For the API - well, many things. It will take a while to get to the same mass of features as exposed in the Unreal Engine - though with Metaverse considerations in mind.

There are numerous other aspects that I felt acute pain that we didn’t have time to get in for Beta. I won’t be able to specify them since we may never get to some of them and if we do many do not yet have a specific ETA. We have no shortage of ideas of awesomeness.

5 Likes