Serialization Tool


Overview:

During my tools course in school, I developed a versatile tool capable of serializing data for multiple objects falling from the sky and saving them in various formats such as JSON, Binary, and XML. The tool also includes the functionality to load and display the serialized data on screen. With a user-friendly interface, you have full control over the saving process, allowing you to efficiently manage and manipulate the data as needed. This tool effectively addresses the challenge of data serialization and provides a convenient solution for handling object data in different formats.

  • Solo project
  • Data serialization
  • JSON
  • XML
  • Binary
  • UI
  • MVC

Completion: March 2023

Duration: 1 day

Platform: Unity, Editor scriting


Contribution:

Problem

During the tools course in school, there was a need for a versatile tool to handle data serialization for multiple falling objects. The challenge was to develop a tool that could save the serialized data in various formats, such as JSON, Binary, and XML, while also providing functionality to load the data and apply it to objects on the screen. Additionally, the tool needed to have a user-friendly interface for controlling the saving, and loading of serialized data, all within a UI-driven environment.

Solution

To address this challenge, I developed a generic serilizer class wich allows you to easily serialize the data in the desire format. I also used an interface called ISerializable to ensure the serializable objects all have the necessary methods in order to be handled by the Serializer. To control the data throught the UI that I designed using the Unity's UI system, I used a MVC inspred approach.

how does it work?

To address the challenge of data serialization for multiple falling objects in the tools course, a versatile solution was developed. This involved adopting an MVC (Model-View-Controller) approach for the user interface (UI) design, along with the creation of a generic Serializer class capable of easily serializing data in various formats such as JSON, Binary, and XML. Additionally, an ISerializable interface was implemented to ensure that serialized objects possess the necessary methods required by the Serializer. The Model encapsulates the data and serialization logic, the View presents the UI elements, and the Controller handles the interaction between the Model and View. This combination allows for an efficient and modular implementation of the serialization process, providing full control over saving, loading, and applying serialized data through the UI. By utilizing the Serializer class, adhering to the ISerializable interface, and leveraging the MVC approach for the UI, developers gain a comprehensive toolset for handling object data, simplifying the serialization process, and enhancing efficiency and usability in the tools course.


closing thougths:

The versatile tool developed during the tools course in school effectively addresses the challenge of data serialization for multiple falling objects. With the capability to save data in formats like JSON, Binary, and XML, and the ability to load and display serialized data on screen, this tool provides a convenient solution for handling object data in various formats. The user-friendly interface offers full control over the saving process, allowing for efficient management and manipulation of the data as needed. By adopting an MVC approach for the user interface design and implementing a generic Serializer class, this tool ensures a modular and efficient implementation of the serialization process. Leveraging the Model-View-Controller architecture, developers can seamlessly handle object data, simplifying the serialization process and enhancing efficiency and usability.