SlideShare a Scribd company logo
CreatingGreatUnity
Games forWindows 10
Part 1/2
Jiri Danihelka
What is Unity
• Unity is
– A game engine and ecosystem
– Supports more platforms than any other publically available tool
– Used by hobbyists & students, up to major studios
• Unity is not
– A 2D image or vector graphic creation tool (photoshop, gimp)
– A 3D modelling environment*
• It does have a built in terrain system
• Also supports third party plugins that enable some 3D modelling (ProBuilder)
Features/Capabilities
• AAA Game Quality
• Editor for scene (level) assembly & in-editor game play
• Physics
• Programming with C#, JavaScript, Boo
• 2D & 3D Support
• Audio
• Particle Effects
• Animation Systems
Asset Store
• Near everything you need for a game
Its all about the scene
• Think of a scene as a level
• Game is a collection of 1->many scenes
• Scenes are included in build
• Can have many test scenes not in final build
• Remember this icon
GameObjects are everything
• Near everything in a scene is a GameObject
• The System.Object of Unity
• Simply name, tag, transform
• Transform is very important
GameObject
Lights
3D Models
SpritesHUDs
Particle
Systems
Components make things happen
• GameObjects come to life via Components
• Includes
– MeshRenderers
– SpriteRenderers
– Audio
– Cameras
– Physics behavior
– Particle systems
– Scripts (your code)
Prefabs and Unity packages
• Prefabs allow reuse across (and within) scenes
– Objects will turn blue in hierarchy
• Update .prefab = update every instance in project scenes
• Unity packages allow reuse across projects
– Asset store downloads are actually .unitypackage files
– Can be imported just by double clicking
Unity’s Architecture
• Major Components
– Editor
– MonoDevelop
– Game Engine
• Editor
– Can play test game (play mode)
– Can extend easily
Project Structure
• Assets
– Always top level folder shown in Unity Editor
– Every file you bring into your project, prefabs, art, audio, and more.
• Library
– Local cache for imported assets & metadata for assets.
• ProjectSettings
– Stores settings from Edit->Project Settings
• Temp/Obj
– Used for temporary files during the build process from Mono and Unity
Compilation
• In the Editor
– Mono is always used to compile scripts
– Compilation in editor may be different than final build
– What works in game may be different in end build
• Your exported Visual Studio Project
– Assemblies generated by Mono or .NET
• Your game
– Compilation varies per platform. Different APIs supported.
Programming Model
• Game Loops are per GameObject
• Most major c# constructs, features, types valid
– Lambdas, events, LINQ, anonymous methods, classes, etc
• Do I have to code?
– No – check out PlayMaker, Behave, RainAI
Physics Engine
• 3D physics engine NVIDIA® PhysX® Physics
– Is it any good?
• Licensed by Unity, Unreal Engine 4, Gamebryo, Vision, Instinct, and more
• 2D physics via Box2D
– 2D physics generally much faster
– Is it any good?
• Used by Unity, GameMaker, Construct2, and more
The generated projects & compilation passes
Project Path Used
in
Pass
Description
Assembly-CSharp.csproj 3 All other scripts not inside folder
called Editor
Assembly-CSharp-
firstpass.csproj
1 Scripts in folders under /Assets
called Standard Assets, Pro Standard
Assets and Plugins
Assembly-CSharp-Editor-
firstpass.csproj
2 Scripts in folders called Standard
Assets/Editor, Pro Standard
Assets/Editor and Plugins/Editor
*-.vs projects n/a Can be added to Visual Studio for
editing code and debugging*
Assembly-CSharp-
Editor.csproj
4 All other scripts inside a folder call
Editor
What’s required?
• Logo
• Splash Image
• Options Buttons
• Animations
What’s required?
• Initial character sketch in any art program
– Pen/ink on paper works too of course, scanned in
• Create template layer in program
– Illustrator, Inkscape, Photoshop
• Bring sketch in as base layer for reference
• Create layers for character components
• Draw components on layers piece by piece
• Drawing tablet recommended
Creating 3D Assets
• Create sketch/reference
• Model in Maya, Blender, 3dsMax, etc
– Create basic shapes, extrude, tweak, repeat
– Third party plugins do support basic modelling in Unity (ex ProBuilder)
• Export or bring directly into Unity
– Export to .obj or .fbx, drag/drop in Unity
– Native file format drag/drop into Unity
• Requires modelling app installed on same machine
3D
• 3D is simply X,Y,Z
– X Left<->Right
– Y Up<->Down
– Z Forward<->Backwards
• Left handed coordinates
Rigid bodies & Colliders
• Two components for physics
• Rigidbody
– Gives your object mass
– Makes it understand gravity (optionally)
– Can exist without collider, but won’t collide
• Collider
– Defines an area to calculate collisions based on
– Can also be triggers (no physical interaction, just code is called)
– Can exist without a rigidbody (ex. a platform)
Vectors are just values
• Vector2D contains two values (X,Y)
– var heading = new Vector2D(10f, 8f);
– Does not represent anything but values
• Vector3D contains three values (X,Y,Z)
– var heading = new Vector2D(10f, 20f, 7.5f);
• Vectors can represent direction, values, forces
• Vectors can be relative
– Forward can be where Z is
– Forward can be where character is facing
Moving objects manually
• Many ways, try to move only rigidbodies
• Non-rigidbodies Unity assumes aren’t moving
Top Row Source: Microsoft, as of 7/31/14
Bottom Row Source: Microsoft, 7/31/13 – 7/31/14
apps
$
active users
registered
developers
MO billing partners
help drive higher
monthly revenue
YoY growth YoY growth YoY growth YoY gross sales growth
• Advertising
• In-app purchases
• Paid –
– Trial
– Price tiers - $0.99 USD, $1.29
USD, $1.49 USD, etc.
• Free
Revenue Models
29% 26%
31%
44%
40%
29%
Windows Windows Phone
Revenue Source
Paid In-app Purchase Advertising
In-app purchases
• Full support from the publishing dashboard
– Consumables – used up and purchased again
– Durable items – can have an expiration
– Receipts – use receipts to verify purchase
• Use any 3rd-party system you want
• Cannot be offered from a trial version
Associate your games in both Stores
• You can associate the Windows
Store and Windows Phone
versions of your games
• This allows a one-time purchase
for the user across all platforms
• Can lead to higher usage and
engagement with your app.
Back button
• //Unity does this for you automatically
• <phone:PhoneApplicationPage
BackKeyPress="PhoneApplicationPage_BackKeyPress" >
• private void PhoneApplicationPage_BackKeyPress(object sender, CancelEventArgs e)
• {
• e.Cancel = UnityApp.BackButtonPressed();
• }
• //IN your unity code, handle back button, you should quit, go back or dismiss modal UI
• void Update {
• if (Input.GetKeyDown(KeyCode.Escape)){
• Application.Quit();
• }
}
Hardware APIs that work seamlessly
• Touch
• Microphone
• Gyro & Accelerometer
• Webcam
• Location

