In Advanced Scripting in Maya, we will use a real-world issue as a teaching case while developing automation and support an FBX exporter. In the first module for this course we will discuss some basic philosophies about software design before we start writing our code. We will then begin our script by starting on some basic lower level functions and ending with the creation of our FBX export nodes. From there we will continue our script by designing all the procedures needed to handle exporting of rigged characters, setting our animation export settings, and managing anim layers per animation. We will also show how to set our FBX export settings and will end the second module with writing the actual calls to the FBX exporter using our animation. Next, we design our main UI, so all our export code will be easier to use. We will build a tabbed window so we can switch between model and animation export, and include such options as pop-up menus when we right-click for power users. To wrap things up, we will add the functions needed to make our UI work; we will create procedures that will automatically populate the UI depending on what is selected, procedures to support our pop-up menus, and eventually calling our export code.