# Migration from Helium 3.X to Chartboost Mediation 4.0.0

As part of the Marketing team’s efforts to clearly articulate the use cases and customers we support by being more descriptive with our product branding, **Helium** is being rebranded as **Chartboost Mediation**.

Starting in 4.0.0, the **Chartboost Mediation** brand will be used in place of **Helium** for new additions. In the coming 4.X releases, the old **Helium** branding will be deprecated and the new **Chartboost Mediation** branding will be used to give publishers a smoother transition.

This document exists to specifically address all possible issues that developers might encounter when migrating from **Helium 3.X** integrations to **Chartboost Mediation 4.0.0**



## Unity SDK Repository

The Unity SDK repository will be renamed to reflect the new branding.

| Helium 3.X                                       | Chartboost Mediation 4.0.0                                     |
| :----------------------------------------------- | :------------------------------------------------------------- |
| <https://github.com/ChartBoost/helium-unity-sdk> | <https://github.com/ChartBoost/chartboost-mediation-unity-sdk> |



## npm Package & UPM

As part of Chartboost’s rebranding efforts, Chartboost Mediation 4.0.0 will be using a new npmjs package for the distribution of the Chartboost Mediation Unity SDK.

| Helium 3.X            | Chartboost Mediation 4.0.0 |
| :-------------------- | :------------------------- |
| com.chartboost.helium | com.chartboost.mediation   |

To update your existing package reference, rename the existing package on your manifest.json file.

<ul class="tab" data-tab="6cafdf5b-2ea3-4169-90e1-79de4dcf7496" data-name="npmPackageUPM">
  
      <li class="active">
          <a href="#">Helium 3.X </a>
      </li>
  
      <li>
          <a href="#">Chartboost Mediation 4.0.0 </a>
      </li>
  
</ul>
<ul class="tab-content" id="6cafdf5b-2ea3-4169-90e1-79de4dcf7496" data-name="npmPackageUPM">
  
      <li class="active">
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"dependencies": {  
    "com.chartboost.helium": "3.3.2"  
 …  
}
</code></pre></div></div>
</li>
  
      <li>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>"dependencies": {  
    "com.chartboost.mediation": "4.0.0"  
 …  
}
</code></pre></div></div>
</li>
  
</ul>




**Example**	
```csharp
  "dependencies": {
    "com.chartboost.mediation": "4.0.0",
    ...
  },
  "scopedRegistries": [
    {
      "name": "NpmJS",
      "url": "https://registry.npmjs.org",
      "scopes": [
        "com.chartboost"
      ]
    }
  ]
```



## Public API Changes

### Helium Name

The `HeliumSDK` name has been deprecated and replaced by `ChartboostMediation`. 

Unity will produce any warnings whenever deprecated APIs are in use, and provide detailed descriptions of how to remedy such warnings for each scenario.

Here is an example scenario of how to address such issues:

```
    // This will produce a warning as it has been deprecated
    HeliumSDK.SetUserIdentifier("DEFAULT");

    // New 4.0.0 API
    ChartboostMediation.SetUserIdentifier("DEFAULT");
```

In most scenarios, a find and replace from `HeliumSDK` to `ChartboostMediation` should be enough to fix the warnings. However, namespaces have also been modified, look at the section below for more details.

### Namespace

The `Helium` namespace has been deleted and removed from most places in the **Chartboost Mediation Unity SDK**. It is still available for most deprecated classes, but it is highly recommended to transition to the new `Chartboost` namespace. All rebranded and refactored APIs are available under the `Chartboost` namespace. All rebranded and refactored APIs are available under the Chartboost namespace.

The prior code would look something like this:

```
    using Helium;

    // This will produce a warning as it has been deprecated
    HeliumSDK.SetUserIdentifier("DEFAULT");
```

The new APIs will utilize the `Chartboost` namespace as follows:

```
    using Chartboost;

    // New 4.0.0 API
    ChartboostMediation.SetUserIdentifier("DEFAULT");
```

### Editor Classes

All **Chartboost Mediation Unity SDK** classes have been rebranded. Obsolete APIs are still available but it is highly recommended to transition to the new existing APIs.

### HeliumIntegrationChecker

The `HeliumIntegrationChecker` has been replaced with the `ChartboostMediationIntegrationChecker`, but all functionality remains the same. The `HeliumIntegrationChecker` API is still available.

| Helium 3.X                                                                         | Chartboost Mediation 4.0.0                                                      |
| :--------------------------------------------------------------------------------- | :------------------------------------------------------------------------------ |
| Helium.Editor.HeliumIntegrationChecker                                             | Chartboost.Editor.ChartboostMediationIntegrationChecker                         |
| ReimportExistingHeliumSamples(ICollection<string> existingSamples, string version) | ReimportExistingSamplesSet(ICollection<string> existingSamples, string version) |
| ReimportExistingAdapters()                                                         | ReimportAllExistingAdapters()                                                   |

### Runtime Classes

Most of the **Chartboost Mediation Unity SDK** Runtime classes have been rebranded or modified to adapt Chartboost's latest rebranding efforts. As such, most references to **Helium** have been removed or replaced.

#### HeliumError

The `HeliumError` class has been entirely removed and replaced with a simple descriptive `string`. See [Error Codes](/en/mediation/integrate/unity/error-codes/) for more information.

#### HeliumBidInfo

The `HeliumBidInfo` struct has been rebranded as `BidInfo`.

