SlideShare une entreprise Scribd logo
1  sur  36
Optimizing Looney
Tunes WoM for
mobile devices
1
Baldi, Capeletti, Cicanci
Aquiris Game Studio
● Who we are?
● The problems
● Your best friend: Profiler!
● Memory optimization
● CPU optimization
● Best practices for mobile games
Agenda
2
3
AQUIRIS, 12 YEARS
Founded in 2007, the studio has a team of around
80 people, and its mission, since the very beginning, has been on delivering the
best artistic, technical and gameplay quality to the players, developing its own IPs,
or co-developing games with top notch global publishers.
+
Two business units
+
Co-development Proprietary IPs
AQUIRIS has two studios located in Porto Alegre, south of Brazil, inside
a tech park called TecnoPUC, alongside of an University with great
access to talents.
Horizon Chase Turbo is exactly the kind of arcade-inspired racing game the industry
has needed.
HARDCORE GAMER
“
ACCOLADES TRAILER WEBSITE
VIDEO REEL
4
2007
Foundation: the dream
takes off
2008
Pioneers: 1º first brazilian
studio to launch a
Unity game
2009
Crunch Time: +10 projects
in 2 years | Our first Online
Multiplayer
2010
Unity 3.0 Official
Demo | Cartoon Network
Partnership begins
2012
Release of “Dragons: Wild Skies”, the most
played game in CN’s portal of 2012
2013
Ballistic is “Unity Award - Technical
Achievement” Finalist
2011
First Ballistic Prototype,
named Critical Mass, in
partnership with Aeria Games
2014
Cheers! Series A Investment Round | Copa
Toon 2014 one of the best selling game in
Latam
2015
Horizon Chase: World Tour
Multi Awarded Game
+10 MM organic downloads
2016
Cartoon Network Superstar
Soccer: GOAL!, the sequel
of Copa Toon 2014
2017
Ballistic Overkill on Steam
+150k units sold
2018
Looney Tunes:
World of Mayhem
Publishing by Scopely
2018
Horizon Chase Turbo
Steam & PS4 - May
Switch & XBOX - Nov
The problems
5
Problem
Crash due to low memory.
6
Problem
FPS dropped to ZERO on screen
transitions and animations.
7
Problem
Player account with all characters
unlocked is impossible to play.
8
Your best friend:
Profiler!
9
Unity Profiler (Editor)
10
Unity Deep Profiler (Editor)
11
Unity Profiler (iPhone)
12
Xcode Debug
13
Instruments (Allocation tool)
14
Unity Memory Profiler
15
Memory optimization
16
● Not unloading assets
● Duplicated assets loaded
● Texture size and compression
● Quality Settings
Common problems
17
24MB of textures not unloaded
18
Duplicated textures
19
Uncompressed textures
20
Playing with Quality Settings
21
First Time User Experience
22
PvP Battles
23
● Focus on early game features (product KPIs)
● Find the best compression for the platform
○ Android:
■ RGB: ETC Crunched (50% Quality)
■ RGBA: ETC2 Compressed e ASTC 6x6
○ iOS:
■ RGB e RGBA: ASTC 6x6
● Budget for assets (memory, file size, draw calls)
● Cache pool (even for Lists, Dictionaries, and so on)
More optimizations
24
CPU optimization
25
● Frameworks and APIs
● Loading too many objects in one frame
● Not caching variables and data
● Large scenes with many objects
Common problems
26
● Do not use
○ Find()
○ FindWithTag()
○ FindGameObjectsWithTag()
Frameworks and APIs
● Avoid using
○ LINQ
○ Awake()
○ GetComponent()
○ SetActive()
27
Character collection load is distributed between 22 frames.
Loading too many objects in one frame
28
Not caching variables and data
29
Loading characters data from data provider
Not caching variables and data
30
Caching its data
Large scenes with many objects
31
● Keep draw calls at a lower rate
● Use threads for parallel operations (Coroutines run in the main thread)
● Keep the class constructor simple
● Review the third party plugins performance as well
32
More optimizations
Best practices for
mobile games
33
● Always use the profiler to validate you hypothesis
● Profiling on Unity Editor is different than profiling on mobile devices
● Collect metrics to analyse and compare with previous data
● Prioritize the test on low end devices
● Avoid early optimizations
Takeouts
34
We are hiring!
● Senior Game Programmer (Unity)
● Backend Programmer
● Producer
● Senior Game Designer (Free2Play)
https://www.aquiris.com.br/work-with-us
35
Thank you.
36

