I think I actually understand your point more now.
Currently,as far as I know, you cannot rotate the root component of a blueprint inside of the blueprint editor. I’m fairly sure that this is by design. Here’s why: The root component denotes the primary component of an object (ie instance of a blueprint). The world transform (position, rotation and scale) of an object is entirely dependent upon the world transform of its root component. Think of it like this: the root component represents the actual location and rotation of the object
If you want to rotate the root component, you would just rotate the entire of the object instance that appears in the game world (ie. In the editor window). When you rotate the root component, you are effectively rotating the entire object. if you want your blueprint (the one that has the sprite component) to use the sprite as it’s root, then all of the other components of the blueprint will follow the transform of the sprite, and the sprite’s transform can only be changed by rotating the entire object. Meaning: There is no way for the object to default to the XY plane when you drag it into the editor (to my knowledge). However, you can very easily drag+drop the BP in to the editor, and then simply rotate the object into the XY plane (like I’ve done below):
(Before Rotation PERSP)
(After Rotation PERSP)
(After Rotation TOP VIEW)
This will work just fine for making a game in the XY plane, although you will have to rotate your object manually.
Although I will say, using a sprite as the root is not really the best way to do things. The reason that the scene component exists is to create an object “center” that ties components together. Scene components have no collision, so you can still use a scene component as the root and use the Sprite’s fine-tuned collision.
For example, say that you have a Jack-and-Daxter, Banjo-Kazooie, or Dust-Fidget style character (if you aren’t familiar with any of these characters see this [Dust:AET video][4] ). In these instances you may have a single character object that actually consists of two separate sprites. If you make your main sprite the root component, you may run into issues. If you want to scale your main-sprite, move it, or perform almost any operation on it, you will affect all of the other connected components. Meaning, in the case of the “Dust-like” character, you would not only scale the main character, but also the companion. Sometimes this is desired, but if you wanted to keep the companion at it’s default size, it’s impossible without a crazy workaround.* The scene component would allow you to treat the main character sprite as the main sprite, but also make it possible to independently alter the secondary sprite.
To speak to the following issue:
From what I understand if I try to just use a scene component and try to move the child component (in this case a >sprite) it doesn’t actually move the actor it’ll just move the child component and whatever is attached to it. It becomes >really hacky to try and use this method as you start to try and do more complex things.
This is true, if you use a scene component, and then move the child component, then you are changing the child’s location relative to the root (in this case the scene component). But if you are trying to move an object that is visually represented by a sprite component, then you shouldn’t be moving the sprite component. Instead, you should be moving the entire object, IE the root.
Hope that helps some.
*This workaround would involve creating an entirely separate companion character that has to constantly track the location of the main character and move to that location, which can potentially introduce more overhead.