I made an extension of the property system of Unreal Engine 4 for map containers. The initial intent is to make the property system able to recognize class members of TMap. I’ve heard a lot of people asking questions on forum because they didn’t know that TMap’s were not supported by the reflection system. It’s not any more. With this extension, now you can declare TMap’s as properties in your classes and structs, and don’t need to worry about losing objects in map containers due to garbage collection.
UE4 has a hug code base. As you could imagine, I have to modify a lot of source files to achieve that. Chances are it is still buggy. But if you are not afraid of those little annoying bugs, please download the extension and give it a go. If you have any questions or suggestions, post them in this thread. I’ll reply as soon as I am free.
Git repository link is here.
For more information, here is the web site.
Have you looked at the 4.8 code base. Apparently they have already started doing this. They mentioned it in the latest 4.8 twitch stream, apparently its visible and kind of editable, but by the time 4.8 goes live it will be editable.
Well, I spent almost all my free time on this project over one month. Didn’t see that coming. It’s interesting that they are going to release that around the same time. Wait, that’s embarrassing.
Take a look first, it was just something I heard Mike Fricker mention in the twitch stream, it appears its still not in a state ready for use, so if yours is (or closer to it), I would suggest submitting a pull request for the missing pieces to hopefully be included in 4.8
I need to take a look at what they have done and how, to figure out something like if there are some features in my extension they haven’t implemented. Anyway, thanks for the information.
From what they’ve submitted, they haven’t extended it to other systems such as Detail Panel, Property Matrix, ini files. And they don’t support maps of arrays/maps, that’s not their style. But they can change their mind. Who knows?
Yeah I knew it was in a pretty early state from what was said on the Twitch stream, but if you already have all that working, then thats awesome, people can use your TMap integration in the meantime if they require. And you can work with Epic to get it integrated so everyone can benefit.
I’d like to help, but I prefer to avoid spending time on what they are planing to implement this time. So I probably should wait for 4.8 and see if they just want to support basic features such as serialization and garbage collection, or extensively support it like arrays. Besides, it seems that they haven’t completed the extension to core systems. If I want to extend it based on their implementation, I had better wait until it is more stable.