# ResourceAssetEntry

> Represents a localized asset stored as a path into a Resources folder.

## Definition

* **Type:** Class
* **Namespace:** [Unity.Localization](/engine/6000.7/script-reference/unity/localization.md)
* **Assembly:** UnityEngine.LocalizationRuntimeModule
* **Inherits from:** [AssetEntryBase\<string>](/engine/6000.7/script-reference/unity/localization/assetentrybase1.md)
* **Implements:** [IAssetEntry](/engine/6000.7/script-reference/unity/localization/iassetentry.md), [ISynchronousAssetEntry](/engine/6000.7/script-reference/unity/localization/isynchronousassetentry.md), [IFileDataEntry](/engine/6000.7/script-reference/unity/localization/ifiledataentry.md), [IResourceEntry](/engine/6000.7/script-reference/unity/localization/iresourceentry.md)

```csharp
public class ResourceAssetEntry : AssetEntryBase<string>, IAssetEntry, ISynchronousAssetEntry, IFileDataEntry, IResourceEntry
```

## Remarks

The entry keeps only the `Resources` path in [AssetEntryBase\<TStore>.Default](/engine/6000.7/script-reference/unity/localization/assetentrybase1/default.md), and the asset ships through its Resources folder rather than as a direct reference, so nothing extra is packed with the table. The asset is resolved on demand with `Resources.Load` and unloaded by ReleaseAsset. Use [AssetEntry](/engine/6000.7/script-reference/unity/localization/assetentry.md) instead when you want a direct reference packed with the table.

Additional Resources: [AssetEntry](/engine/6000.7/script-reference/unity/localization/assetentry.md), [AssetEntryBase\<TStore>](/engine/6000.7/script-reference/unity/localization/assetentrybase1.md), [IAssetEntry](/engine/6000.7/script-reference/unity/localization/iassetentry.md), [ResourceTable](/engine/6000.7/script-reference/unity/localization/resourcetable.md)

Add a Resources-backed asset entry and confirm it has a path.

## Examples

```csharp
using Unity.Localization;
using UnityEngine;

namespace Unity.Localization.Samples
{
    public class ResourceAssetEntryOverviewExample
    {
        public void Run()
        {
            var shared = ScriptableObject.CreateInstance<SharedTableData>();
            shared.TableCollectionName = "UI Assets";

            var table = ScriptableObject.CreateInstance<ResourceTable>();
            table.SharedData = shared;
            table.LocaleIdentifier = new LocaleIdentifier("en");

            var entry = new ResourceAssetEntry(shared.AddKey("music").Id);
            entry.Default = "Audio/theme";  // a path under a Resources folder
            table.AddEntry(entry);

            Debug.Log(entry.HasAsset());  // True: a path is set
        }
    }
}
```

## Constructors

| Constructor                                                                                                                                  | Description                    |
| -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| [ResourceAssetEntry()](/engine/6000.7/script-reference/unity/localization/resourceassetentry/ctor.md#resourceassetentry\(\))                 | Creates an empty entry.        |
| [ResourceAssetEntry(System.Int64)](/engine/6000.7/script-reference/unity/localization/resourceassetentry/ctor.md#resourceassetentry\(long\)) | Creates an entry for a key id. |

## Inheritance

**Inherited Members:**

* [AssetEntryBase\<string>.HasValue(string)](/engine/6000.7/script-reference/unity/localization/assetentrybase1/hasvalue.md)
* [AssetEntryBase\<string>.TryLoadSync(string, Object)](/engine/6000.7/script-reference/unity/localization/assetentrybase1/tryloadsync.md)
* [AssetEntryBase\<string>.Release(string, Object)](/engine/6000.7/script-reference/unity/localization/assetentrybase1/release.md)
* [AssetEntryBase\<string>.Default()](/engine/6000.7/script-reference/unity/localization/assetentrybase1/default.md)