More Related Content

What's hot

West Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & InfrastructureWest Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
Gerke Max Preussner
 
Future of unreal
Future of unreal Future of unreal
Future of unreal
Ning Hu
 
GDCE 2015: Blueprint Components to C++
GDCE 2015: Blueprint Components to C++GDCE 2015: Blueprint Components to C++
GDCE 2015: Blueprint Components to C++
Gerke Max Preussner
 
2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014
2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 20142D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014
2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014
Murat Gürel
 
West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
Gerke Max Preussner
 
Unreal Engine (For Creating Games) Presentation
Unreal Engine (For Creating Games) PresentationUnreal Engine (For Creating Games) Presentation
Unreal Engine (For Creating Games) Presentation
Nitin Sharma
 
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for CodersEast Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
Gerke Max Preussner
 
West Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
West Coast DevCon 2014: The Slate UI Framework (Part 1) - IntroductionWest Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
West Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
Gerke Max Preussner
 
Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011
Karsten Wysk
 
Unreal Engine 4 Introduction
Unreal Engine 4 IntroductionUnreal Engine 4 Introduction
Unreal Engine 4 Introduction
Sperasoft
 
Basic Optimization and Unity Tips & Tricks by Yogie Aditya
Basic Optimization and Unity Tips & Tricks by Yogie AdityaBasic Optimization and Unity Tips & Tricks by Yogie Aditya
Basic Optimization and Unity Tips & Tricks by Yogie Aditya
gamelanYK
 
Multimedia software tools
Multimedia software toolsMultimedia software tools
Multimedia software tools
SasikalaNatarajan
 
Unity L01 - Game Development
Unity L01 - Game DevelopmentUnity L01 - Game Development
Unity L01 - Game Development
Mohammad Shaker
 
East Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
East Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...East Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
East Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...Gerke Max Preussner
 
Alexey Savchenko, Unreal Engine
Alexey Savchenko, Unreal EngineAlexey Savchenko, Unreal Engine
Alexey Savchenko, Unreal Engine
White Nights Conference
 
