Difference between revisions of "XBOX 360 Getting Starting"

From Alpha Archive Wiki
Jump to navigation Jump to search
Line 38: Line 38:
 
==Project Structure==
 
==Project Structure==
 
===Special directories:===
 
===Special directories:===
# PROJECT/Assets/StreamingAssets - for assets that Unity should not process. Files are copied to OUTPUT\Media\Raw.
+
==== PROJECT/Assets/StreamingAssets - for assets that Unity should not process. Files are copied to OUTPUT\Media\Raw. ====
** Videos.
+
* Videos.
** Asset bundles.
+
* Asset bundles.
** Custom assets.
+
* Custom assets.
# PROJECT/Assets/Plugins - for native plugins. .def and .xex files are copied to OUTPUT\Media\Plugins.
+
==== PROJECT/Assets/Plugins - for native plugins. .def and .xex files are copied to OUTPUT\Media\Plugins. ====
  
 
===Runtime paths:===
 
===Runtime paths:===

Revision as of 04:20, 7 June 2020

Xbox 360: Getting Started

Developing for Xbox 360

To develop for the Xbox 360 you must be a Microsoft Certified Xbox 360 Developer and own the appropriate hardware. See the Xbox 360 Setup page for a seat setup checklist.

Access Xbox 360 unique functionality

Unity Xbox provides a number of new scripting APIs to access Xbox Live services, storage devices, Avatars and much more. See the UnityEngine.X360 namespace in the scripting API.

How Unity Xbox differs from Desktop Unity

Strongly Typed JavaScript

  • Dynamic typing in JavaScript is always turned off in Unity on Xbox. This is the same as adding #pragma strict to your scripts, but it is done by default instead, in order to improve performance. When you launch an existing Unity Project, with dynamic typing, you will see compiler errors. You can easily fix them by either using static typing for the variables that are causing errors or taking advantage of type interface.

Ahead-Of-Time (AOT) compilation

  • Scripts are AOT compiled and loaded in as normal Xbox 360 dynamic libraries. JITing is not supported.
  • Exotic class libraries (reflection, LINQ etc) not fully supported.

Limited memory

  • Expect about 440MB free system memory with an empty project loaded.

Fixed resolution

  • 720p (1280x720) is the only resolution you’ll have to deal with.

No hardware MSAA

  • Unity for Xbox does not do hardware MSAA. Use “AntialiasingAsPostEffect” technique “FXAA3” from the “Image Effects” standard package for best results.

XMA audio compression

  • Unity will compress audio to XMA when targeting Xbox 360.
  • Unity will use OGG in the editor (XMA can not be played on the PC). Expect audio quality to differ and check the output Xbox produces.
  • Only two channels are supported when load type is “Compressed in memory”.


SETUP

Step-by-step guide for installing Unity for Xbox 360:

  1. Install Visual Studio 2010
  2. Install Microsoft XDK (Full)
  3. XEDK environment variable must be set up - XDK setup does this automatically.
  4. Exact version number will be provided with every Unity build.
  5. Set up a default devkit or testkit in your Xbox 360 Neighborhood.
  6. Install Unity.

Build information:

  • XDK version: November 2012, #21250.7.


Project Structure

Special directories:

PROJECT/Assets/StreamingAssets - for assets that Unity should not process. Files are copied to OUTPUT\Media\Raw.

  • Videos.
  • Asset bundles.
  • Custom assets.

PROJECT/Assets/Plugins - for native plugins. .def and .xex files are copied to OUTPUT\Media\Plugins.

Runtime paths:

  1. Xbox mounts the game folder to game:.
  2. Unity executable is located at game:\Project.XEX.
  3. Unity data files are located at _game:\Media_.
  4. Unity compiled script assemblies are located at _game:\Media\Managed_.
  5. Raw assets are located at _game:\Media\Raw_.