| Abstract [eng] |
The work addresses a challenge in analyzing and maintaining Unity-based projects that often lack systematic documentation. Due to the distributed nature of Unity project data across various components and files, such projects can become difficult to understand and manage, especially for new team members. One of the most important aspects for quickly grasping a project’s logic is understanding the relationships between scenes, which can be represented through scene navigation diagrams. However, these diagrams are rarely created, and most existing analysis tools are not adapted to Unity’s specific architecture or are not integrated into its development environment. The aim of this thesis is to facilitate the analysis and understanding of Unity projects by using code analysis for scene navigation visualization. In this thesis a methodology for automatically generating scene navigation diagrams from Unity projects using static code analysis was proposed. The thesis introduces a methodology that forms the basis for a Unity extension capable of extracting and visualizing scene transitions. The generated diagram is based on state diagram principles and illustrates the scenes and the navigational flow between them. Experimental evaluations showed that the tool can detect scenes and most standard scene transitions, particularly when standard development practices are followed. The efficiency of the tool may vary depending on the developers’ programming styles; however, the proposed algorithm can be extended to support broader use cases. A user survey revealed that developers with less Unity experience rated the tool more positively, and belief in the benefits of visualization tools strongly correlated with favorable evaluations of the tool. This suggests the solution is particularly valuable for less experienced developers or teams working on poorly documented Unity projects. |