Contenu connexe

Tendances

BitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven rendererBitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven renderer
tobias_persson
 

Tendances (20)

Unite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsUnite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platforms
 
How we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters AdventureHow we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters Adventure
 
Built for performance: the UIElements Renderer – Unite Copenhagen 2019
Built for performance: the UIElements Renderer – Unite Copenhagen 2019Built for performance: the UIElements Renderer – Unite Copenhagen 2019
Built for performance: the UIElements Renderer – Unite Copenhagen 2019
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
 
Mobile Performance Tuning: Poor Man's Tips And Tricks
Mobile Performance Tuning: Poor Man's Tips And TricksMobile Performance Tuning: Poor Man's Tips And Tricks
Mobile Performance Tuning: Poor Man's Tips And Tricks
 
Practical Guide for Optimizing Unity on Mobiles
Practical Guide for Optimizing Unity on MobilesPractical Guide for Optimizing Unity on Mobiles
Practical Guide for Optimizing Unity on Mobiles
 
Game Engine Architecture
Game Engine ArchitectureGame Engine Architecture
Game Engine Architecture
 
Design your 3d game engine
Design your 3d game engineDesign your 3d game engine
Design your 3d game engine
 
Decima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero DawnDecima Engine: Visibility in Horizon Zero Dawn
Decima Engine: Visibility in Horizon Zero Dawn
 
【Unite 2017 Tokyo】Unity最適化講座 ~スペシャリストが教えるメモリとCPU使用率の負担最小化テクニック~
【Unite 2017 Tokyo】Unity最適化講座 ~スペシャリストが教えるメモリとCPU使用率の負担最小化テクニック~【Unite 2017 Tokyo】Unity最適化講座 ~スペシャリストが教えるメモリとCPU使用率の負担最小化テクニック~
【Unite 2017 Tokyo】Unity最適化講座 ~スペシャリストが教えるメモリとCPU使用率の負担最小化テクニック~
 
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
 
Introduction to GPU Programming
Introduction to GPU ProgrammingIntroduction to GPU Programming
Introduction to GPU Programming
 
BitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven rendererBitSquid Tech: Benefits of a data-driven renderer
BitSquid Tech: Benefits of a data-driven renderer
 
Gamebryo LightSpeed(English)
Gamebryo LightSpeed(English)Gamebryo LightSpeed(English)
Gamebryo LightSpeed(English)
 
Unity Optimization Tips, Tricks and Tools
Unity Optimization Tips, Tricks and ToolsUnity Optimization Tips, Tricks and Tools
Unity Optimization Tips, Tricks and Tools
 
Rendering Techniques for Augmented Reality and a Look Ahead at AR Foundation
Rendering Techniques for Augmented Reality and a Look Ahead at AR FoundationRendering Techniques for Augmented Reality and a Look Ahead at AR Foundation
Rendering Techniques for Augmented Reality and a Look Ahead at AR Foundation
 
Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill) Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill)
 
Windows game development with Unity 5
Windows game development with Unity 5Windows game development with Unity 5
Windows game development with Unity 5
 
Future Directions for Compute-for-Graphics
Future Directions for Compute-for-GraphicsFuture Directions for Compute-for-Graphics
Future Directions for Compute-for-Graphics
 
Gpu Systems
Gpu SystemsGpu Systems
Gpu Systems
 

Similaire à Optimizing Unity games for mobile devices

Chrome game programming_with_for_play
Chrome game programming_with_for_playChrome game programming_with_for_play
Chrome game programming_with_for_play
firenze-gtug
 
Chrome game programming_with_for_play
Chrome game programming_with_for_playChrome game programming_with_for_play
Chrome game programming_with_for_play
firenze-gtug
 

Similaire à Optimizing Unity games for mobile devices (20)

Овчаренко Євген “Відеоігри це ефективність”
Овчаренко Євген “Відеоігри це ефективність”Овчаренко Євген “Відеоігри це ефективність”
Овчаренко Євген “Відеоігри це ефективність”
 
Chrome game programming_with_for_play
Chrome game programming_with_for_playChrome game programming_with_for_play
Chrome game programming_with_for_play
 
Chrome game programming_with_for_play
Chrome game programming_with_for_playChrome game programming_with_for_play
Chrome game programming_with_for_play
 
Knock Knock on GameDev Gate
Knock Knock on GameDev GateKnock Knock on GameDev Gate
Knock Knock on GameDev Gate
 
