# IStorable interface

Namespace: [GrasshopperIO](https://developer.rhino3d.com/api/gh2/namespace/grasshopperio.md) · Assembly: [GrasshopperIO](https://developer.rhino3d.com/api/gh2/assembly/grasshopperio.md)

```cs
public interface IStorable
```

Implement this interface if you wish to participate in GrasshopperIO serialization.

**Derived types:** [Action](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action.md), [Angle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.numeric.angle.md), [Animation](https://developer.rhino3d.com/api/gh2/type/grasshopper2.animation.animation.md), [AnimationBinding](https://developer.rhino3d.com/api/gh2/type/grasshopper2.animation.animationbinding.md), [AnimationServer](https://developer.rhino3d.com/api/gh2/type/grasshopper2.animation.animationserver.md), [Argument](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.argument.md), [AssetStyling](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.assetstyling.md), [Bump](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.bump.md), [Cage](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.cage.md), [CageDeform](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.cagedeform.md), [CageMorph](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.cagemorph.md), [CanvasSkin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.canvasskin.md), [Colour](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.colour.colour.md), [ComponentParameters](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.componentparameters.md), [Connections](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.connections.md), [ContinuousDistribution](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.random.continuousdistribution.md), [CornerRadii](https://developer.rhino3d.com/api/gh2/type/grasshopper2.eto.drawing.cornerradii.md), [CrystalEdge](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.crystallography.crystaledge.md), [CrystalFace](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.crystallography.crystalface.md), [CurveLocus](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.curvelocus.md), [Deform](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.deform.md), [DiscreteDistribution](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.random.discretedistribution.md), [DisplayRules](https://developer.rhino3d.com/api/gh2/type/grasshopper2.display.displayrules.md), [Document](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.document.md), [DocumentDisplay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.documentdisplay.md), [EdgeDescription](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.edgedescription.md), [Edges](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.graphs.edges.md), [Expression](https://developer.rhino3d.com/api/gh2/type/grasshopper2.expressions.expression.md), [Field](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.fields.field.md), [FillDescription](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.filldescription.md), [FourierFrequency](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.standard.fourierfrequency.md), [Fraction](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.numeric.fraction.md), [Function](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.functions.function.md), [FunctionArguments](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functionarguments.md), [FunctionUi](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functionui.md), [Gradient](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.colour.gradient.md), [GradientGrip](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.colour.gradientgrip.md), [GradientMapping](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.colour.gradientmapping.md), [Graph](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.graphs.graph.md), [GraphConstraints](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.graphconstraints.md), [GridSkin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.gridskin.md), [GripSkin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.gripskin.md), [GripsSkin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.gripsskin.md), [Guise](https://developer.rhino3d.com/api/gh2/type/grasshopper2.display.guise.md), [GuiseCurve](https://developer.rhino3d.com/api/gh2/type/grasshopper2.display.guisecurve.md), [GuiseFacet](https://developer.rhino3d.com/api/gh2/type/grasshopper2.display.guisefacet.md), [GuisePlane](https://developer.rhino3d.com/api/gh2/type/grasshopper2.display.guiseplane.md), [GuisePoint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.display.guisepoint.md), [Guises](https://developer.rhino3d.com/api/gh2/type/grasshopper2.display.guises.md), [Hash](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.hashing.hash.md), [History](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.history.md), [IconPalette](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.iconpalette.md), [IconsSkin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.iconsskin.md), [ICoordinateElement](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.coordinates.icoordinateelement.md), [ICoordinateSystem](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.coordinates.icoordinatesystem.md), [IDocumentObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.idocumentobject.md), [IObjectState](https://developer.rhino3d.com/api/gh2/type/grasshopper2.animation.iobjectstate.md), [IPresets](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.ipresets.md), [IShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.ishape.md), [IStateDependent](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.istatedependent.md), [KeyedValues](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.keyedvalues.md), [Maths.ThinPlate2D](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.thinplate2d.md), [Maths.ThinPlate3D](https://developer.rhino3d.com/api/gh2/type/grasshopper2.maths.thinplate3d.md), [Message](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.message.md), [MessagingSkin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.messagingskin.md), [MetaData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metadata.md), [MetaName](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.meta.metaname.md), [MetaPattern](https://developer.rhino3d.com/api/gh2/type/grasshopper2.bake.metapattern.md), [MixingRecipe](https://developer.rhino3d.com/api/gh2/type/grasshopper2.components.mixingrecipe.md), [Modifiers](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.modifiers.md), [NamedColour](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.colour.namedcolour.md), [NamedPalette](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.colour.namedpalette.md), [NamedView](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.namedview.md), [NamedViews](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.namedviews.md), [Nodes](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.graphs.nodes.md), [Nomen](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.nomen.md), [NPoint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.coordinates.npoint.md), [NTuple](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.ntuple.md), [NumberFormat](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.numeric.numberformat.md), [ObjectList](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.objectlist.md), [Path](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.path.md), [Paths](https://developer.rhino3d.com/api/gh2/type/grasshopper2.data.paths.md), [Pins](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.pins.md), [PixelIcon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.pixelicon.md), [PowerMultiple](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.numeric.powermultiple.md), [RandomEngine](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.random.randomengine.md), [Record](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.record.md), [Region](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.region.md), [Region1](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.numeric.region1.md), [RuleArgument](https://developer.rhino3d.com/api/gh2/type/grasshopper2.display.ruleargument.md), [SessionEntry](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.sessionentry.md), [SessionRecord](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.sessionrecord.md), [Shade](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.shade.md), [Shades](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.shades.md), [Shape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.shape.md), [Skin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skin.md), [SkinDefinition](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.skindefinition.md), [Style](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.style.md), [SurfaceLocus](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.surfacelocus.md), [Triangle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle.md), [UiInteger](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.uiinteger.md), [UiNumber](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.uinumber.md), [UnitSystem](https://developer.rhino3d.com/api/gh2/type/grasshopper2.parameters.standard.unitsystem.md), [UserPattern](https://developer.rhino3d.com/api/gh2/type/grasshopper2.bake.userpattern.md), [VectorIcon](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.icon.vector.vectoricon.md), [VerbNoun](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.verbnoun.md), [WireColours](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.wirecolours.md), [WireData](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.wiredata.md), [WireEdges](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.wireedges.md), [WireEnds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.doc.wireends.md), [WireSkin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.wireskin.md), [WiresSkin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.skinning.wiresskin.md)

## Methods

- [Store](https://developer.rhino3d.com/api/gh2/type/grasshopperio.istorable/store.md): This method is called whenever the instance is required to serialize itself.