From Unity3D to Unreal Engine 4
From Unity3D to Unreal Engine 4From Unity3D to Unreal Engine 4
From Unity3D to Unreal Engine 4
Martin Pernica
 
Introduction into Procedural Content Generation by Yogie Aditya
Introduction into Procedural Content Generation by Yogie AdityaIntroduction into Procedural Content Generation by Yogie Aditya
Introduction into Procedural Content Generation by Yogie Aditya
gamelanYK
 
Developing Success in Mobile with Unreal Engine 4 | David Stelzer
Developing Success in Mobile with Unreal Engine 4 | David StelzerDeveloping Success in Mobile with Unreal Engine 4 | David Stelzer
Developing Success in Mobile with Unreal Engine 4 | David Stelzer
Jessica Tams
 
Memory Profiler: The Tool for Troubleshooting Memory-Related Issues
Memory Profiler: The Tool for Troubleshooting Memory-Related IssuesMemory Profiler: The Tool for Troubleshooting Memory-Related Issues
Memory Profiler: The Tool for Troubleshooting Memory-Related Issues
Unity Technologies
 

What's hot (20)

West Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & InfrastructureWest Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
 
Future of unreal
Future of unreal Future of unreal
Future of unreal
 
GDCE 2015: Blueprint Components to C++
GDCE 2015: Blueprint Components to C++GDCE 2015: Blueprint Components to C++
GDCE 2015: Blueprint Components to C++
 
2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014
2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 20142D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014
2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014
 
West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
 
Unreal Engine (For Creating Games) Presentation
Unreal Engine (For Creating Games) PresentationUnreal Engine (For Creating Games) Presentation
Unreal Engine (For Creating Games) Presentation
 
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for CodersEast Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
 
West Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
West Coast DevCon 2014: The Slate UI Framework (Part 1) - IntroductionWest Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
West Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
 
Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011
 
Unreal Engine 4 Introduction
Unreal Engine 4 IntroductionUnreal Engine 4 Introduction
Unreal Engine 4 Introduction
 
Basic Optimization and Unity Tips & Tricks by Yogie Aditya
Basic Optimization and Unity Tips & Tricks by Yogie AdityaBasic Optimization and Unity Tips & Tricks by Yogie Aditya
Basic Optimization and Unity Tips & Tricks by Yogie Aditya
 
Multimedia software tools
Multimedia software toolsMultimedia software tools
Multimedia software tools
 
Unity L01 - Game Development
Unity L01 - Game DevelopmentUnity L01 - Game Development
Unity L01 - Game Development
 
East Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
East Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...East Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
East Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
 
Alexey Savchenko, Unreal Engine
Alexey Savchenko, Unreal EngineAlexey Savchenko, Unreal Engine
Alexey Savchenko, Unreal Engine
 
Game devtools
Game devtoolsGame devtools
Game devtools
 
From Unity3D to Unreal Engine 4
From Unity3D to Unreal Engine 4From Unity3D to Unreal Engine 4
From Unity3D to Unreal Engine 4
 
Introduction into Procedural Content Generation by Yogie Aditya
Introduction into Procedural Content Generation by Yogie AdityaIntroduction into Procedural Content Generation by Yogie Aditya
Introduction into Procedural Content Generation by Yogie Aditya
 
Developing Success in Mobile with Unreal Engine 4 | David Stelzer
Developing Success in Mobile with Unreal Engine 4 | David StelzerDeveloping Success in Mobile with Unreal Engine 4 | David Stelzer
Developing Success in Mobile with Unreal Engine 4 | David Stelzer
 
Memory Profiler: The Tool for Troubleshooting Memory-Related Issues
Memory Profiler: The Tool for Troubleshooting Memory-Related IssuesMemory Profiler: The Tool for Troubleshooting Memory-Related Issues
Memory Profiler: The Tool for Troubleshooting Memory-Related Issues
 

Similar to Creating great Unity games for Windows 10 - Part 1

Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
gamifi.cc
 
Game development -session on unity 3d
Game development -session on unity 3d Game development -session on unity 3d
Game development -session on unity 3d
Muhammad Maaz Irfan
 
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Lviv Startup Club
 
Creating great Unity games for Windows 10 - Part 2
Creating great Unity games for Windows 10 - Part 2Creating great Unity games for Windows 10 - Part 2
Creating great Unity games for Windows 10 - Part 2
Jiri Danihelka
 
TMD2063 | Digital Animation - Chapter 3
TMD2063 | Digital Animation - Chapter 3TMD2063 | Digital Animation - Chapter 3
TMD2063 | Digital Animation - Chapter 3
Diyana Harithuddin
 