Knock knock on GameDev gateway! - Introduction to Game development
Knock knock on GameDev gateway! - Introduction to Game developmentKnock knock on GameDev gateway! - Introduction to Game development
Knock knock on GameDev gateway! - Introduction to Game development
 
Unity - Now with free mobile development! - Timo Kallaste
Unity - Now with free mobile development! - Timo KallasteUnity - Now with free mobile development! - Timo Kallaste
Unity - Now with free mobile development! - Timo Kallaste
 
Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011Delta Engine @ CeBit 2011
Delta Engine @ CeBit 2011
 
GDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloudGDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloud
 
Castle Game Engine and the joy of making and using a custom game engine
Castle Game Engine and the joy  of making and using a custom game engineCastle Game Engine and the joy  of making and using a custom game engine
Castle Game Engine and the joy of making and using a custom game engine
 
How to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudHow to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the Cloud
 
Game Development Overview - Novice Chapter 1
Game Development Overview - Novice Chapter 1Game Development Overview - Novice Chapter 1
Game Development Overview - Novice Chapter 1
 
Cross-Platform Game Engine
Cross-Platform Game EngineCross-Platform Game Engine
Cross-Platform Game Engine
 
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...
 
Matching Game Mechanics and Human Computation Tasks in Games with a Purpose
Matching Game Mechanics and Human Computation Tasks in Games with a PurposeMatching Game Mechanics and Human Computation Tasks in Games with a Purpose
Matching Game Mechanics and Human Computation Tasks in Games with a Purpose
 
Matching Game Mechanics and Human Computation Tasks in Games with a Purpose
Matching Game Mechanics and Human Computation Tasks in Games with a PurposeMatching Game Mechanics and Human Computation Tasks in Games with a Purpose
Matching Game Mechanics and Human Computation Tasks in Games with a Purpose
 
Lecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingLecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR Programming
 
I Develop Videogames
I Develop VideogamesI Develop Videogames
I Develop Videogames
 
DevSecCon Boston 2018: Busted computing by Conor Walsh
DevSecCon Boston 2018: Busted computing by Conor WalshDevSecCon Boston 2018: Busted computing by Conor Walsh
DevSecCon Boston 2018: Busted computing by Conor Walsh
 
Game Development with Unity3D 5 in Bandung, Indonesia
Game Development with Unity3D 5 in Bandung, IndonesiaGame Development with Unity3D 5 in Bandung, Indonesia
Game Development with Unity3D 5 in Bandung, Indonesia
 
DEF CON 24 - Allan Cecil and DwangoAC - tasbot the perfectionist
DEF CON 24 - Allan Cecil and DwangoAC -  tasbot the perfectionistDEF CON 24 - Allan Cecil and DwangoAC -  tasbot the perfectionist
DEF CON 24 - Allan Cecil and DwangoAC - tasbot the perfectionist
 

Plus de Bruno Cicanci

Plus de Bruno Cicanci (10)

Design Patterns in Game Programming
Design Patterns in Game ProgrammingDesign Patterns in Game Programming
Design Patterns in Game Programming
 
It's all about the game
It's all about the gameIt's all about the game
It's all about the game
 
Game Jams - Como fazer um jogo em 48 horas
Game Jams - Como fazer um jogo em 48 horasGame Jams - Como fazer um jogo em 48 horas
Game Jams - Como fazer um jogo em 48 horas
 
Design Patterns na Programação de Jogo
Design Patterns na Programação de JogoDesign Patterns na Programação de Jogo
Design Patterns na Programação de Jogo
 
Programação de Jogos - Design Patterns
Programação de Jogos - Design PatternsProgramação de Jogos - Design Patterns
Programação de Jogos - Design Patterns
 
It’s all about the game
It’s all about the gameIt’s all about the game
It’s all about the game
 
Desenvolvimento de Jogos com Corona SDK
Desenvolvimento de Jogos com Corona SDKDesenvolvimento de Jogos com Corona SDK
Desenvolvimento de Jogos com Corona SDK
 
Desenvolvimento de jogos com Cocos2d-x
Desenvolvimento de jogos com Cocos2d-xDesenvolvimento de jogos com Cocos2d-x
Desenvolvimento de jogos com Cocos2d-x
 
TDC 2012 - Desenvolvimento de Jogos Mobile
TDC 2012 - Desenvolvimento de Jogos MobileTDC 2012 - Desenvolvimento de Jogos Mobile
TDC 2012 - Desenvolvimento de Jogos Mobile
 
Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011
Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011
Desenvolvimento de Jogos Para Dispositivos Móveis - UFRJ - GECOM2011
 

