Quote Originally Posted by Chebmaster
Goal: to create the system of automatic saving/loading the entire game world to/from a stream.
Make sure all relevant props are published then :-) There is nothing else but workarounds. Deep RTTI is horrible expensive.

Why TPersistent + published properties won't do:
1. Must work for dynamic arrays (single- and multi-dimensional) and records. AFAIK, FPC doesn't allow to publish these types.
For types you can't publish: wrap them in a publihed property that you only use for streaming (and mark them as such e.g. with a prefix)

arrays: define an array property with getters and setters.
records : define a class and stream the record in the class.