# IGH_UpgradeObject interface

Namespace: [Grasshopper.Kernel](https://developer.rhino3d.com/api/gh1/namespace/grasshopper.kernel.md) · Assembly: [Grasshopper](https://developer.rhino3d.com/api/gh1/assembly/grasshopper.md)

```cs
public interface IGH_UpgradeObject
```

Create a class with an empty constructor that implements this interface if you want to provide an upgrade mechanism.

**Derived types:** [GH_CleanComponentUpgrader](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-cleancomponentupgrader.md), [GH_FlattenComponentUpgrader](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-flattencomponentupgrader.md), [GH_SimplifyComponentUpgrader](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-simplifycomponentupgrader.md), [GH_TextTag3DUpgrader](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-texttag3dupgrader.md), [GH_UpgradeExplodeComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-upgradeexplodecomponent.md), [Upgrade_StreamGateComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.upgrade-streamgatecomponent.md)

## Properties

- [UpgradeFrom](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-upgradeobject/upgradefrom.md): Gets the ComponentGuid of the old object (the object to be updated).
- [UpgradeTo](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-upgradeobject/upgradeto.md): Gets the ComponentGuid of the new object (the object that will be inserted).
- [Version](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-upgradeobject/version.md): Return a DateTime object that indicates when this upgrade mechanism was written, so that it becomes possible to distinguish competing upgrade mechanisms.

## Methods

- [Upgrade](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-upgradeobject/upgrade.md): Upgrade an existing object.
