Hi,
Answers to your questions below:
1. It’s being actively used in Fortnite and elsewhere so the plan is to continue supporting/developing it, though you may still run into the occasional issue. We don’t have an exact roadmap or timeline on when the plugin will leave beta, but if you encounter problems (or have specific feature requests), feel free to post a ticket and we’ll investigate.
2. You can’t bind to array members, nor will a bound array automatically broadcast when members are added/removed, but you can bind an array and manually broadcast. We support this with things like ListView, and even recently added support for basic panel types like horizontal/vertical panels. The idea is that you make one ViewModel (i.e. MyListViewVM) that holds the array of members (i.e. MyListIemVM), where each member represents one item in the list. You then add the Item VM to the Item widget and bind fields, and add the ListView VM to the widget containing the ListView, binding it to SetListItems. You won’t get automatic notifications when items are added/removed from the array, but you can manually broadcast a field value change when that happens and things will update properly. Let me know if that’s unclear and I can put together an example.
3. We haven’t heard any performance concerns yet, though we’d be interested to hear if you encounter any. I know of some projects where there are dozens/hundreds of viewmodels at once, scenarios such as using a view model for each enemy to hold it’s current stats or using a TileView to display a huge inventory where each item is backed by a viewmodel. Typically the actual work being done when a FieldNotify property changes is fairly negligible compared to the resulting UI invalidation (if using invalidation), though an Insights trace will give a better idea of the impact in your specific scenario.
Best,
Cody