Creating Casual Games for Windows 8
Creating Casual Games for Windows 8Creating Casual Games for Windows 8
Creating Casual Games for Windows 8
SmartyPantsCoding.com
 
Maximize Your Production Effort (English)
Maximize Your Production Effort (English)Maximize Your Production Effort (English)
Maximize Your Production Effort (English)
slantsixgames
 
Making A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkMaking A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You Think
Gorm Lai
 
Adventures in cross platform ConnectJS / TiConnect 2014
Adventures in cross platform ConnectJS / TiConnect 2014Adventures in cross platform ConnectJS / TiConnect 2014
Adventures in cross platform ConnectJS / TiConnect 2014
Jason Kneen
 
Climberreport
ClimberreportClimberreport
Climberreport
LuckyTolani1
 
Game design & development
Game design & developmentGame design & development
Game design & development
Hemanth Sharma
 
Unity 3 d
Unity 3 dUnity 3 d
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
FELGO SDK
 
GameMaker:Studio and Windows
GameMaker:Studio and Windows GameMaker:Studio and Windows
GameMaker:Studio and Windows
Lee Stott
 
Software Engineer- A unity 3d Game
Software Engineer- A unity 3d GameSoftware Engineer- A unity 3d Game
Software Engineer- A unity 3d Game
Isfand yar Khan
 
Windows game development with Unity 5
Windows game development with Unity 5Windows game development with Unity 5
Windows game development with Unity 5
Jiri Danihelka
 
Chapter 7
Chapter 7 Chapter 7
Chapter 7 carnillr
 
Supersize Your Production Pipe
Supersize Your Production PipeSupersize Your Production Pipe
Supersize Your Production Pipe
slantsixgames
 
Unit 13 Pecha Kucha
Unit 13 Pecha KuchaUnit 13 Pecha Kucha
Unit 13 Pecha Kucha
Peter McCarthy
 

Similar to Creating great Unity games for Windows 10 - Part 1 (20)

Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
 
Unity 3D VS your team
Unity 3D VS your teamUnity 3D VS your team
Unity 3D VS your team
 
Game development -session on unity 3d
Game development -session on unity 3d Game development -session on unity 3d
Game development -session on unity 3d
 
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
Шлигін Олександр “Розробка ігор в Unity загальні помилки” GameDev Conference ...
 
Creating great Unity games for Windows 10 - Part 2
Creating great Unity games for Windows 10 - Part 2Creating great Unity games for Windows 10 - Part 2
Creating great Unity games for Windows 10 - Part 2
 
TMD2063 | Digital Animation - Chapter 3
TMD2063 | Digital Animation - Chapter 3TMD2063 | Digital Animation - Chapter 3
TMD2063 | Digital Animation - Chapter 3
 
Creating Casual Games for Windows 8
Creating Casual Games for Windows 8Creating Casual Games for Windows 8
Creating Casual Games for Windows 8
 
Maximize Your Production Effort (English)
Maximize Your Production Effort (English)Maximize Your Production Effort (English)
Maximize Your Production Effort (English)
 
Making A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You ThinkMaking A Game Engine Is Easier Than You Think
Making A Game Engine Is Easier Than You Think
 
Adventures in cross platform ConnectJS / TiConnect 2014
Adventures in cross platform ConnectJS / TiConnect 2014Adventures in cross platform ConnectJS / TiConnect 2014
Adventures in cross platform ConnectJS / TiConnect 2014
 
Climberreport
ClimberreportClimberreport
Climberreport
 
Game design & development
Game design & developmentGame design & development
Game design & development
 
Unity 3 d
Unity 3 dUnity 3 d
Unity 3 d
 
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
Qt World Summit 2015 Talk by V-Play: How to Develop with Qt for Multiple Scre...
 
GameMaker:Studio and Windows
GameMaker:Studio and Windows GameMaker:Studio and Windows
GameMaker:Studio and Windows
 
Software Engineer- A unity 3d Game
Software Engineer- A unity 3d GameSoftware Engineer- A unity 3d Game
Software Engineer- A unity 3d Game
 
Windows game development with Unity 5
Windows game development with Unity 5Windows game development with Unity 5
Windows game development with Unity 5
 
Chapter 7
Chapter 7 Chapter 7
Chapter 7
 
Supersize Your Production Pipe
Supersize Your Production PipeSupersize Your Production Pipe
Supersize Your Production Pipe
 
