Scene Fusion Workflow Guide

1. Scene Fusion works best when used along side source control such as Git or Perforce. Before you begin, all users should checkout the same version of your project from source control.

2. Choose one user to open the level you will be collaborating on and start the session. Once the session is started, all other users should join it. Users may join mid-session and they will see all changes to the level that were made before they joined.

3. When editing is finished all users should leave the session. Choose one user to save the level and commit it to source control. The session will shutdown automatically after no users have been connected for 5 minutes.

Stand-in Assets

A stand-in asset is used when an asset is referred to that cannot be found in your project. If the asset is an actor or component class or blueprint, the actor or component stand-in will have a question-mark icon in the details panel and the world outliner. The details panel will show the name of the missing class or path of the missing blueprint in the Sf Missing Actor of Sf Missing Component category. For other kinds of assets, the property referencing the missing asset in the details panel will say "Missing_[type of asset]+[path to asset]+[sub asset name]". Missing mesh assets will render as translucent boxes with question marks matching the dimensions of the missing mesh. If, during a session, the missing asset becomes available, by pulling from source control or compiling code to get a new class or any other means, all references to the stand-in for that asset will be automatically replaced with the correct asset.

If you have any missing assets, the Online panel will display a warning with the number of missing assets. Clicking it opens the missing assets panel where you can see the paths to the missing assets. If you get the missing asset by pulling source control or other means, the path will disappear from the missing assets panel.

A typical workflow for creating a new asset mid-session is as follows:

  • A user creates a new asset and adds it to the level. All other users get a stand-in for this asset.
  • The user commits the asset to source control and informs the other users that the asset is available.
  • The other users pull the asset from source control and the stand-in assets are replaced with the new asset.

Source code changes

Scene Fusion is tolerant of UProperty differences between different versions of the same class. If another user has a different version of a class than you that has UProperties that your version does not have, Scene Fusion will sync the values for the UProperties you have and ignore the ones you do not. You will see warnings in the log if someone edits the value of a UProperty you do not have. You will not see warnings if the UProperty is never changed from its default value. If, during a session, you pull the code changes from source control that add the new UProperties and recompile, Scene Fusion will sync the values of those UProperties.

  • A user makes code changes that changes the UProperties of a class.
  • The user commits the code changes to source control and informs the other users of the code changes.
  • The other users pull the code changes from source control and recompile. The new UProperties are synced.

KinematicSoup