Frequently Asked Questions and Known Issues

Answers some of the most commonly asked questions about using XNA Game Studio 3.0.

General Questions

How do I file bugs or make suggestions?

  • Sign up for Microsoft Connect at and click the XNA Game Studio connection under available connections.
  • After you sign up, you can file a bug or make a suggestion by selecting Feedback on the Connect: XNA Game Studio page.

Is Visual Studio supported with XNA Game Studio 3.0?

Yes. XNA Game Studio 3.0 is designed to install custom extensions to supported versions of Microsoft Visual Studio tools, such as Microsoft Visual Studio 2008 Professional Edition, Microsoft Visual Studio 2008 Standard Edition, and Microsoft Visual C# 2008 Express Edition.

For a complete list of supported editions, see Microsoft Visual Studio 2008 and Microsoft Visual C# Express Edition.

Can I use an existing XNA Game Studio 2.0 game project with XNA Game Studio 3.0?

You will need to upgrade the project to the format used by XNA Game Studio 3.0, and update your game code to be compatible with changes in the XNA Framework. See Upgrade Guide: XNA Game Studio 2.0 to XNA Game Studio 3.0.

Can I target Windows, Xbox 360 and/or Zune platforms with the same solution?

Yes. See Developing Cross-Platform Games for details on how to create and manage games for multiple platforms. This includes information on converting a game project meant for one platform into one to run on another platform, such as a Windows game project into an Xbox 360 console and/or a Zune game project, keeping all projects in the same solution.

Do I need a connection to Xbox LIVE to play my XNA Framework game?

XNA Game Studio Connect requires a connection to Xbox LIVE at all times.

If I have written a multiplayer game, must the player with the XNA Creators Club membership sign in first?

In the event that multiple people wish to play a local multiplayer XNA Framework game, it is essential that the player with a valid XNA Creators Club membership sign in first before launching XNA Game Studio Connect. After launch, additional profiles can then sign in to play.

If multiple profiles on a single Xbox 360 console have a valid XNA Creators Club membership, the connection settings that are used by XNA Game Studio Connect will always default to player one.

How do I distribute my game?

My computer cannot connect to my Xbox 360 console. What should I do?

This may indicate issues with your network settings, connection key, file names, or file system. Please see Troubleshooting Xbox 360 Game Deployment for detailed descriptions of these issues.

My computer cannot connect to my Zune device. What should I do?

This may indicate issues with your physical connection, Zune settings or state. Please see Troubleshooting Zune Game Deployment for detailed descriptions of these issues.

What do I do to fix the error message "NoSuitableGraphicsDeviceException was unhandled"?

Check the inner exception for more detail on why the graphics device could not be created. XNA Game Studio thoroughly checks why the graphics device could not be created and reports these checks in the inner exception.

If NoSuitableGraphicsDeviceException does not have an inner exception, it is likely that your graphics card does not have a DirectX 9 driver, that it does not support Shader Model 1.1, or that the hardware acceleration slider is not set to Full in your settings.

To determine the version of DirectX installed on the computer

  1. Click Start, and then click Run.

  2. In the Open box, type dxdiag, and then click OK.

    The System tab will display information about the version of DirectX that is installed on the computer.

To set hardware acceleration to Full on Windows XP

  1. Right-click the desktop, and then click Properties on the menu.

  2. Click the Settings tab, and then click Advanced.

  3. Click the Troubleshoot tab.

  4. Move the Hardware Acceleration slider until it is set to Full.

  5. Click OK, and then click Close.

To set hardware acceleration to Full on Windows Vista

  1. Right-click the desktop, and then click Personalize on the displayed context menu.

  2. Click Display Settings

  3. Click Advanced Settings....

  4. Click the Troubleshoot tab.

  5. Click the Change Settings button, then move the Hardware Acceleration slider until it is set to Full.

    Note that for display adapters that do not allow hardware acceleration to be changed, the Change Settings button may be disabled.

  6. Click OK on the three open dialog boxes.

To determine which shader models are supported

Please see How To: Check for Shader Model 2.0 Support for information about how to programmatically query the shader capabilities of the graphics card.

How do I do video playback with XNA Game Studio?

The XNA Framework does not contain functions for video playback. We are investigating this for future releases.

Why does my application work from my local computer, but throw SecurityException when I move it to a shared network folder?

This is a security feature of the Common Language Runtime (CLR). Applications that are run from locations other than the local system have greater security restrictions than applications run locally. Running XNA Game Studio titles from a shared network folder is not supported.

What shader models does XNA Game Studio support?

XNA Game Studio supports all the DirectX 9 shader models (versions 1.x, 2.x, and 3.0) on Windows, along with some variants. For a full list of supported shaders, see the ShaderProfile enumeration.

On Xbox 360, XNA Game Studio supports Shader Model 2.0 and an extended variant of 3.0 customized for the Xbox 360.

Some starter kits may have more restrictive requirements.

Can I use the delay sign feature for my Xbox 360 game?

Use of delay signing can prevent the game from running on the Xbox 360, because the console uses strong name verification. Under strong name verification, the assemblies will not load until the signing process is complete.