Unit 13 Pecha Kucha
Unit 13 Pecha KuchaUnit 13 Pecha Kucha
Unit 13 Pecha Kucha
 

More from Jiri Danihelka

Distributed Mobile Graphics
Distributed Mobile GraphicsDistributed Mobile Graphics
Distributed Mobile Graphics
Jiri Danihelka
 
Mixed reality for Windows 10
Mixed reality for Windows 10Mixed reality for Windows 10
Mixed reality for Windows 10
Jiri Danihelka
 
New Xaml components for Windows developers
New Xaml components for Windows developersNew Xaml components for Windows developers
New Xaml components for Windows developers
Jiri Danihelka
 
MVVM Windows UWP apps with Template 10
MVVM Windows UWP apps with Template 10MVVM Windows UWP apps with Template 10
MVVM Windows UWP apps with Template 10
Jiri Danihelka
 
An introduction to development of universal applications
An introduction to development of universal applicationsAn introduction to development of universal applications
An introduction to development of universal applications
Jiri Danihelka
 
Prism library and MVVM
Prism library and MVVMPrism library and MVVM
Prism library and MVVM
Jiri Danihelka
 
UWP apps development - Part 3
UWP apps development - Part 3UWP apps development - Part 3
UWP apps development - Part 3
Jiri Danihelka
 
UWP apps development - Part 2
UWP apps development - Part 2UWP apps development - Part 2
UWP apps development - Part 2
Jiri Danihelka
 
UWP apps development - Part 1
UWP apps development - Part 1UWP apps development - Part 1
UWP apps development - Part 1
Jiri Danihelka
 
Designing Windows apps with Xaml
Designing Windows apps with XamlDesigning Windows apps with Xaml
Designing Windows apps with Xaml
Jiri Danihelka
 
Advanced MVVM Windows UWP apps with Template 10
Advanced MVVM Windows UWP apps with Template 10Advanced MVVM Windows UWP apps with Template 10
Advanced MVVM Windows UWP apps with Template 10
Jiri Danihelka
 
Windows UX
Windows UXWindows UX
Windows UX
Jiri Danihelka
 
Blend for Visual Studio 2015
Blend for Visual Studio 2015Blend for Visual Studio 2015
Blend for Visual Studio 2015
Jiri Danihelka
 
Security misconfiguration
Security misconfigurationSecurity misconfiguration
Security misconfiguration
Jiri Danihelka
 
Windows 10 Mobile and Distributed Graphics
Windows 10 Mobile and Distributed GraphicsWindows 10 Mobile and Distributed Graphics
Windows 10 Mobile and Distributed Graphics
Jiri Danihelka
 
Security hardening and drown attack prevention for mobile backend developers
Security hardening and drown attack prevention for mobile backend developersSecurity hardening and drown attack prevention for mobile backend developers
Security hardening and drown attack prevention for mobile backend developers
Jiri Danihelka
 
Top 10 security risks for mobile backend developers
Top 10 security risks for mobile backend developersTop 10 security risks for mobile backend developers
Top 10 security risks for mobile backend developers
Jiri Danihelka
 
Programování Windows 8
Programování Windows 8Programování Windows 8
Programování Windows 8
Jiri Danihelka
 
Vývoj pro Microsoft Surface a HoloLens
Vývoj pro Microsoft Surface a HoloLensVývoj pro Microsoft Surface a HoloLens
Vývoj pro Microsoft Surface a HoloLens
Jiri Danihelka
 
Interaktivní 3D služby v cloudu
Interaktivní 3D služby v clouduInteraktivní 3D služby v cloudu
Interaktivní 3D služby v cloudu
Jiri Danihelka
 

More from Jiri Danihelka (20)

Distributed Mobile Graphics
Distributed Mobile GraphicsDistributed Mobile Graphics
Distributed Mobile Graphics
 
Mixed reality for Windows 10
Mixed reality for Windows 10Mixed reality for Windows 10
Mixed reality for Windows 10
 
New Xaml components for Windows developers
New Xaml components for Windows developersNew Xaml components for Windows developers
New Xaml components for Windows developers
 
MVVM Windows UWP apps with Template 10
MVVM Windows UWP apps with Template 10MVVM Windows UWP apps with Template 10
MVVM Windows UWP apps with Template 10
 
An introduction to development of universal applications
An introduction to development of universal applicationsAn introduction to development of universal applications
An introduction to development of universal applications
 
Prism library and MVVM
Prism library and MVVMPrism library and MVVM
Prism library and MVVM
 
