I’m glad to share with the rest of you a new plugin which adds dynamic value facilities for Blueprints. With this facility, one can create heterogeneous arrays with each element being different basic Blueprint types, including arrays and structs, and dynamic struct containing fields of dynamic values of all basic Blueprint types, including arrays and struct (all nestable)! One can also create a string key map to dynamic values of all possible Blueprint types. In addition, one can parse a JSON object string, and store it directly to a dynamic struct without needing to predefine any Blueprint struct. This is extremely useful for config loading and retrieving. All examples are inside the containing project’s BP_GameMode Blueprint.
Please do not hesitate to share your opinions, issues, and experiences using this plugin. Happy Blueprinting!
This is pretty interesting. I’m trying to think if I’d be able to incorporate it in anything I have planned in the future.
Thanks for the plugin!
Cool! Please let me know if you have any further suggestions.
That looks really nice. I don’t make a lot of use of blueprints, but some kind of variant type like this is something that I really feel is missing. I actually made one myself for a marketplace submission I have, but it’s implemented using a statically typed variant so while it’s lightweight, it’s also more restricted than yours.
You should look into the experimental plugin in the engine called StructBox - it’s a blueprint wrapper to hold any struct, so using that you could extend your system to allow existing struct types as well. Not sure how stable it is though.
By the way I think you have a bug in UActorSet, you don’t appear to update the index after swapping on removal.
Oh boy, yeah, thanks for spotting the bug, kamrann! I’ll fix and update! (StringToDynamicValueMap should have the same bug, will fix as well!)
Update: the bugs are fixed, please go ahead and get the latest. Also added some better examples.
I was really excited to give this a spin, but it seems to be broken at the moment. even with the project files directly from the download. Perhaps I’m missing something obvious, but when launching the project it says it needs to recompile the plugins, but is unable to do so.