Спрайт не изменится, но если вы попытаетесь зарегистрировать измененный спрайт имя, вы увидите, что оно успешно изменилось. Это означает, что не меняется только визуальная часть.
Тестирование на Unity 6000.0.3f1 и на Android S24 Ultra
Мой скрипт TestSpriteRendererChange.cs
Код: Выделить всё
using System.Collections;
using UnityEngine;
public class TestSpriteRendererChange : MonoBehaviour
{
[SerializeField] private SpriteRenderer spriteRenderer;
[SerializeField] private Sprite[] sprites;
private void Start()
{
StartCoroutine(ChangeSprites());
}
private IEnumerator ChangeSprites()
{
var index = 0;
foreach (var sprite in sprites)
{
Debug.Log($"before sprite: {spriteRenderer.sprite.name}");
spriteRenderer.sprite = sprite;
Debug.Log($"after sprite: {spriteRenderer.sprite.name}");
yield return new WaitForSeconds(0.1f);
index++;
}
if (index == sprites.Length)
{
index = 0;
StopCoroutine(nameof(ChangeSprites));
StartCoroutine(nameof(ChangeSprites));
}
}
}
[img]https:// i.sstatic.net/8MHPq0AT.gif[/img]
Поведение на устройстве Android

Эта проблема связана только с URP 2D, она работает только отлично подходит для 2D-проектов со встроенным RP.
Подробнее здесь: https://stackoverflow.com/questions/785 ... roid-build
Мобильная версия