Skip to content

Instantly share code, notes, and snippets.

View Badgerdox's full-sized avatar

Badgerdox Badgerdox

View GitHub Profile
public class SortedCreatedAssets : MonoBehaviour
{
[SerializeField] private List<string> _labels = new List<string>(){};
void Start()
{
SortWaitToCreate(_labels);
}
private async Task SortWaitToCreate(List<string> labels)
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.AddressableAssets;
public class LoadAssetsFromRemote : MonoBehaviour
{
[SerializeField] private string _label;
void Start()
{
Get(_label);
@Badgerdox
Badgerdox / CreatedAssets.cs
Created November 18, 2019 22:35
CreatedAssets #4
public class CreatedAssets : MonoBehaviour
{
[SerializeField] private List<string> _labels = new List<string>();
[SerializeField] private List<GameObject> Assets { get; } = new List<GameObject>();
private void Start()
{
CreateAndWaitUntilCompleted();
}
@Badgerdox
Badgerdox / CreateByLabels.cs
Created November 18, 2019 22:30
Create Easily and Quickly load an Addressable Asset in Unity3D
public static async Task SearchByLabels<T>(List<string> labels, bool removeDupes, List<T> createdObjs)
where T : Object
{
IList<IResourceLocation> locations = new List<IResourceLocation>();
foreach (var label in labels)
{
foreach (var resourceLocation in await Addressables.LoadResourceLocationsAsync(label).Task)
locations.Add(resourceLocation);
}
@Badgerdox
Badgerdox / CreateAddressablesLoader.cs
Created November 18, 2019 21:13
Search through multiple labels and Instantiate for a single label
public static class CreateAddressablesLoader
{
public static async Task SearchByLabels<T>(List<string> labels, bool removeDupes, List<T> createdObjs)
where T : Object
{
IList<IResourceLocation> locations = new List<IResourceLocation>();
foreach (var label in labels)
{
foreach (var resourceLocation in await Addressables.LoadResourceLocationsAsync(label).Task)
@Badgerdox
Badgerdox / CreateAddressable.cs
Last active November 18, 2019 18:11
Create asset by name or label
public static async Task InitAssets<T>(string assetNameOrLabel, List<T> createdAssets)
where T : Object
{
var locations = await Addressables.LoadResourceLocationsAsync(assetNameOrLabel).Task;
foreach (var location in locations)
createdAssets.Add(await Addressables.InstantiateAsync(location).Task as T);
}
@Badgerdox
Badgerdox / CreatedAssets.cs
Last active November 18, 2019 17:00
Create By Name
public class CreatedAssets : MonoBehaviour
{
[SerializeField] private string _label;
[SerializeField] private string _assetName;
private List<GameObject> Assets { get; } = new List<GameObject>();
private void Start()
{
CreateAndWaitUntilCompleted();
@Badgerdox
Badgerdox / CreateAddressablesLoader.cs
Last active November 18, 2019 17:03
Create Asset by Name
public static class CreateAddressablesLoader
{
public static async Task ByName<T>(string assetName, List<T> createdObjs)
where T : Object
{
var locations = await Addressables.LoadResourceLocationsAsync(assetName).Task;
Debug.Log(locations);
createdObjs.Add(await Addressables.InstantiateAsync(locations[0]).Task as T);
}
public static async Task ByName<T>(string label, string name, List<T> createdObjs)
where T : Object
{
var locations = await Addressables.LoadResourceLocationsAsync(name).Task;
foreach (var location in locations)
{
if (!location.PrimaryKey.Contains(name)) break;
createdObjs.Add(await Addressables.InstantiateAsync(name).Task as T);
@Badgerdox
Badgerdox / CreatedAssets.cs
Created November 18, 2019 05:44
CreatedAssets #3
public class CreatedAssets : MonoBehaviour
{
[SerializeField] private string _label;
private List<GameObject> Assets { get; } = new List<GameObject>();
private void Start()
{
CreateAndWaitUntilCompleted();
}