UWP apps development - Part 3
UWP apps development - Part 3UWP apps development - Part 3
UWP apps development - Part 3
 
UWP apps development - Part 2
UWP apps development - Part 2UWP apps development - Part 2
UWP apps development - Part 2
 
UWP apps development - Part 1
UWP apps development - Part 1UWP apps development - Part 1
UWP apps development - Part 1
 
Designing Windows apps with Xaml
Designing Windows apps with XamlDesigning Windows apps with Xaml
Designing Windows apps with Xaml
 
Advanced MVVM Windows UWP apps with Template 10
Advanced MVVM Windows UWP apps with Template 10Advanced MVVM Windows UWP apps with Template 10
Advanced MVVM Windows UWP apps with Template 10
 
Windows UX
Windows UXWindows UX
Windows UX
 
Blend for Visual Studio 2015
Blend for Visual Studio 2015Blend for Visual Studio 2015
Blend for Visual Studio 2015
 
Security misconfiguration
Security misconfigurationSecurity misconfiguration
Security misconfiguration
 
Windows 10 Mobile and Distributed Graphics
Windows 10 Mobile and Distributed GraphicsWindows 10 Mobile and Distributed Graphics
Windows 10 Mobile and Distributed Graphics
 
Security hardening and drown attack prevention for mobile backend developers
Security hardening and drown attack prevention for mobile backend developersSecurity hardening and drown attack prevention for mobile backend developers
Security hardening and drown attack prevention for mobile backend developers
 
Top 10 security risks for mobile backend developers
Top 10 security risks for mobile backend developersTop 10 security risks for mobile backend developers
Top 10 security risks for mobile backend developers
 
Programování Windows 8
Programování Windows 8Programování Windows 8
Programování Windows 8
 
Vývoj pro Microsoft Surface a HoloLens
Vývoj pro Microsoft Surface a HoloLensVývoj pro Microsoft Surface a HoloLens
Vývoj pro Microsoft Surface a HoloLens
 
Interaktivní 3D služby v cloudu
Interaktivní 3D služby v clouduInteraktivní 3D služby v cloudu
Interaktivní 3D služby v cloudu
 

Recently uploaded

Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 

Recently uploaded (20)

Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 

