Since last update, custom npcs are not able to reference devices, was this intentional or a bug? If it was intentional, it will make things a lot harder to control everything from an outside manager, for example simulating melee damage without a damage device attached to the npc… etc(please check the thread below)
Its all clear that the most wanted thing for now is debug support, so as a low hanging fruit, maybe you could output the memory dump and stack trace on the console when you have an error that you can reproduce on editor.
Thanks again, good luck on the talk and thanks for that!
This is a current shortcoming of the compiler. A complete assignment of the value at a particular key in a map will always succeed, and the possible failure can be ignored via if {...}.
No, largely due to types in MaxVerse not being distinguishable from partial identity functions. Making types comparable would requiring deciding the equivalence of e.g. int and a lambda that evaluates int on its argument at runtime, which is in general undecidable.
We’ve just been prioritizing other things (see the content packed GDC sessions of what we’ve been up to). But I’ll bring this up with the relevant team!
Honestly we’ve just been prioritizing other things in the meantime (you’ll be able to see our packed GDC sessions of what we’ve been up to). But I’ll be sure to bring this request up with the teams that own this slice of UEFN.
Yes. For that matter, the type system that Verse is currently based off of, MLsub, supports these without issue. However, the concern is that MLsub here may not match MaxVerse.
The scene graph is meant to be a new foundation for UEFN, so its been designed to run in all the contexts we need it to run in. The first two cases being setting up content statically through UEFN and manipulating (create/remove/modify) through the runtime. We haven’t started designing any procedural elements for it yet, such as how it will look when exposed to PCG, but we are thinking about it.
Yes, you will be able to use actors alongside entities. We’re also working on some bridging mechanisms to make working with mixed scenes containing both actors and entities simpler. In the long run we’ll also develop tooling to aid with transitioning actor based content to scene graph based content, which we’ll also use internally as we transition Fortnite to the scene graph.
Testing in Verse is something I’m passionate about. No concrete plans yet on when/what/how but I am in active discussions about how we can make more Verse more testable.
No plans no. We see Verse as the language to power the Open Metaverse, and as such it will grow to allow the Verse code of many developers to interact in a safe manner. So I’m not saying we’ll never allow this, but there is a huge requirement that we make this safe and secure for our Fortnite gamers and beyond.
The agent parameter is used (and sometimes required) in a few common ways behind the scenes, though at times it might not be obvious enough just from the name of the functions or comments.
If the device has per-player state then the agent version is letting you control just the state for that player
If the device has per-team or per-class control then the agent parameter is being used to figure out which team/class the function is working against.
In some cases the device keeps the agent being passed in so that it can pass it along during an event later, such as alerting which player turned on a timer.