
Autodesk’s Maya is one of the most ubiquitous 3D software packages available and its use in the games industry has been well established for over a decade. It also holds a special place in my heart as it was the first 3D software I started learning all the way back in 2007, and it’s served me well for many years even as Autodesk has made it increasingly difficult to access.
All versions of Maya will default to a right-handed, Y-up configuration for their coordinate system. This is a common layout that’s shared by a number of other digital content creation tools, but Maya also gives users the option to switch to Z-up on a per-install basis via its Preferences window.
Mismatches in coordinate space settings can cause a lot of chaos and confusion for those who’re not familiar with moving files between services and platforms. I hope this guide will help explain how Maya interprets coordinate data and helps you get your assets where they need to go in one piece.
Different software, different systems
If you’re looking to export your work from Maya into Unity or Unreal Engine, you’re in luck! I have written comprehensive breakdowns of each of their respective coordinate systems.
Don’t worry, once you understand the ins and outs of one coordinate system it’s far easier to adapt to the others.
World Coordinate System Quick Guide
The relationships between the different coordinate systems within each software package you encounter might sound daunting, but in general they really only fall into one of four camps. Below is a table that demonstrates how Maya’s coordinate system compares to other popular 3D software packages and game engines.
If you’re already comfortable with terms like up axis and left/right handed coordinate systems, then this might provide all the information you need.
What is a coordinate system?
‘Coordinate system’ is a mathematical term that describes a method of using numbers to determine the location of a point (or points) in 2D or 3D space. It’s the coordinate system’s role to define both the location of each object and which direction it’s facing.
With this data in hand you can then calculate the distance between objects, rotation, velocity, and all sorts of other useful information.
The coordinate system is a fundamental part of Maya, necessary for the program to present the illusion of a virtual 3D space on your flat monitor.
A (very) brief introduction to Cartesian Coordinates
Like most of its contemporaries, Maya uses a Cartesian coordinate system. This means that the virtual space within the program is determined by values along three axes: X, Y, and Z. These axes represent right/left, up/down, and forward/back directions respectively.

These axes are color-coded within each of Maya’s transform tools.
Each object in your scene stores a value for each of these axes, the three of which when combined tells Maya where the object is placed in the space. For example, should you change your object’s X value, it will move to the right or left. The direction of this motion depends on whether you’re adding or subtracting from the axis’s value. This is what we call ‘moving in the X axis‘.

You can access these values directly via the Channel Box and Attribute Editor.
The point at which all three axes intersect is called the origin. On one side of the origin an axis value will be a positive value, and on the other it will be negative. For example, a value of 12 is the same distance from the origin as -12, just on the opposite side. A value of zero sits right on the origin of that axis.
The positive direction of each axis is also commonly called the forward vector, right vector, and up vector.
What’s up? How the up axis defines your scene
Arguably the biggest point of difference between different configurations of a Cartesian coordinate system is your choice of up axis. If you’re using Maya’s default Y-Up configuration then you will likely experience unexpected results importing meshes that have been exported out of packages like 3ds Max or Blender.
Changing the definition of an axis (in the case of Max or Blender, this would involve moving the up axis from Z to Y) fundamentally changes how the data is interpreted. This is not always a major problem, but can become increasingly difficult to deal with with more complex data, like rigged characters.

When importing a file from Z-up Blender into a Y-up Maya scene, things have a tendency to go sideways on you.
Changing Maya’s up axis
The World Coordinate System section of the Settings tab of your Preferences window contains a toggle that will let you switch between a Y-up and Z-up configuration.
Keep in mind that this will not only change the settings for your current scene, but will also now be the default behaviour for any new scenes you create and how all existing files you open will be interpreted. This information is not stored in your scene files but within your install-specific userPrefs.mel preferences file.
On windows you can find that file here: C:\Users\[YourUserName]\Documents\maya\[YourMayaVersion]\prefs
If you’re having issues changing the setting within the Maya interface you can find the specific setting with a search for -sv “upAxisDirection”.
Keep in mind
If you’re not sure about which axis you’d like to use on your project, I highly recommend that you run some tests and make the call before you get too far into production.
Changing your up axis mid-way through a project can have a frustrating effect on your scene, especially if you’ve already added keyframes to any transform values as these can be time-consuming and fiddly to rectify.
Right-hand rule
Another important distinction between Maya and other commonly used 3D software packages is that Maya uses a right-handed coordinate system. What this means is that the X axis (which defines your right vector) is inverted when brought into a program that uses a left-handed system. If your workflow involves moving objects between programs this may happen often!
The easiest way to visualize this change is to use your hand. Hold it out with your palm facing to your side, as if you’re reaching out to shake someone’s hand. Point your thumb upwards (like a thumbs-up), this is your up vector (Y+). Point your index finger forward, this (unsurprisingly) represents your hands forward vector (Z+). Finally, curl your middle finger so it points perpendicular to your palm. This is your hand’s right vector (X+).

Unity (left) uses a left-handed coordinate system, which means that assets exported out of Maya and imported into Unity will be flipped in the X axis.
If you do this exercise with your right hand you will be aligned with Maya’s coordinate system and your right vector will be pointing to the right. If you used your left hand (as Unreal Engine does, for example) it will be instead pointing to the left. This is the difference between left and right handed systems.
This behavior will need to be factored into your workflow, as the inverse left/right situation will cause imported objects to flip on their X axis. This leads to mirrored textures (with unreadable text!) and asymmetrical assets no longer being fit for purpose, so it’s important to keep it in mind.
World, object, and parent space
In Maya (and most other advanced 3D graphics programs) several Cartesian coordinate ‘spaces’ operate in tandem to provide you with the tools you need to create 3D scenes. In Maya these are called world space, object space, and parent space. Other spaces, such as uv space and screen space, also exist to map the position of objects using 2D projections.
You can switch between 3D coordinate spaces via the Axis Orientation dropdown menu within the settings for each Manipulator Tool, or by holding down their shortcut key and using the radial menu.
Changing between world and object space using the radial menu.
World space
World space is the coordinate space for the scene itself. Its universal axes will not change (with the exception that you can chance the up axis via the Preferences window) and it is to world space that your viewport grids will align.
By default, in Maya’s world space Y+ is always up, X+ is always to the left, and Z+ is always forward.
The values you see in your object’s Channel Box will always be world space, irrespective of the tool you are using to transform it.
Object space
Object space is a coordinate system that is relative to the rotation of a specific object. Its origin is at the pivot point of the object itself, and its axes will change depending on which direction it is facing.

You can think of an object’s object space like its point-of-view. If your object is upside down then its object space up axis (still positive Y for the object) would point downwards in world space, but upwards relative to the object. It’s like our hand example from earlier – if you rotate your wrist, all of the local axes (represented by your fingers) will follow.
Parent space
An object’s parent space uses the object space of its direct parent in the hierarchy. If the object doesn’t have a parent, then its parent space will be the same as the world space.
Final thoughts
Thanks a lot for reading through my article, I hope it’s helped explain how Maya interprets 3D coordinates, why it’s so important, and what 3D artists mean when they talk about up vectors and coordinate spaces.
I think it’s worth saying at the end here that for those just getting into Maya and feeling a bit overwhelmed by the math terminology, try not to stress. With most modern 3D software a lot of the conversion process between different coordinate systems is automatically done for you during the import/export process.
The FBX file format provides a lot of options to automatically convert your scene between spaces, and game engines like Unity and Unreal have expansive import dialogs that will help you move between different systems.

I hope one day soon to do a breakdown of this process, but until then I’ll leave you with this page out of the Maya manual which should get you started if you’re looking to start moving your Maya assets into realtime.









