Import projects to WVS

This page shows you how to import your existing projects into WVS so that you can use WVS as a source control platform and take advantage of WVS features. If you use Perforce or Plastic, you can sync your Perforce or Plastic project to WVS instead of importing it.

You can import projects that are stored in the following locations:

  • Local directory on your workstation.
  • Local Git repository.
  • GitHub repository.
  • Other version control systems, such as Subversion, Bitbucket, and GitLab.

The high-level process for importing your projects is as follows:

flowchart LR; id1[Prepare your project for import] --> id2[Import your project]; id2 --> id3[Validate the imported project];

Prepare your project for import

To prepare your project for importing into WVS, delete any unneeded files so they’re not included in the import. WVS, like any Git-based version control system, maintains a history of all project changes, including adding, deleting, and updating files. Deleting the unneeded files after they’re imported into WVS means that the deleted files are still maintained in the history of the WVS project and consume storage space.

Remove the following from your project:

  • Temporary files, such as *.bak and *.tmp files.
  • Build and intermediate directories, such as Intermediate, Build, and obj directories.
  • .git directories.
  • .gitignore or .gitattribute files, unless you understand the implications of including them.
  • Symbolic links.

Import your project

The method for importing your project differs based on the location where your project is stored.

Local directory

To import a project in a local directory on your workstation, perform the following steps:

  1. In a terminal window, navigate to the directory of your project, for example:

    C:\wvsProjects\ShooterGame
    
  2. Import the project by running the following command:

    wvs project import --name "PROJECT_NAME"
    

    Replace PROJECT_NAME with the name that you want to give to your WVS project.

    Depending on the size of your project, the import may take some time to complete.

  3. Push your imported files to your WVS repository by running the following command:

    wvs project push

The command creates a WVS project with the following default configurations and imports your project files into it:

  • Project template: The command detects whether the project you’re importing is an Unreal or Unity project and selects the appropriate project template to use.
  • Project URL: Your WVS username.
  • Project slug: my-project.
  • Visibility level: Private.

After your WVS project is created and your project files are imported, you can change these configurations in the WVS Web Client.

Here is a short video to help walk you through it.



Local Git repository

To import an interactive project from a local Git repository, you must ensure that the project is correctly configured for Git LFS in the .gitattributes file. Interactive projects contain binary files that need to be recognized as such and have file locking enabled so that multiple users don’t try to edit them at the same time. If your project’s LFS configuration is not present, incomplete, or incorrect, it will be difficult to correct after your project is imported.

If your project is correctly configured for LFS and you want to import your repository and its history, please contact WVS support for further instructions. Otherwise, we recommend that you fetch the current state of your local Git repository into a directory and import the project as you would from a local directory. (Add anchor link.)

GitHub Repository

CAUTION: When importing a project from a GitHub repository, the same concerns regarding the correct Git LFS configuration apply. However, because GitHub places limitations on the size of non-LFS files, the chances that your project is correctly configured for LFS are greater.

To import a project from a GitHub repository, perform the following steps:

  1. Go to the WVS projects dashboard.

  2. Click the New project button.
  3. Click Import from GitHub.
  4. Generate a personal access token in GitHub and paste it into the Personal access token field.
  5. Next to the GitHub repository that you want to import, click Import.

Other version control systems

If your project is located in another version control system, such as Subversion, Perforce, or Plastic, you can check out a snapshot of the project’s current data into a local directory on your workstation. Then, you can import the project into WVS as you would from a local directory. (Add link.)

Validate the import

After your interactive project is imported into WVS, you need to verify the following:

  • All critical project files were imported.
  • No temporary files or directories used by the game engine editor were imported.

Ensure all required files are imported

To ensure that all required files are imported into your WVS repository, clone your project to a new directory and try to open the new clone in the game engine editor. If the game engine editor has a problem reading the project, that means one or more critical files were not imported.

  1. Create a new directory to clone your imported project to. This directory needs to be completely empty.
  2. In a terminal window, navigate to the new directory.
  3. Clone your imported project by running the following command:

    wvs project clone –sshUrl SSH_URL
    

    Replace SSH_URL with the SSH URL of your project. You can copy the SSH URL of your project by performing the following steps:

    1. Go to your project home page.
    2. Click Clone.
    3. Copy the URL under Clone with SSH.
    4. In your game engine editor, open or load the newly cloned project.

      Ensure that you don’t make any changes to the project.

If the game engine editor has a problem reading the project, that means one or more critical files were not imported. This omission could be caused by one of the following reasons:

  • The files were missing from the import directory. Check if the files exist in the import directory. If it doesn’t, you need to add the files to the WVS project.
  • The files were excluded from the import by the .gitignore file. Try to add the missing file to the WVS project. If the client ignores it, you need to modify the .gitignore file before you can add the file.

Check if unneeded files are imported

  1. Exit the engine editor without making changes.
  2. Check whether there are any pending changes. You can do this by creating a changelist and checking if any file changes are being registered.

If the changelist detects changes, it likely means that temporary files or directories used by the game engine were included in the import. These files or directories need to be deleted from the WVS project and added to the .gitignore file to prevent them from being added in the future.

Use a “diffing” tool to triage import issues

If you are having difficulty identifying the reason why your newly cloned project is not working as expected, we recommended using a “diffing” tool to check the differences between your original import directory and the newly cloned project directory. There are several diffing tools available, such as Beyond Compare, that can help you uncover data discrepancies.

Next steps