Die Frage die sich mir stellt ist nur: Warum sollte er das Objekt verschieben wollen?
Du hast doch was erzählt von Move:
zum Anderen kann man so ein Objekt problemlos mit Move-Semantik verschieben.
Und das behebt sein Problem eben nicht. Was er wohl eigentlich will, ist eine Referenz auf eine Textur in irgendwelche Methoden zu geben oder eben in Methoden Texturen erzeugen. Wenn er dann aber auch noch Sprites erstellt, die diese Textur referenzieren, muss das Objekt auch immer an derselben Stelle bleiben, was mit Move wie gesagt nicht geht. Auch nicht per Copy, denn genau das ist ja sein Problem. Das kann man eigentlich nur umgehen, indem das Objekt immer an derselben Stelle im Speicher bleibt. Ergo sind Smart-Pointer hier die richtige Lösung des Problems.
Wenn die Textur nur an eine Methode übergeben werden soll, die dann ein Sprite erstellt, reicht es eventuell auch die Textur als Referenz zu übergeben statt by value. Das hängt aber eben davon ab, was er tut. Eine Move-Operation jedenfalls wird es nie beheben, wie man es auch dreht und wendet.