DetectLeaks

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
m (LeakDetection moved to DetectLeaks: Gave article name the same name as the class to help with searching / finding it)
(C# - DetectLeaks: Added materials leak check (it was happening to me...))
Line 24: Line 24:
 
GUILayout.Label("AudioClips " + FindObjectsOfTypeAll(typeof(AudioClip)).Length);
 
GUILayout.Label("AudioClips " + FindObjectsOfTypeAll(typeof(AudioClip)).Length);
 
GUILayout.Label("Meshes " + FindObjectsOfTypeAll(typeof(Mesh)).Length);
 
GUILayout.Label("Meshes " + FindObjectsOfTypeAll(typeof(Mesh)).Length);
 +
GUILayout.Label("Materials " + FindObjectsOfTypeAll(typeof(Material)).Length);
 
GUILayout.Label("GameObjects " + FindObjectsOfTypeAll(typeof(GameObject)).Length);
 
GUILayout.Label("GameObjects " + FindObjectsOfTypeAll(typeof(GameObject)).Length);
 
GUILayout.Label("Components " + FindObjectsOfTypeAll(typeof(Component)).Length);
 
GUILayout.Label("Components " + FindObjectsOfTypeAll(typeof(Component)).Length);

Revision as of 01:45, 7 March 2009

Author: Joachim Ante

Description

This script will displays the number of alloctated unity objects by type. This is useful for finding leaks. Knowing the type of object (mesh, texture, sound clip, game object) that is getting leaked is the first step. You could then print the names of all leaked assets of that type.


C# - DetectLeaks

The script _must_ be named DetectLeaks.cs <csharp> using UnityEngine; using System.Collections;

public class DetectLeaks : MonoBehaviour {

void OnGUI () { GUILayout.Label("All " + FindObjectsOfTypeAll(typeof(UnityEngine.Object)).Length); GUILayout.Label("Textures " + FindObjectsOfTypeAll(typeof(Texture)).Length); GUILayout.Label("AudioClips " + FindObjectsOfTypeAll(typeof(AudioClip)).Length); GUILayout.Label("Meshes " + FindObjectsOfTypeAll(typeof(Mesh)).Length); GUILayout.Label("Materials " + FindObjectsOfTypeAll(typeof(Material)).Length); GUILayout.Label("GameObjects " + FindObjectsOfTypeAll(typeof(GameObject)).Length); GUILayout.Label("Components " + FindObjectsOfTypeAll(typeof(Component)).Length); } } </csharp>

Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox