Index
A
- Ahead-Of-Time (AOT) / The compilation process
- Android Debug Bridge (ADB) tool / Remote connection to an Android device
- animation files
- about / Mesh and animation files
- API history page
- URL / Useful links
- approaches,performance analysis
- about / Best approaches to performance analysis
- script presence, verifying / Verifying script presence
- script count, verifying / Verifying script count
- ongoing code changes, minimizing / Minimizing ongoing code changes
- internal distractions, minimizing / Minimizing internal distractions
- external distractions, minimizing / Minimizing external distractions
- artefacts / Manage resolution downscaling externally
- attributes
- variable attributes / Variable attributes
- class attributes / Class attributes
- audio
- about / Audio
- files, loading / Loading audio files
- profiling / Profiling audio
- formats, encoding / Encoding formats and quality levels
- quality levels, encoding / Encoding formats and quality levels
- performance enhancements / Audio performance enhancements
- Audio Clips / The Audio Area
- audio files
- loading / Loading audio files
- additional loading options / Additional loading options
- Audio Mixers
- audio performance enhancements
- about / Audio performance enhancements
- active Audio Source count, minimizing / Minimize active Audio Source count
- Audio Clip references, minimizing / Minimize Audio Clip references
- force, enabling to Mono for 3D sounds / Enable Force to Mono for 3D sounds
- lower frequencies, resampling / Resample to lower frequencies
- encoding formats, considering / Consider all encoding formats
- streaming, preventing / Beware of streaming
- filter effects, applying / Apply Filter effects through Mixer groups to reduce duplication
- WWW.audioClip, using / Use "WWW.audioClip" responsibly
- Audio Module files, considering for background music / Consider Audio Module files for background music
- Audio Sources / The Audio Area
B
- back end bottlenecks
- about / Back end bottlenecks
- fill rate / Fill rate
- memory bandwidth / Memory bandwidth
- VRAM limits / VRAM limits
- boxing / Boxing
- brute force testing / Brute force testing
C
- cache component
- references / Cache Component references
- obtaining, with fastest method / Obtaining Components using the fastest method
- caveats, Static Batching
- about / Static Batching caveats
- Edit Mode debugging / Edit Mode debugging of Static Batching
- static meshes instantiation at runtime, avoiding / Avoiding instantiating static meshes at runtime
- rendering / Visibility and rendering
- visibility / Visibility and rendering
- Cg standard library functions
- Closures / Closures
- code segments, targeted profiling
- about / Targeted profiling of code segments
- Profiler script control / Profiler script control
- custom CPU Profiling / Custom CPU Profiling
- Collision Matrix / The Collision Matrix
- CommandBuffer
- URL / Multithreaded rendering
- Common Intermediate Language (CIL) / The Mono platform
- Common Language Runtime (CLR) / The Mono platform
- compilation process, Mono platform
- about / The compilation process
- manual JIT compilation / Manual JIT compilation
- complex Mesh Colliders
- avoiding / Avoid complex Mesh Colliders
- simpler primitives, using / Use simpler primitives
- simpler Mesh Colliders, using / Use simpler Mesh Colliders
- ragdolls, optimizing / Optimizing ragdolls
- Joints and colliders, reducing / Reduce Joints and Colliders
- inter-ragdoll collisions, avoiding / Avoid inter-ragdoll collisions
- inactive ragdolls, disabling / Disable or remove inactive ragdolls
- inactive ragdolls, removing / Disable or remove inactive ragdolls
- controls, Unity Profiler window
- about / Controls, CPU Area
- Add Profiler / Controls
- Record / Controls
- Deep Profile / Controls
- Profile Editor / Controls
- Active Profiler / Controls
- Clear / Controls
- Frame Selection / Controls
- Timeline View / Controls
- CPU Area / CPU Area
- GPU Area / The GPU Area
- Rendering Area / The Rendering Area
- Memory Area / The Memory Area
- Memory Area, simple mode / The Memory Area
- Memory Area, detailed mode / The Memory Area
- Audio Area / The Audio Area
- Physics 3D/2D Area / The Physics 3D/2D Area
- coroutine
- about / Saving Profiler data
- URL / Saving Profiler data
- using / Update, Coroutines, and InvokeRepeating
- Coroutines / Coroutines
- CPU-bound application
- about / CPU-bound
- multithreaded rendering / Multithreaded rendering
- GPU Skinning / GPU Skinning
- Custom Editors/Menus tips / Custom editors/menus tips
D
- 2D Colliders
- circle / Collider types
- Polygon / Collider types
- box / Collider types
- 3D Colliders
- Mesh Colliders / Collider types
- Capsule / Collider types
- Cylinder / Collider types
- Box / Collider types
- Deferred Shading
- URL / Deferred Shading
- Dispose() method / Custom CPU Profiling
- distance-squared
- considering, over distance / Consider using distance-squared over distance
- Draw Call
- about / Draw Calls
- Render State, modifying / Draw Calls
- Dynamic Batching
- about / Dynamic Batching
- requirements, URL / Dynamic Batching
- vertex attributes / Vertex attributes
- uniform scaling / Uniform scaling
- summary / Dynamic Batching summary
- applying / Dynamic Batching summary
- Dynamic Colliders
- about / Static and Dynamic Colliders
E
- Editor
- hotkey tips / Editor hotkey tips
- about / Editor hotkey tips
- interface tips / Editor interface tips
- empty callback declarations
- removing / Removing empty callback declarations
- Execution Order
- URL / Saving Profiler data
- external tips
- about / External tips
- other tips / Other tips
F
- fill rate, back end bottlenecks
- about / Fill rate
- overdraw / Overdraw
- Occlusion Culling / Occlusion Culling
- shader optimization / Shader optimization
- Shaders intended for mobile platforms, using / Consider using Shaders intended for mobile platforms
- Find() method
- avoiding, at runtime / Avoiding the Find() and SendMessage() methods at runtime
- First In First Out (FIFO) queue / Draw Calls
- FixedUpdate() method / Maximum Allowed Timestep
- Fixed Update Timestep / Physics and time
- foreach loops / The foreach loops
- Forward Rendering
- URL / Forward Rendering
- fragment Shader / Profiling rendering issues
- Frame Debugger / The Frame Debugger
- front-end bottlenecks
- about / Front end bottlenecks
- Level Of Detail (LOD) / Level Of Detail
- GPU Skinning, disabling / Disable GPU Skinning
- tessellation, reducing / Reduce tessellation
G
- GameObject null reference check
- performing / Faster GameObject null reference checks
- game programming patterns
- URL / External tips
- garbage collection, managed memory
- about / Garbage collection
- memory fragmentation / Memory fragmentation
- at runtime / Garbage collection at runtime
- threaded Garbage collection / Threaded garbage collection
- tactics / Garbage collection tactics
- Garbage Collector
- main thread / Threaded garbage collection
- finalizer thread / Threaded garbage collection
- global messaging system
- about / A global messaging system
- globally accessible object / A globally accessible object
- registration / Registration
- message processing / Message processing
- implementing / Implementing the messaging system
- message, queuing / Message queuing and processing
- message, processing / Message queuing and processing
- custom message, implementing / Implementing a custom message
- message registration / Message registration
- message, sending / Message sending
- message cleanup / Message cleanup
- wrapping up / Wrapping up the messaging system
- GPU Profiling / GPU profiling
- greedy methods / CPU Area
H
- heap / Managed memory
- hotkey tips, Editor
- about / Editor hotkey tips
- GameObjects / GameObjects
- Scene View / Scene View
- arrays / Arrays
- interface / Interface
- Unity keyword, accessing / Other
I
- immutable Reference types
- strings / Strings are immutable Reference types
- about / Strings are immutable Reference types
- string concatenation / String concatenation
- inter-object communication issue
- static class approach / Static classes
- Singleton Components / Singleton Components
- references, assigning to pre-existing objects / Assigning references to pre-existing objects
- global messaging system / A global messaging system
- interface tips, Editor
- about / Editor interface tips
- general / General
- Inspector View / The Inspector View
- Project View / The Project View
- Hierarchy View / The Hierarchy View
- Scene View / The Scene and Game Views
- Game View / The Scene and Game Views
- Play Mode / Play Mode
- Intermediate Language To C++ (IL2CPP)
- about / The future of Mono and Unity
- URL / The future of Mono and Unity
- InvokeRepeating
- IsAlive property / Message cleanup
- issue
- focusing on / Focusing on the issue
J
- Just-In-Time (JIT) / The compilation process
L
- Level Of Detail (LOD)
- about / Level Of Detail
- URL / Level Of Detail
- Lighting and Shadowing
- about / Lighting and Shadowing
- URL / Lighting and Shadowing
- Forward Rendering / Forward Rendering
- Deferred Shading / Deferred Shading
- Vertex Lit Shading (legacy) / Vertex Lit Shading (legacy)
- real-time Shadows / Real-time Shadows
- lighting optimization
- about / Lighting optimization
- appropriate Shading Mode, using / Use the appropriate Shading Mode
- Culling Masks, using / Use Culling Masks
- lightmapping, using / Use Baked Lightmaps
- shadows, optimizing / Optimize Shadows
M
- Managed Domain / Unity memory domains
- Managed Heap / Managed memory
- mass values
- URL / Mass
- Materials
- about / Materials and Shaders
- Maximum Allowed Timestep / Maximum Allowed Timestep
- adjusting / Adjust the Maximum Allowed Timestep
- meaningless data (noise)
- reducing / Reducing noise
- memory bandwidth, back end bottlenecks
- about / Memory bandwidth
- less texture data, using / Use less texture data
- GPU Texture Compression formats, testing / Test different GPU Texture Compression formats
- texture sampling, minimizing / Minimize texture sampling
- assets organization, for reducing texture swaps / Organize assets to reduce texture swaps
- memory usage optimization
- about / Memory usage optimization
- Unity memory domains / Unity memory domains
- value types / Value types and Reference types
- reference types / Value types and Reference types
- passing by value / Pass by value and pass by reference
- data layout / The importance of data layout
- Unity API / The Unity API
- foreach loops / The foreach loops
- Coroutines / Coroutines
- Closures / Closures
- .NET library functions / .NET library functions
- temporary work buffers / Temporary work buffers
- object pooling / Object pooling
- mesh
- about / Mesh and animation files
- Mesh Collider
- concave / Collider types
- convex / Collider types
- mobile graphics optimization
- about / Optimizing graphics for mobile
- Draw Calls, minimizing / Minimize Draw Calls
- Material Count, minimizing / Minimize the Material count
- texture size, minimizing / Minimize texture size and Material count
- power-of-2, creating / Make textures square and power of 2
- Textures square, creating / Make textures square and power of 2
- lowest possible precision formats, using in Shaders / Use the lowest possible precision formats in Shaders
- Alpha Testing, allowing / Avoid Alpha Testing
- Mono
- about / The Mono platform
- future / The future of Mono and Unity
- URL / The future of Mono and Unity
- MonoBehaviour Unity documentation
- Mono platform
- about / The Mono platform
- compilation process / The compilation process
N
- .NET
- .NET library functions / .NET library functions
- name property
- retrieving, avoiding / Avoid retrieving string properties from GameObjects
- Native Domain / Unity memory domains
- Nested Coroutines
- URL / Useful links
O
- OnGUI() method / Loading Profiler data
- Operating System (OS) / The Mono platform
- Order of Execution
- URL / Physics and time
- overdraw / Fill rate
P
- pass by reference / Pass by value and pass by reference
- passing by value / Pass by value and pass by reference
- performance-enhancing techniques
- polygon count, reducing / Reducing polygon count
- necessary data, importing / Import/calculate only what's needed
- necessary data, calculating / Import/calculate only what's needed
- baked animations, considering / Consider baked animations
- Optimize Meshes option / Let Unity optimize meshes
- meshes, combining / Combine meshes
- performance analysis
- approaches / Best approaches to performance analysis
- Physics Engine internals / Physics and time
- about / Physics Engine internals
- time / Physics and time
- physics / Physics and time
- Fixed Update loop / The Fixed Update loop
- Maximum Allowed Timestep / Maximum Allowed Timestep
- physics updates / Physics updates and runtime changes
- runtime changes / Physics updates and runtime changes
- Dynamic Colliders / Static and Dynamic Colliders
- Static Colliders / Static and Dynamic Colliders
- collision detection / Collision detection
- Collider types / Collider types
- Collision Matrix / The Collision Matrix
- Rigidbody active state / Rigidbody active and sleeping states
- Rigidbody sleeping states / Rigidbody active and sleeping states
- ray casting / Ray and object casting
- object casting / Ray and object casting
- physics performance optimizations
- about / Physics performance optimizations
- scene setup / Scene setup
- Static Colliders, using / Use Static Colliders appropriately
- Collision Matrix, optimizing / Optimize the Collision Matrix
- discrete collision detection, preferring / Prefer discrete collision detection
- FixedUpdate frequency, modifying / Modify the FixedUpdate frequency
- Maximum Allowed Timestep, adjusting / Adjust the Maximum Allowed Timestep
- cast and bounding-volume checks, minimizing / Minimize cast and bounding-volume checks
- complex Mesh Colliders, avoiding / Avoid complex Mesh Colliders
- physics objects, allowing to sleep / Let physics objects sleep
- Solver Iteration Count, modifying / Modify Solver Iteration Count
- ragdolls, optimizing / Optimizing ragdolls
- physics, using / Know when to use physics
- upgrading, to Unity 5 / Consider upgrading to Unity 5
- polygon count
- reducing / Reducing polygon count
- Tweak Mesh Compression / Tweaking Mesh Compression
- Read-Write Enabled flag, using / Use Read-Write Enabled appropriately
- prefab pooling
- about / Prefab pooling, Prefab pools
- Poolable Component / Poolable Components
- system requirements / The Prefab pooling system
- object spawning / Object spawning
- instance prespawning / Instance prespawning
- object despawning / Object despawning
- testing / Prefab pool testing
- and scene loading / Prefab pooling and Scene loading
- summary / Prefab pooling summary
- Procedural Materials
- about / Procedural Materials
- URL / Procedural Materials
- Profiler.enableBinaryLog method / Saving and loading Profiler data
- Profiler.enabled method / Saving and loading Profiler data
- Profiler.logFile method / Saving and loading Profiler data
- Profiling and Analysis
R
- Reference types
- about / Value types and Reference types
- arrays / Arrays are Reference types
- reflection / Manual JIT compilation
- rendering issues
- profiling / Profiling rendering issues
- rendering issues, profiling
- GPU Profiling / GPU profiling
- Frame Debugger / The Frame Debugger
- brute force testing / Brute force testing
- CPU-bound / CPU-bound
- Reorderable Lists
- about / Custom editors/menus tips
- URL / Custom editors/menus tips
- rigidbody property / Obtaining Components using the fastest method
- RuntimeHelpers.PrepareMethod() method / Manual JIT compilation
S
- scene setup
- about / Scene setup
- scaling / Scaling
- positioning / Positioning
- mass values / Mass
- ScriptableObjects
- URL / Useful links
- scripting tips
- about / Scripting tips
- general / General
- attributes / Attributes
- logging / Logging
- useful links / Useful links
- SendMessage() method
- avoiding, at runtime / Avoiding the Find() and SendMessage() methods at runtime
- Shader
- about / Materials and Shaders
- Shaders, intended for mobile platforms
- using / Consider using Shaders intended for mobile platforms
- small data types, using / Use small data types
- changing precision, avoiding / Avoid changing precision while swizzling
- swizzling / Avoid changing precision while swizzling
- GPU-optimized helper functions, using / Use GPU-optimized helper functions
- unnecessary features, disabling / Disable unnecessary features
- unnecessary input data, removing / Remove unnecessary input data
- necessary variables, exposing / Only expose necessary variables
- mathematical complexity, reducing / Reduce mathematical complexity, Reduce texture lookups
- conditional statements, avoiding / Avoid conditional statements
- data dependencies, reducing / Reduce data dependencies
- Surface Shaders / Surface Shaders
- Shader-based LOD, using / Use Shader-based LOD
- Shadow Cascades feature
- URL / Optimize Shadows
- skinning / GPU Skinning
- Sparse Texturing
- about / Sparse Textures
- URL / Sparse Textures
- spherical harmonics / Forward Rendering
- stack / Managed memory
- Static Batching
- about / Static Batching
- requirements / Static Batching
- Static flag / The Static flag
- memory requirements / Memory requirements
- Material references / Material references
- caveats / Static Batching caveats
- summary / Static Batching summary
- Static Colliders
- about / Static and Dynamic Colliders
- using / Use Static Colliders appropriately
T
- tag property
- retrieving, avoiding / Avoid retrieving string properties from GameObjects
- temporary work buffers / Temporary work buffers
- Texture / Texture files
- texture files
- about / Texture files
- compression formats / Compression formats
- performance enhancements / Texture performance enhancements
- texture performance enhancements
- about / Texture performance enhancements
- file size, reducing / Reduce Texture file size
- Mip Maps, using / Use Mip Maps wisely
- resolution downscaling, managing / Manage resolution downscaling externally
- Anisotropic Filtering levels, adjusting / Adjust Anisotropic Filtering levels
- atlasing, considering / Consider Atlasing
- compression rates for non-square textures, adjusting / Adjust compression rates for non-square Textures
- Sparse Texturing / Sparse Textures
- Procedural Materials / Procedural Materials
- the MSDN C# Programming Guide
- URL / Registration
- Total Allocated block / Threaded garbage collection
- Transform changes
- caching / Consider caching Transform changes
U
- Unity
- Unity 3D / The Unity Profiler
- Unity 5.0 / The Unity Profiler
- Unity API / The Unity API
- Unity documentation
- URL / Consider Atlasing
- Unity Editor
- profiling / Editor profiling
- reflection, URL / Custom editors/menus tips
- Unity Editor;about / The Unity Profiler
- Unity memory domains
- about / Unity memory domains
- native memory / Native memory
- managed memory / Managed memory
- Unity Profiler
- about / The Unity Profiler, Understanding the Profiler
- launching / Launching the Profiler
- Unity Editor / Editor or standalone instances
- Standalone Instances / Editor or standalone instances
- Unity Webplayer connection, connecting / The Unity Webplayer connection
- connecting, to iOS device / Remote connection to an iOS device
- connecting, to Android device / Remote connection to an Android device
- window / The Profiler window
- Unity Profiler data
- Unity Profiler window
- about / The Profiler window
- controls / Controls
- Unity roadmap
- Unity Webplayer / Launching the Profiler
- UnloadAudioData() method / Additional loading options
- unused scripts and objects
- disabling / Disabling unused scripts and objects
- disabling, by visibility / Disabling objects by visibility
- disabling, by distance / Disabling objects by distance
V
- value types
- about / Value types and Reference types
- structs / Structs are Value types
- Vertical Sync (VSync) / Minimizing internal distractions
- Visual Studio
- URL / External tips
- Visual Studio Tools for Unity (VSTU) / Other
- VRAM limits, back end bottlenecks
- about / VRAM limits
- texture preloading / Texture preloading
- texture thrashing / Texture thrashing