Tak dla uściślenia - chodzi jedynie o pliki z zasobami które chcesz ładować programowo w runtime za pośrednictwem UnityEngine.Resorces.Load*. To rozwiązanie pomiędzy ładowaniem z dysku (bo możesz robić to w runtime) a normalnym osadzeniem jako asset (bo przy buildzie Unity dokona za ciebie konwersji do wewnętrznego gotowego do użycia formatu i spakuje do archiwum z resztą assetów).
Dla kontrastu normalne asoby które przypisujesz edytorem do sceny mogą być niemal gdziekolwiek w Assets, a zasoby które chcesz ładować w runtime za pomocą System.IO.* mogą być gdziekolwiek na dysku (gdzie gra będzie miała uprawnienia do odzczytu).
No i był jeszcze jeden błąd, przypisywałeś obiekt Texture2D do pola typu Sprite. Nie ma konwersji między tymi typami, jest za to metoda faktorkowa Sprite.Create która przyjmuje Texture2D jako argument.