Skip to main content
Skip table of contents

Use source control in Engine - Pixotope Asset Hub plugin

The Asset Hub provides built-in version control and syncing, which is essential for larger projects and when working across teams.

Learn more about Pixotope Asset Hub and how to Sync projects in Director

With the Pixotope Asset Hub Engine plugin

  • version control and syncing can be done from within the Engine

  • while eliminating the need for complex third-party version control systems

In the current release of the plugin not all Asset Hub features are included. For the following actions go to Director > Synced Storage:

  • See a more detailed change list

  • Revert to a previous commit

Setup

  1. Make sure your project is stored in Synced Storage

Learn more about how to setup synced projects

  1. Launch a level in Editor

    • Pixotope Asset Hub plugin is enabled by default

Launching a level in Editor will automatically toggle Auto-pull off.

  1. Open the content browser and check the states of your files

    • The icon in the top left corner indicates the state of this file

    • Hovering over the file displays more details

      Screenshot 2025-03-06 at 09.36.55.png

Basic workflow

Making an initial push

If not already done, make an initial push to commit your project to the Asset Hub repository.

  1. Access the Pixotope Asset Hub menu via

    • the Tools panel (only global actions are available)

      Screenshot 2025-03-06 at 09.47.09.png

    • OR by right clicking a file (all actions are available)

      Screenshot 2025-03-06 at 09.47.40.png

  2. Click "Push all changes"

Editing files

  • Adding or deleting a file is registered as a change

  • Modifying an existing file will registered as change once they are saved

After adding or creating a new file, you might have to click "Refresh" for the changes to be picked up.

Pushing all changes

When files have changed, it is indicated by the orange arrow.

image-20250306-110656.png
  1. Click "Push all changes" in the Pixotope Asset Hub menu

Pushing individual changes

  1. Right click one or more files and go to the Pixotope Asset Hub menu

  2. Click "Push this file’s changes"

It is good practice to push often. Smaller pushes

  • create more recovery points

  • reduce conflict risk

  • improve team collaboration

Pushing from the Synced storage panel in Director will allow you to add a comment to your push.

Collaboration workflows

Pull others changes

Once a user on another machine pushes their changes, all connected machines can pull them. This is indicated on the individual files by the blue arrow.

image-20250306-110505.png
  1. Click "Pull all changes" in the Pixotope Asset Hub menu

The changed files are hot reloaded.

In case of unsaved changes while reloading, you are asked to confirm. Clicking "No" will not reload the listed packages.

Screenshot 2025-03-06 at 10.43.11.png

Pull a specific file

  1. Right click the files

  2. Click "Pull copy" in the Pixotope Asset Hub menu

This doesn’t get this machine in sync, but gets only the latest changes for the selected files.

Locking files

You can lock files to avoid syncing conflicts and prevent others to make changes to files which you are currently working on. This is indicated by the lock icon (locked by you) or the avatar (locked by others)

image-20250306-110816.png
image-20250306-110936.png

This lock is a soft lock which means that locked files can be unlocked by anyone at anytime!

  • It was designed to avoid accidentally editing files which others are working on

  • It does not prevent willingly overriding locks

It relies on team communication and cooperation rather than strict technical restrictions.

  1. Select the files you want to lock

  2. Right click them and click "Lock" in the Pixotope Asset Hub menu

    Screenshot 2025-03-06 at 09.56.02.png

  3. The files are now locked by you

    Screenshot 2025-03-06 at 09.56.29.png

Unlocking files

Once you are done editing

  1. Select the files and

    • Push changes

    • OR Discard unpushed changes…

  2. Then click "Unlock"

Force unlocking files

In some cases, people forget to unlock which can be a critical blocker for others. In this case

  1. Select the files you want to force unlock

  2. Right click them and click "Force unlock" in the Pixotope Asset Hub menu

    Screenshot 2025-03-06 at 10.45.25.png

The changes to the files themselves stay untouched.

Discarding local changes

In case you unintentionally changed files or there are conflicts you can

  1. Click "Discard unpushed changes…" in the Pixotope Asset Hub menu

    • A dialog opens with all changes listed

  2. Check the changes you wish to discard and click "Discard changes"

  3. The files/assets will be reloaded

Reverting to previous versions

  1. Go to Director > Synced Storage > History

  2. Expand the change you wish to revert to and click "Restore this version (local only)"

  3. To push this revision onto all other machines click "Push all changes"

Use with other revision control systems

Pixotope Asset Hub is an independent service/plugin and can therefore be used together with other revision control systems, like Perforce or Git. To set up these third party systems, follow their documentation.

If you mix for example Git and Pixotope Asset Hub, Git files/folders (.git) can be pushed/pulled like any other files (unless they are set to be ignored).

Disable Pixotope Asset Hub plugin

  1. Open the Plugins window

  2. Disable Pixotope Asset Hub plugin

File states and actions

List of file states

Icon

Status

image-20250305-080710.png

In sync

Asset is in sync

image-20250305-081011.png

Changes to pull

Changes to this file are available and can be pulled down from the server

image-20250305-081024.png

Changes to push

This file was changed locally and can be pushede the server

  • Pushing changes with locked files will display a dialog asking if you want to keep changed files locked after pushing or not.

    • If Yes, only files with changes to push will be unlocked (if you have a locked file with no changes, it will stay locked)

image-20250305-081039.png

Potential conflicts

Potential conflicts may occur

  • If you have local changes, but there are new changes available to pull form the server, Pull changes will store your change locally in a conflict file

  • If you have local changes, but there are new changes available to pull form the server, Push changes will overwrite the server’s changes

image-20250305-081119.png

Locked by you

This file is locked locally

  • Hovering will show timestamp

  • Other users will not be able to push changes made to this file while it is locked

image-20250305-081136.png

Locked by others

Another user has locked this file

  • Hovering will show machine name & timestamp

image-20250305-081608.png

File exists outside of Synced Storage and needs to be moved into Synced Storage to be revision controlled

List of actions

Action

Result

Notes

Pull all changes

  1. Pulls all available changes from the server

  2. Hot reloads the files/assets

Pull copy

  1. Downloads a copy of the changed file(s)

Will lead to a potential conflict

  • push changes will overwrite server version

  • pull changes will make your local changes into a conflict file

Push all changes

  1. Pushes all your local changes to the server repo

  2. If pushing locked files, it will ask if you want to unlock them

If this action is unavailable, yet you have local changes present, click "Refresh"

Push this/these file’s changes

  1. Pushes the local changes of the selected files

Lock

  1. Designates files as "yours", so no other user can push changes while you work on them

Unlock

  1. Returns locked files into the general pool for all users to edit

  • Only the user who locked the file can unlock it

Force unlock

  1. Forces back locked files into the general pool for all users to edit

  • Any changes not pushed will become local changes on the machine with the original lock

Discard unpushed changes…

  1. Opens dialog with all local changes to de/select which ones to discard

Refresh

  1. Rescans the Asset Hub server for any changes available to push or pull

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.