public static bool LoadDataFromFile() { if (!File.Exists(filePath)) { return(false); } List <Component> components = new List <Component>(); for (int i = 0; i < SceneManager.sceneCount; i++) { var scene = SceneManager.GetSceneAt(i); foreach (var rootGameObject in scene.GetRootGameObjects()) { components.AddRange(rootGameObject.GetComponentsInChildren <Component>()); } } localFileIDToInstanceID = new Dictionary <int, int>(components.Count); foreach (var component in components) { var id = GetID(component); if (id != 0) { localFileIDToInstanceID.Add(id, component.GetInstanceID()); } } var rec = JsonUtility.FromJson <Recording>(File.ReadAllText(filePath)); List <FrameInfo> frameRecords = new List <FrameInfo>(); foreach (var frameData in rec.FrameInfos) { frameRecords.Add(FrameInfo.FromJson(frameData)); } GameDebuggerDatabase.FrameRecords = frameRecords; return(true); }