Creating great Unity games for Windows 10 - Part 1

  • 2. What is Unity • Unity is – A game engine and ecosystem – Supports more platforms than any other publically available tool – Used by hobbyists & students, up to major studios • Unity is not – A 2D image or vector graphic creation tool (photoshop, gimp) – A 3D modelling environment* • It does have a built in terrain system • Also supports third party plugins that enable some 3D modelling (ProBuilder)
  • 3. Features/Capabilities • AAA Game Quality • Editor for scene (level) assembly & in-editor game play • Physics • Programming with C#, JavaScript, Boo • 2D & 3D Support • Audio • Particle Effects • Animation Systems
  • 4. Asset Store • Near everything you need for a game
  • 5. Its all about the scene • Think of a scene as a level • Game is a collection of 1->many scenes • Scenes are included in build • Can have many test scenes not in final build • Remember this icon
  • 6. GameObjects are everything • Near everything in a scene is a GameObject • The System.Object of Unity • Simply name, tag, transform • Transform is very important GameObject Lights 3D Models SpritesHUDs Particle Systems
  • 7. Components make things happen • GameObjects come to life via Components • Includes – MeshRenderers – SpriteRenderers – Audio – Cameras – Physics behavior – Particle systems – Scripts (your code)
  • 8. Prefabs and Unity packages • Prefabs allow reuse across (and within) scenes – Objects will turn blue in hierarchy • Update .prefab = update every instance in project scenes • Unity packages allow reuse across projects – Asset store downloads are actually .unitypackage files – Can be imported just by double clicking
  • 9. Unity’s Architecture • Major Components – Editor – MonoDevelop – Game Engine • Editor – Can play test game (play mode) – Can extend easily
  • 10. Project Structure • Assets – Always top level folder shown in Unity Editor – Every file you bring into your project, prefabs, art, audio, and more. • Library – Local cache for imported assets & metadata for assets. • ProjectSettings – Stores settings from Edit->Project Settings • Temp/Obj – Used for temporary files during the build process from Mono and Unity
  • 11. Compilation • In the Editor – Mono is always used to compile scripts – Compilation in editor may be different than final build – What works in game may be different in end build • Your exported Visual Studio Project – Assemblies generated by Mono or .NET • Your game – Compilation varies per platform. Different APIs supported.
  • 12. Programming Model • Game Loops are per GameObject • Most major c# constructs, features, types valid – Lambdas, events, LINQ, anonymous methods, classes, etc • Do I have to code? – No – check out PlayMaker, Behave, RainAI
  • 13. Physics Engine • 3D physics engine NVIDIA® PhysX® Physics – Is it any good? • Licensed by Unity, Unreal Engine 4, Gamebryo, Vision, Instinct, and more • 2D physics via Box2D – 2D physics generally much faster – Is it any good? • Used by Unity, GameMaker, Construct2, and more
  • 14. The generated projects & compilation passes Project Path Used in Pass Description Assembly-CSharp.csproj 3 All other scripts not inside folder called Editor Assembly-CSharp- firstpass.csproj 1 Scripts in folders under /Assets called Standard Assets, Pro Standard Assets and Plugins Assembly-CSharp-Editor- firstpass.csproj 2 Scripts in folders called Standard Assets/Editor, Pro Standard Assets/Editor and Plugins/Editor *-.vs projects n/a Can be added to Visual Studio for editing code and debugging* Assembly-CSharp- Editor.csproj 4 All other scripts inside a folder call Editor
  • 15. What’s required? • Logo • Splash Image • Options Buttons • Animations
  • 16. What’s required? • Initial character sketch in any art program – Pen/ink on paper works too of course, scanned in • Create template layer in program – Illustrator, Inkscape, Photoshop • Bring sketch in as base layer for reference • Create layers for character components • Draw components on layers piece by piece • Drawing tablet recommended
  • 17. Creating 3D Assets • Create sketch/reference • Model in Maya, Blender, 3dsMax, etc – Create basic shapes, extrude, tweak, repeat – Third party plugins do support basic modelling in Unity (ex ProBuilder) • Export or bring directly into Unity – Export to .obj or .fbx, drag/drop in Unity – Native file format drag/drop into Unity • Requires modelling app installed on same machine
  • 18. 3D • 3D is simply X,Y,Z – X Left<->Right – Y Up<->Down – Z Forward<->Backwards • Left handed coordinates
  • 19. Rigid bodies & Colliders • Two components for physics • Rigidbody – Gives your object mass – Makes it understand gravity (optionally) – Can exist without collider, but won’t collide • Collider – Defines an area to calculate collisions based on – Can also be triggers (no physical interaction, just code is called) – Can exist without a rigidbody (ex. a platform)
  • 20. Vectors are just values • Vector2D contains two values (X,Y) – var heading = new Vector2D(10f, 8f); – Does not represent anything but values • Vector3D contains three values (X,Y,Z) – var heading = new Vector2D(10f, 20f, 7.5f); • Vectors can represent direction, values, forces • Vectors can be relative – Forward can be where Z is – Forward can be where character is facing
  • 21. Moving objects manually • Many ways, try to move only rigidbodies • Non-rigidbodies Unity assumes aren’t moving
  • 22. Top Row Source: Microsoft, as of 7/31/14 Bottom Row Source: Microsoft, 7/31/13 – 7/31/14 apps $ active users registered developers MO billing partners help drive higher monthly revenue YoY growth YoY growth YoY growth YoY gross sales growth
  • 23. • Advertising • In-app purchases • Paid – – Trial – Price tiers - $0.99 USD, $1.29 USD, $1.49 USD, etc. • Free Revenue Models 29% 26% 31% 44% 40% 29% Windows Windows Phone Revenue Source Paid In-app Purchase Advertising
  • 24. In-app purchases • Full support from the publishing dashboard – Consumables – used up and purchased again – Durable items – can have an expiration – Receipts – use receipts to verify purchase • Use any 3rd-party system you want • Cannot be offered from a trial version
  • 25. Associate your games in both Stores • You can associate the Windows Store and Windows Phone versions of your games • This allows a one-time purchase for the user across all platforms • Can lead to higher usage and engagement with your app.
  • 26. Back button • //Unity does this for you automatically • <phone:PhoneApplicationPage BackKeyPress="PhoneApplicationPage_BackKeyPress" > • private void PhoneApplicationPage_BackKeyPress(object sender, CancelEventArgs e) • { • e.Cancel = UnityApp.BackButtonPressed(); • } • //IN your unity code, handle back button, you should quit, go back or dismiss modal UI • void Update { • if (Input.GetKeyDown(KeyCode.Escape)){ • Application.Quit(); • } }
  • 27. Hardware APIs that work seamlessly • Touch • Microphone • Gyro & Accelerometer • Webcam • Location