When debugging, sometimes my full-screen game crashes and I am unable to return to Visual Studio. What can I do besides rebooting my computer?

When a program takes over the graphics device, sometimes it is unable to properly return the graphics device to Windows after a crash. Try the following:

  1. Press the Windows button or CTRL+ESC to bring up the Start menu.

    Sometimes this will restore the task bar, allowing you to bring up Visual Studio.

  2. Press ALT+TAB to return focus to Visual Studio, then SHIFT+F5 to stop the program you are debugging.

    Sometimes you may have to press ALT+TAB a few times to return the focus to Visual Studio before pressing SHIFT+F5.

  3. Press CTRL+ALT+DELETE to attempt to bring up the Windows Security window.

    If the Windows Security window comes up, you can use Task Manager to end the task running your game and return to Visual Studio.

If those steps are unsuccessful, the only option might be to reboot the computer.

After upgrading my game from XNA Game Studio Express to XNA Game Studio 3.0, the game runs slower. Why?

The answer may lie with render targets. XNA Game Studio 3.0 introduces the ability to control whether render targets are kept or discarded from frame to frame. In XNA Game Studio Express, render targets were discarded on Xbox 360 but kept on Windows. XNA Game Studio 3.0 now keeps render targets from frame to frame on both Xbox 360 and Windows by default. This may result in decreased performance on Xbox 360.

To recover performance, change your game so that the render targets behave as they did in XNA Game Studio Express; pass RenderTargetUsage.PlatformContents when preparing your PresentationParameters class.

3D Graphics

How do I create lighting and material effects in XNA Game Studio?

Lights and materials are implemented in XNA Game Studio with effects. To implement lighting or material effects, create an effect that contains the desired vertex or pixel color transformation. The actions of a simple effect are encapsulated in the BasicEffect class, which provides functionality for applying lights and materials, and setting world, view, and projection transformations. You may choose to use BasicEffect for simple functionality or create your own effects using the Effect class.

How do I create my own effects?

For a sample of a simple effect using the Effect class that sets the diffuse color of a vertex, see How To: Create and Apply Custom Effects.

What is an effect file?

An effect is a combination of vertex and pixel shader code grouped together to encapsulate a particular rendering technique. Effects can be written in either high-level shader language (HLSL) or assembly code.

An effect file contains effect code. You may see effect files with an .fx extension that contain HLSL code. Effects in HLSL or assembly code must be compiled to a binary format before they can be used in an application.

For overviews of HLSL and the effect file format, see the HLSL Shaders and Effects DirectX Programming Guides on MSDN. Complete reference documentation for HLSL, shader ASM, and the effect file format is available in the Direct3D API Reference.

After drawing using Graphics.SpriteBatch, why do my 3D objects draw incorrectly?

By default, SpriteBatch.Begin does not save your current render state, and will change certain render state properties that may make 3D objects render incorrectly. You can choose to either reset the render state yourself after the call to SpriteBatch.End, or call SpriteBatch.Begin and pass in SaveStateMode.SaveState, which will restore the render state after sprites are drawn.

Can I use PIX for Windows from the DirectX SDK with an XNA program?

Yes. PIX sees XNA games as just another DirectX game and will expose information about the DirectX calls made by your XNA game, including shader rendering. To use PIX with an XNA game, start a New Experiment in PIX and enter your XNA game executable path into the Program Path edit box. Then choose the information you want to gather and push Start Experiment.

For more information on how to use PIX, see the DirectX SDK documentation.


Can I map the Xbox Guide button on the Xbox 360 Controller to an action?

No. The Xbox Guide button is reserved.

My mouse cursor is not visible. How can I make it visible?

Mouse support is available only for Windows. Set the Game.IsMouseVisible property to true.

The Xbox 360 Controller does not work properly in Windows. How can I correct this?

For the Xbox 360 Controller to work correctly in Windows, you need to install the latest Xbox 360 Controller driver. You can download this driver from Microsoft Hardware Download Gaming Software.


Can I load and play a wave file from the Audio API without using the XACT tool?

Yes, make a call to the Play method. For more information, see How To: Play a Sound.

How can I get more information on using XACT?

For an easy guide to adding sound files to an XACT project and playing them, see How To: Add a Sound File to Your Game Using XACT and How To: Play a Sound. For detailed information on how to author audio in the XACT tool, including information on categories, variables, and other advanced features, see XACT Audio Authoring.

Why does calling GetCue from SoundBank never return a cue?

In your XACT project, you may have set a sound bank property called IncludeCueNames to false. For each sound bank in your project, this property must be set to true. Open XACT, load your project, and click each of your sound banks in the project tree view. Check the value of IncludeCueNames in the property pane as you click each sound bank. If any of these values are set to false, set them to true and rebuild your project.


What coordinate system does the XNA Framework use?

The XNA Framework uses a right-handed coordinate system.


Why do I get an exception when I try to use Storage classes?

One possible reason is that one of your operating system folders — especially %_NTDrive%\Documents and Settings\ — is mapped to a network drive. Storing player data or running titles from a network location is not supported in this release.

For answers to more questions about XNA Game Studio and the XNA Framework, see XNA Creators Club Online.

Community Additions