How to save ComputeBuffer?

I have a computebuffer that holds non-blittable types that I would like to save in some way. Ideally I would want them to serialize and never release.

struct Grid{
	float3 vert[15];
	float4 col[15];
	int index;
};
RWStructuredBuffer<Grid> pp; 

//in the object script i try this

[SerializeField]public ComputeBuffer gridBuffer;

The buffer is in a 3D grid type format with a fixed length equaling widthheightlength. So I could make 31 seperate buffers representing the data in the struct that way it can be passed back as a blittable type but this solution seems less then ideal.

@Benjames I don’t think it’s possible to save buffers directly using unity serialize system, but what you can do is to get the data from the buffer by using gridBuffer.GetData() function then save it externally using any method you like (for example json), once you need it you can load it and use gridBuffer.SetData() function to set it back to the buffer.