Editor's Notes

  1. Also a Cloud Build Service Gallery URL
  2. All your assets – art, code, audio, every single file you bring into your project goes here. Only make changes here in the Unity interface, never through your file system. This is always your top level folder in the Unity Editor.
  3. Note: Not in live session, but included for more info Compilation phases come into play when you want to call one language from another. These work at each phase for each language. So if you want to use JavaScript to call C#, place C# inside a folder called /Plugins so its compiled first, and JavaScript inside any generic named folder. If you have a simple Unity project, you won’t see all of these. They only get created when you have code put into various special folders. The projects shown in Fig. Projects are broken out by only three types: Assembly-CSharp.csproj Assembly-CSharp-firstpass.csproj Assembly-CSharp-Editor.csproj For each of those projects, there’s literally a duplicate project with the name –vs on the end of it. These projects are used instead if you use Visual Studio as your code editor and they can also be added to your exported project from Unity for platform-specific debugging in your Visual Studio solution. These Visual Studio specific ones would then be Assembly-CSharp-vs.csproj Assembly-CSharp-firstpass-vs.csproj Assembly-CSharp-Editor-vs.csproj The other projects there serve the same purpose but have CSharp replaced with UnityScript. These are simply the JavaScript (UnityScript) versions of the above projects if you use JavaScript in your Unity game and only if you have your scripts in the folders that would trigger these projects to get created. Now that we’ve seen what projects get created, let’s explorer the folders then that trigger these projects to get created and what their purposes are. Every folder path below assumes this is underneath /Assets as a root folder in your project view. Assets is always the root folder that everything is contained underneath inside of the unity Editor. For ex Standard Assets is actually /Assets/Standard Assets. The build process for your scripts runs through four phases to generate assemblies. Objects compiled in Phase 1 cannot see those in Phase 2 because they have not yet been compiled. This is important to know when you are mixing UnityScript and C# in the same project. If you want to reference a C# class from UnityScript, you’ll need to make sure it compiles in an earlier phase. Phase 1: Runtime scripts in folders under /Assets called Standard Assets, Pro Standard Assets and Plugins. This creates the Assembly-CSharp-firstpass.csproj project. Phase 2: Scripts in folders called Standard Assets/Editor, Pro Standard Assets/Editor and Plugins/Editor. This folder is meant for scripts that interact with the Unity Editor API for design time functionality (think of a Visual Studio plugin and how it enhances the GUI, only this runs in the Unity Editor). This creates the Assembly-CSharp-Editor-firstpass.csproj project. Phase 3: All other scripts that are not inside a folder called Editor. This creates the Assembly-CSharp.csproj project. Phase 4: All remaining scripts (ie, the ones that are inside any other folder called Editor, ex /Assets/Editor or /Assets/Foo/Editor). This creates the Assembly-CSharp-Editor.csproj project. There are a couple other less used folders that aren’t covered here, like Resources. What about the pending question of what is the compiler using? Is it .NET? Is it Mono? Is it .Net for Windows Runtime? Is it .NET for Windows Phone Runtime? The following table lists the defaults of what is used for compilation. This is important to know, especially for WinRT based applications because the API available per platform varies.
  4. Matt to add overview image (completed picture with descriptions on it) Zombie Pumpkin Slayers
  5. Add collider code
  6. Key delivery point: Our market execution and reach is delivering results: growth in customers, developers, and apps. In partnership with OEMs, mobile operators and developers, we are building a healthy 3rd mobile ecosystem that is delivering real gains for partners. Note: these numbers are the combined Windows and Windows Phone Stores. The top row are absolute numbers showing momentum in apps, users, developers and Store sales via mobile operator billing. The second row shows percentage growth over a year ago April. The bottom row is selected, specific proof points for each of the columns, including a list of recent apps launched. MO billing is called out because of its importance to both our developers and customers, by expanding payment options, particularly in parts of the world where credit card penetration is low. Developers make 3x more revenue on paid apps in MO billing-enabled developed markets, and up to 8x in key emerging markets such as Mexico. We’ve enabled MO billing in 36 markets to date. Top New Apps featured: Star Wars: Tiny Death Star, Frozen Free Fall, Kincectimals Unleashed, Beats Music, Facebook Messenger, eHarmony, Bad Piggies, CNET, Alaska Airlines, Spider-Man 2
  7. Trial is recommended for paid model. Especially with games Maximizes download exposure and leads to higher purchase conversion Set via the developer dashboard – managed by the platform Time-based or feature-based 3 day trial – user will be prompted to purchase after 3 days Limit the features in the game until the user purchases Make it clear in the app description