Source Control
Wonderland Engine projects were designed to integrate well with any source control and is most frequently used with git.
Since the project files are JSON based, they can be merged by hand. Make sure to remove trailing commas on the final elements of objects and lists!
UUIDs
To avoid conflicts for resources IDs of new objects, you can make the editor generate UUIDs instead of short and readible sequential ids:
Views > Project Settings > Editor > ids (set to uuid
).
.gitignore
The following is a best practice .gitignore
file.
Note that depending on your CI/CD Setup,
you might want to add cache
to reduce how much time is spent compressing
images on less powerful build machines.
Checking in cache
has the added benefit of speeding up the first project
load after cloning the project.
Git LFS
The Git Large File Storage extension can speed up Git operations on your repository, especially since WebXR usually contain large files for 3D assets, textures and audio.
Here are some recommendations to track with git lfs track <extensions>
:
package-lock.json
package-lock.json
stores the exact versions of dependencies currently installed
with your system. When using npm install
that file will be updated to the latest
dependency that matches the constraints given in the package.json
.
You can use npm ci
to install the exact dependency versions from your package-lock.json
.
To have replicable builds, you will want to commit this file.