My example also handles recursing into UObjectPropertyBase properties in a really dangerous way (due to the fact I based the code on the FText property scraping code, which has a lot more sanity checks when dealing with object properties that what I included here). You likely don’t want to do this, as it can lead to all sorts of nasty behaviour (even our own struct → JSON converter doesn’t handle object properties). I’d suggest either ignoring object properties, or just writing out their path so you can try and find them again later (eg, if you’re referencing an asset).