Hello!
We need to implement File IO as soon as possible, but very little seems to be available in Rocket (or maybe I just need pointing in the right direction - I’m working somewhat from memory and some things may have changed?). One of our objectives is to be able serialise and deserialise entire UObjects from both binary and text formats.
We can use the ExportText / ImportText to create T3D representations of our UObjects which is great. If possible it would be nice to have a more common data structure and I know there are ways to translate T3D text to and from Json already built into UE4 (FJsonObjectConverter) - it would be nice to also see XML support given that there are XML utilities hidden somewhere away from Rocket users too.
Our main issue is how to read and write this text to and from disk. UE4 should already have this functionality (FileHelper?), but it does not seem to be exposed to Rocket either. FileManager does seem to be able to serialise text, but it will only serialise in Unicode and includes a lot of additional serialisation data, rendering it unusable in a practical environment.
A bigger issue is that of binary data - there’s little useful currently available to Rocket users. We can export binary data via UExporter, but there seems little in the way of reading it back in? Should we expect to be using the FileManager and create FileReaders / FileWriters and create and use archives? Is there any kind of example we could be looking at to achieve this end?
Summary:
-
Expose JsonUtilities and XML handling to Rocket users. Being able to input and output to a standard human-readable data structure is pretty handy. UDK users had access to similar functionality included in this example development kit gem, which was used by many people:
UDK | DevelopmentKitGemsSaveGameStates -
Expose FileHelper or an equivalent to Rocket users to allow writing out plain text files more easily.
-
Clarify the process for serialising and deserialising Uobjects as binary data, and if anything required for this process isn’t available to Rocket users, expose it.
Thanks!
Luke
Side note - your tagging system is broken and claiming tags from the suggested drop down don’t exist.