Professional Documents
Culture Documents
Unity Projects
Art Pipeline
Code
Build Tools
Content Projects
Content is split into multiple Unity projects. Each project contains a copy of the dll's. Similar assets are grouped together. All assets are packaged into asset bundles. Easy to rebuild portions of the project.
Art Pipeline
Unity Projects Art Pipeline
Code Projects
Unity Projects Art Pipeline Code
IDE Differences
Build Events are not the same as Custom Commands. Visual Studio Build Events are essentially bat files that can be executed before or after a build.
IDE Differences
MonoDevelop Custom Commands are single commands that are executed before or after a build.
IDE Differences
Both MonoDevelop and Visual Studio will attempt to insert the same target import using a different Environment Variable into the C# project file.
Debug Databases
The program database (PDB) file is an proprietary format developed by Microsoft. The mono team decided to create their own format (MDB). We need to generate MDB files in order to debug our assemblies.
2) Create a new file in the directory named mono-runtimes.xml and copy the following XML into it:
Note: If your Unity installation directory is non standard, you will need to change the path to reflect your own installation.
Debugging Projects
1) Open the Unity Project you wish to debug. 2) Open MonoDevelop and load the Solution file for the .NET Library Projects. 3) In the MonoDevelop IDE Select "Run->Attach To Process".
Debugging Projects
4) Select the Unity Editor process and click the "Attach" button.
5) Set breakpoints in your code. 6) Finally click the "Play" button in the Unity editor!
Build Tools
Unity Projects Art Pipeline Code Build Tools
Build Manager
Build Manager
Built on top of Microsoft .NET Framework. Utilizes the MSBuild API to build Visual Studio solutions and projects. Launches Unity in command line mode to build each projects asset bundles. Monitors the Unity Editor log file for changes and displays it in real time. Features an XML script file that allows us to customize the build process. Pre-build and postbuild commands can be issued.
Thanks!
William Roberts roberts@schellgames.com http://www.williamroberts.net
Multi-platform Development
Multi-platform
Screen Resolutions
Dynamic Rectangle
Percentages Parenting Anchoring Min / Max values
#if
#if UNITY_WEBPLAYER
Externalizing Data
Multi-platform Externalizing Data
Externalizing Data
Const files Game Object + Inspector ScriptableObject
Defining a ScriptableObject
Creating a ScriptableObject
Loading a ScriptableObject
Reference in Inspector Resources.Load Singleton with Resources.Load Asset Bundle
Better OnGUI
Multi-platform Externalizing Data Better OnGUI
String lookup
No auto-complete / checking Slow
35% Faster
Video Demo
Editor Tools
Multi-platform Externalizing Data Better OnGUI Editor Tools
Thanks!
William Roberts - roberts@schellgames.com