Dernier

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Optimizing Unity games for mobile devices

  • 1. Optimizing Looney Tunes WoM for mobile devices 1 Baldi, Capeletti, Cicanci Aquiris Game Studio
  • 2. ● Who we are? ● The problems ● Your best friend: Profiler! ● Memory optimization ● CPU optimization ● Best practices for mobile games Agenda 2
  • 3. 3 AQUIRIS, 12 YEARS Founded in 2007, the studio has a team of around 80 people, and its mission, since the very beginning, has been on delivering the best artistic, technical and gameplay quality to the players, developing its own IPs, or co-developing games with top notch global publishers. + Two business units + Co-development Proprietary IPs AQUIRIS has two studios located in Porto Alegre, south of Brazil, inside a tech park called TecnoPUC, alongside of an University with great access to talents. Horizon Chase Turbo is exactly the kind of arcade-inspired racing game the industry has needed. HARDCORE GAMER “ ACCOLADES TRAILER WEBSITE VIDEO REEL
  • 4. 4 2007 Foundation: the dream takes off 2008 Pioneers: 1º first brazilian studio to launch a Unity game 2009 Crunch Time: +10 projects in 2 years | Our first Online Multiplayer 2010 Unity 3.0 Official Demo | Cartoon Network Partnership begins 2012 Release of “Dragons: Wild Skies”, the most played game in CN’s portal of 2012 2013 Ballistic is “Unity Award - Technical Achievement” Finalist 2011 First Ballistic Prototype, named Critical Mass, in partnership with Aeria Games 2014 Cheers! Series A Investment Round | Copa Toon 2014 one of the best selling game in Latam 2015 Horizon Chase: World Tour Multi Awarded Game +10 MM organic downloads 2016 Cartoon Network Superstar Soccer: GOAL!, the sequel of Copa Toon 2014 2017 Ballistic Overkill on Steam +150k units sold 2018 Looney Tunes: World of Mayhem Publishing by Scopely 2018 Horizon Chase Turbo Steam & PS4 - May Switch & XBOX - Nov
  • 6. Problem Crash due to low memory. 6
  • 7. Problem FPS dropped to ZERO on screen transitions and animations. 7
  • 8. Problem Player account with all characters unlocked is impossible to play. 8
  • 11. Unity Deep Profiler (Editor) 11
  • 17. ● Not unloading assets ● Duplicated assets loaded ● Texture size and compression ● Quality Settings Common problems 17
  • 18. 24MB of textures not unloaded 18
  • 21. Playing with Quality Settings 21
  • 22. First Time User Experience 22
  • 24. ● Focus on early game features (product KPIs) ● Find the best compression for the platform ○ Android: ■ RGB: ETC Crunched (50% Quality) ■ RGBA: ETC2 Compressed e ASTC 6x6 ○ iOS: ■ RGB e RGBA: ASTC 6x6 ● Budget for assets (memory, file size, draw calls) ● Cache pool (even for Lists, Dictionaries, and so on) More optimizations 24
  • 26. ● Frameworks and APIs ● Loading too many objects in one frame ● Not caching variables and data ● Large scenes with many objects Common problems 26
  • 27. ● Do not use ○ Find() ○ FindWithTag() ○ FindGameObjectsWithTag() Frameworks and APIs ● Avoid using ○ LINQ ○ Awake() ○ GetComponent() ○ SetActive() 27
  • 28. Character collection load is distributed between 22 frames. Loading too many objects in one frame 28
  • 29. Not caching variables and data 29 Loading characters data from data provider
  • 30. Not caching variables and data 30 Caching its data
  • 31. Large scenes with many objects 31
  • 32. ● Keep draw calls at a lower rate ● Use threads for parallel operations (Coroutines run in the main thread) ● Keep the class constructor simple ● Review the third party plugins performance as well 32 More optimizations
  • 34. ● Always use the profiler to validate you hypothesis ● Profiling on Unity Editor is different than profiling on mobile devices ● Collect metrics to analyse and compare with previous data ● Prioritize the test on low end devices ● Avoid early optimizations Takeouts 34
  • 35. We are hiring! ● Senior Game Programmer (Unity) ● Backend Programmer ● Producer ● Senior Game Designer (Free2Play) https://www.aquiris.com.br/work-with-us 35