Thanks for being a part of WWDC25!

How did we do? We’d love to know your thoughts on this year’s conference. Take the survey here

Unwanted file changes in Reality Composer Pro project when using Git

Hello,

I'm working on a visionOS project that uses Reality Composer Pro, and we are managing our project files with Git.

We've noticed that simply opening and closing the Reality Composer Pro application consistently generates changes in the following files, even when no explicit modifications have been made by the developer:

  • {ProjectName}/Packages/RealityKitContent/Package.realitycomposerpro/PluginData/*******/ShaderGraphEditorPluginID/ShaderGraphEditorPluginID
  • {ProjectName}/Packages/RealityKitContent/Package.realitycomposerpro/WorkspaceData/SceneMetadataList.json

Could you please clarify the purpose of these files? Why do they appear as modified when no direct changes are made from our end?

More importantly, is it safe to add these files to our .gitignore to prevent them from being tracked by Git? We are concerned that ignoring these files might lead to unexpected issues or inconsistencies when other team members pull the latest changes, especially if these files contain critical project metadata or state that needs to be synchronized.

Any insights or recommended best practices for managing Reality Composer Pro projects with Git would be greatly appreciated.

Thank you for your time and assistance.

Answered by Vision Pro Engineer in 844274022

Hi @u_kudo

The purpose of these files is to store user session specific metadata, so you can generally add them to your .gitignore!

One slight exception is SceneMetadataList.json, which not only contains information about which objects in the hierarchy are expanded, but also information about which objects in the hierarchy are locked. If you aren't utilizing the object locking feature in Reality Composer Pro then I would strongly recommend ignoring this file to avoid conflicts with team members, but if you do make use of the object locking feature in a way that necessitates sharing which objects are locked across your team you may want to continue tracking this file.

Accepted Answer

Hi @u_kudo

The purpose of these files is to store user session specific metadata, so you can generally add them to your .gitignore!

One slight exception is SceneMetadataList.json, which not only contains information about which objects in the hierarchy are expanded, but also information about which objects in the hierarchy are locked. If you aren't utilizing the object locking feature in Reality Composer Pro then I would strongly recommend ignoring this file to avoid conflicts with team members, but if you do make use of the object locking feature in a way that necessitates sharing which objects are locked across your team you may want to continue tracking this file.

Unwanted file changes in Reality Composer Pro project when using Git
 
 
Q