Class AddressableAssetGroup
Contains the collection of asset entries associated with this group.
Namespace: UnityEditor.AddressableAssets.Settings
Syntax
[Serializable]
public class AddressableAssetGroup : ScriptableObject, IComparer<AddressableAssetEntry>, ISerializationCallbackReceiver
Properties
Default
Is the default group.
Declaration
public virtual bool Default { get; }
Property Value
Type | Description |
---|---|
Boolean |
entries
The collection of asset entries.
Declaration
public virtual ICollection<AddressableAssetEntry> entries { get; }
Property Value
Type | Description |
---|---|
ICollection<AddressableAssetEntry> |
Guid
The group GUID.
Declaration
public virtual string Guid { get; }
Property Value
Type | Description |
---|---|
String |
Name
The group name.
Declaration
public virtual string Name { get; set; }
Property Value
Type | Description |
---|---|
String |
ReadOnly
Is this group read only. This is normally false. Built in resources (resource folders and the scene list) are put into a special read only group.
Declaration
public virtual bool ReadOnly { get; }
Property Value
Type | Description |
---|---|
Boolean |
Schemas
List of schemas for this group.
Declaration
public List<AddressableAssetGroupSchema> Schemas { get; }
Property Value
Type | Description |
---|---|
List<AddressableAssetGroupSchema> |
SchemaTypes
Get the types of added schema for this group.
Declaration
public List<Type> SchemaTypes { get; }
Property Value
Type | Description |
---|---|
List<Type> |
Settings
The AddressableAssetSettings that this group belongs to.
Declaration
public AddressableAssetSettings Settings { get; }
Property Value
Type | Description |
---|---|
AddressableAssetSettings |
Methods
AddSchema(Type, Boolean)
Creates and adds a schema of a given type to this group. The schema asset will be created in the GroupSchemas directory relative to the settings asset.
Declaration
public AddressableAssetGroupSchema AddSchema(Type type, bool postEvent = true)
Parameters
Type | Name | Description |
---|---|---|
Type | type | The schema type. This type must not already be added. |
Boolean | postEvent | Determines if this method call will post an event to the internal addressables event system |
Returns
Type | Description |
---|---|
AddressableAssetGroupSchema | The created schema object. |
AddSchema(AddressableAssetGroupSchema, Boolean)
Adds a copy of the provided schema object.
Declaration
public AddressableAssetGroupSchema AddSchema(AddressableAssetGroupSchema schema, bool postEvent = true)
Parameters
Type | Name | Description |
---|---|---|
AddressableAssetGroupSchema | schema | The schema to add. A copy will be made and saved in a folder relative to the main Addressables settings asset. |
Boolean | postEvent | Determines if this method call will post an event to the internal addressables event system |
Returns
Type | Description |
---|---|
AddressableAssetGroupSchema | The created schema object. |
AddSchema<TSchema>(Boolean)
Creates and adds a schema of a given type to this group.
Declaration
public TSchema AddSchema<TSchema>(bool postEvent = true)
where TSchema : AddressableAssetGroupSchema
Parameters
Type | Name | Description |
---|---|---|
Boolean | postEvent | Determines if this method call will post an event to the internal addressables event system |
Returns
Type | Description |
---|---|
TSchema | The created schema object. |
Type Parameters
Name | Description |
---|---|
TSchema | The schema type. This type must not already be added. |
CanBeSetAsDefault()
Check if a group has the appropriate schemas and attributes that the Default Group requires.
Declaration
public bool CanBeSetAsDefault()
Returns
Type | Description |
---|---|
Boolean |
ClearSchemas(Boolean, Boolean)
Removes all schemas and optionally deletes the assets associated with them.
Declaration
public void ClearSchemas(bool deleteAssets, bool postEvent = true)
Parameters
Type | Name | Description |
---|---|---|
Boolean | deleteAssets | If true, the schema assets will also be deleted. |
Boolean | postEvent | Determines if this method call will post an event to the internal addressables event system |
Compare(AddressableAssetEntry, AddressableAssetEntry)
Declaration
public virtual int Compare(AddressableAssetEntry x, AddressableAssetEntry y)
Parameters
Type | Name | Description |
---|---|---|
AddressableAssetEntry | x | |
AddressableAssetEntry | y |
Returns
Type | Description |
---|---|
Int32 |
FindSchema(Type)
Gets the index of a schema based on its specified type.
Declaration
public int FindSchema(Type type)
Parameters
Type | Name | Description |
---|---|---|
Type | type | The schema type. |
Returns
Type | Description |
---|---|
Int32 | Valid index if found, otherwise returns -1. |
GatherAllAssets(List<AddressableAssetEntry>, Boolean, Boolean, Boolean, Func<AddressableAssetEntry, Boolean>)
Gathers all asset entries. Each explicit entry may contain multiple sub entries. For example, addressable folders create entries for each asset contained within.
Declaration
public virtual void GatherAllAssets(List<AddressableAssetEntry> results, bool includeSelf, bool recurseAll, bool includeSubObjects, Func<AddressableAssetEntry, bool> entryFilter = null)
Parameters
Type | Name | Description |
---|---|---|
List<AddressableAssetEntry> | results | The generated list of entries. For simple entries, this will contain just the entry itself if specified. |
Boolean | includeSelf | Determines if the entry should be contained in the result list or just sub entries. |
Boolean | recurseAll | Determines if full recursion should be done when gathering entries. |
Boolean | includeSubObjects | Determines if sub objects such as sprites should be included. |
Func<AddressableAssetEntry, Boolean> | entryFilter | Optional predicate to run against each entry, only returning those that pass. A null filter will return all entries |
GetAssetEntry(String)
Get an entry via the asset guid.
Declaration
public virtual AddressableAssetEntry GetAssetEntry(string guid)
Parameters
Type | Name | Description |
---|---|---|
String | guid | The asset guid. |
Returns
Type | Description |
---|---|
AddressableAssetEntry |
GetSchema(Type)
Gets an added schema of the specified type.
Declaration
public AddressableAssetGroupSchema GetSchema(Type type)
Parameters
Type | Name | Description |
---|---|---|
Type | type | The schema type. |
Returns
Type | Description |
---|---|
AddressableAssetGroupSchema | The schema if found, otherwise null. |
GetSchema<TSchema>()
Gets an added schema of the specified type.
Declaration
public TSchema GetSchema<TSchema>()
where TSchema : AddressableAssetGroupSchema
Returns
Type | Description |
---|---|
TSchema | The schema if found, otherwise null. |
Type Parameters
Name | Description |
---|---|
TSchema | The schema type. |
HasSchema(Type)
Checks if the group contains a schema of a given type.
Declaration
public bool HasSchema(Type type)
Parameters
Type | Name | Description |
---|---|---|
Type | type | The schema type. |
Returns
Type | Description |
---|---|
Boolean | True if the schema type or subclass has been added to this group. |
HasSchema<TSchema>()
Checks if the group contains a schema of a given type.
Declaration
public bool HasSchema<TSchema>()
Returns
Type | Description |
---|---|
Boolean | True if the schema type or subclass has been added to this group. |
Type Parameters
Name | Description |
---|---|
TSchema | The schema type. |
IsDefaultGroup()
Check to see if a group is the Default Group.
Declaration
public bool IsDefaultGroup()
Returns
Type | Description |
---|---|
Boolean |
OnAfterDeserialize()
Converts data from serializable format.
Declaration
public void OnAfterDeserialize()
OnBeforeSerialize()
Converts data to serializable format.
Declaration
public void OnBeforeSerialize()
RemoveAssetEntry(AddressableAssetEntry, Boolean)
Remove an entry.
Declaration
public void RemoveAssetEntry(AddressableAssetEntry entry, bool postEvent = true)
Parameters
Type | Name | Description |
---|---|---|
AddressableAssetEntry | entry | The entry to remove. |
Boolean | postEvent | If true, post the event to callbacks. |
RemoveSchema(Type, Boolean)
Remove a given schema from this group.
Declaration
public bool RemoveSchema(Type type, bool postEvent = true)
Parameters
Type | Name | Description |
---|---|---|
Type | type | The schema type. |
Boolean | postEvent | Determines if this method call will post an event to the internal addressables event system |
Returns
Type | Description |
---|---|
Boolean | True if the schema was found and removed, false otherwise. |
RemoveSchema<TSchema>(Boolean)
Remove a given schema from this group.
Declaration
public bool RemoveSchema<TSchema>(bool postEvent = true)
Parameters
Type | Name | Description |
---|---|---|
Boolean | postEvent | Determines if this method call will post an event to the internal addressables event system |
Returns
Type | Description |
---|---|
Boolean | True if the schema was found and removed, false otherwise. |
Type Parameters
Name | Description |
---|---|
TSchema | The schema type. |
SetDirty(AddressableAssetSettings.ModificationEvent, Object, Boolean, Boolean)
Marks the object as modified.
Declaration
public void SetDirty(AddressableAssetSettings.ModificationEvent modificationEvent, object eventData, bool postEvent, bool groupModified = false)
Parameters
Type | Name | Description |
---|---|---|
AddressableAssetSettings.ModificationEvent | modificationEvent | The event type that is changed. |
Object | eventData | The object data that corresponds to the event. |
Boolean | postEvent | If true, the event is propagated to callbacks. |
Boolean | groupModified | If true, the group asset will be marked as dirty. |