| Helium 3.X              | Chartboost Mediation 4.0.0 |
| :---------------------- | :------------------------- |
| Helium.HeliumBidInfo.cs | Chartboost.BidInfo.cs      |

#### Delegates

Delegates have been modified to adopt the latest rebranding efforts as well as API changes. The `HeliumError` references have been replaced with descriptive strings. Additionally, the `HeliumBidEvent` has merged with a new LoadEvent. 

The table below identifies the changes from 3.X to 4.X.

| Helium 3.X                                                              | Chartboost Mediation 4.0.0                                                                            |
| :---------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------- |
| Helium.Delegates                                                        | Chartboost.Delegates                                                                                  |
| HeliumEvent(HeliumError error)                                          | ChartboostMediationEvent(string error)                                                                |
| HeliumILRDEvent(string placement, Hashtable impressionData)             | ChartboostMediationILRDEvent(string placement, Hashtable impressionData)                              |
| HeliumPartnerInitializationEvent(string partnerInitializationEventData) | ChartboostMediationPartnerInitializationEvent(string partnerInitializationEventData)                  |
| HeliumPlacementEvent(string placement, HeliumError error)               | ChartboostMediationPlacementEvent(string placement, string error)                                     |
| \*\* Did not exist                                                      | ChartboostMediationPlacementLoadEvent(string placement, string loadId, BidInfo bidInfo, string error) |
| HeliumRewardEvent(string placement, int reward)                         | \*\* Removed, and replaced with ChartboostMediationPlacementEvent                                     |
| HeliumBidEvent(string placement, HeliumBidInfo bid)                     | \*\* Removed, and merged into ChartboostMediationPlacementLoadEvent                                   |

Although some delegates might have been removed, all functionality remains exactly the same or improved since Helium 3.X.

#### HeliumSDK

The `HeliumSDK` class has been deprecated, and it is highly recommended to transition to the new `ChartboostMediation` class. Although the HeliumSDK class is still available, it will be removed in future releases.

| Helium 3.X                             | Chartboost Mediation 4.0.0                          |
| :------------------------------------- | :-------------------------------------------------- |
| Helium.HeliumSDK                       | Chartboost.ChartboostMediation                      |
| HeliumInterstitialAd GetInterstitialAd | ChartboostMediationInterstitialAd GetInterstitialAd |
| HeliumRewardedAd GetRewardedAd         | ChartboostMediationRewardedAd GetRewardedAd         |
| HeliumBannerAd GetBannerAd             | ChartboostMediationBannerAd GetBannerAd             |

It is important to notice that methods returning ad placements have been slightly modified. More information about this will be provided below.

#### Interstitials

The `HeliumInterstitialAd` class has been deprecated and replaced with `ChartboostMediationInterstitialAd`, to facilitate the migration process you can find and replace all references to `HeliumInterstitialAd` with `ChartboostMediationInterstitialAd`.

| Helium 3.X                  | Chartboost Mediation 4.0.0                                           |
| :-------------------------- | :------------------------------------------------------------------- |
| Helium.HeliumInterstitialAd | Chartboost.FullScreen.Interstitial.ChartboostMediationInterstitialAd |
| bool ClearLoaded            | void ClearLoaded                                                     |

#### Rewarded videos

The `HeliumRewardedAd` class has been deprecated and replaced with `ChartboostMediationRewardedAd`.

| Helium 3.X              | Chartboost Mediation 4.0.0                                   |
| :---------------------- | :----------------------------------------------------------- |
| Helium.HeliumRewardedAd | Chartboost.FullScreen.Rewarded.ChartboostMediationRewardedAd |
| bool ClearLoaded        | void ClearLoaded                                             |

#### Banners

The `HeliumBannerAd` class has been deprecated and replaced with `ChartboostMediationBannerAd`.

| Helium 3.X                   | Chartboost Mediation 4.0.0                    |
| :--------------------------- | :-------------------------------------------- |
| Helium.HeliumBannerAd        | Chartboost.Banner.ChartboostMediationBannerAd |
| bool ClearLoaded             | void ClearLoaded                              |
| HeliumBannerAdSize           | ChartboostMediationBannerAdSize               |
| HeliumBannerAdScreenLocation | ChartboostMediationBannerAdScreenLocation     |

#### HeliumSettings

The `HeliumSettings` class has been deprecated and replaced with the `ChartboostMediationSettings` class. To update, remove your old settings and create a new one. This will ensure the new `ChartboostMediationSettings` Scriptable Object is properly located.

| Helium 3.X            | Chartboost Mediation 4.0.0             |
| :-------------------- | :------------------------------------- |
| Helium.HeliumSettings | Chartboost.ChartboostMediationSettings |
| HeliumPartners        | ChartboostMediationPartners            |

### Partner Adapters

The process of updating partner adapters remains the same. Use the Unity Editor menu under `Chartboost Mediation/Integration/Status Check` to sure your integration meets our baseline requirements for proper functionality. It will ask you to update the adapters as well.  To forcefully update all adapters use the`Chartboost Mediation/Integration/Force Reimport Adapters`. 

Some adapters have been renamed due to Chartboost rebranding efforts.

| Helium 3.X                | Chartboost Mediation 4.0.0 |
| :------------------------ | :------------------------- |
| Helium                    | Chartboost Mediation       |
| Chartboost                | Chartboost Monetization    |
| Facebook Audience Network | Meta Audience Network      |
| Fyber                     | Digital Turbine Exchange   |

Refer to [Integrate Network SDKs](/en/mediation/integrate/unity/integrate-network-sdks/) for additional Partner Adapters information.

