Serializing Private Data Caught in a Catch 22

So, I have a very large generic list that contains other generic Lists of Classes (this is the bulk of the data) and other data such as integers. This data can be generated in both the editor and at runtime.

The problem I face is that it slows down the Unity Inspector due to it’s size. I am guessing that Unity Inspector is constantly serializing the data to display it. I only want to show part of the data in the inspector and don’t need the large amount of data to show in the inspector.

Using [HideInInspector] does not speed up the inspector because the data still gets serialized.

I created a custom editor to prevent serialization in the inspector, but it still seems to be serializing in the background.

Making the generic Lists of Classes (the bulk of the data) private means that I then have problems accessing that data. I’ve tried all sorts such as creating methods to access the private data, but it never seems to get serialized.

How can I prevent my large data set from slowing down Unity Inspector but remain accessible?

I’m obviously not understanding some part of the serialization process, so any advice would be very welcome.

Fixed! I discovered scriptable objects.