Method ReleaseTable
ReleaseTable(TableReference, Locale)
Releases all references to the table that matches the tableReference and locale.
This will also release any references to the SharedTableData providing there are no other references to it, such as different Locale versions of the table that have been loaded.
A table is released by calling UnityEngine.AddressableAssets.Addressables.Release(UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle) on it which decrements the ref-count.
When a given Asset's ref-count is zero, that Asset is ready to be unloaded.
For more information, read the Addressables section on when memory is cleared.
Declaration
public void ReleaseTable(TableReference tableReference, Locale locale = null)
Parameters
| Type | Name | Description |
|---|---|---|
| TableReference | tableReference | A reference to the table. A table reference can be either the name of the table or the table collection name Guid. |
| Locale | locale | The Locale version of the table that should be unloaded. When null the SelectedLocale will be used. |
Examples
This shows how to release a table but prevent it from being unloaded.
public class ReleaseSample : MonoBehaviour
{
AsyncOperationHandle<StringTable> m_Table;
IEnumerator Start()
{
TableReference tableReference = "My Game Text";
m_Table = LocalizationSettings.StringDatabase.GetTableAsync(tableReference);
yield return m_Table;
// To prevent a table from being released we can acquire a reference to it.
// Now we will always keep this table, even if the Selected Locale is changed.
Addressables.ResourceManager.Acquire(m_Table);
// We can tell the Localization system to release references to the table.
LocalizationSettings.StringDatabase.ReleaseTable(tableReference);
}
private void OnDisable()
{
// To release the table we call Release.
Addressables.Release(m_Table);
}
}