> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/scene-fusion/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/scene-fusion/api-reference/ks.scenefusion.client.unity.editor.md).

# KS.SceneFusion.Client.Unity.Editor

### Classes

[AssetSorter](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.assetsorter.md)

IComparer for sorting assets first by type then by name.

[sfUI.Delegates](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfui/ks.scenefusion.client.unity.editor.sfui.delegates.md)

Scene Fusion UI delegates.

[sfConfig.LogSettings](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfig/ks.scenefusion.client.unity.editor.sfconfig.logsettings.md)

[sfConfig.NetworkSettings](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfig/ks.scenefusion.client.unity.editor.sfconfig.networksettings.md)

Network timeout and receive buffer settings

[sfConfig.PerformanceSettings](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfig/ks.scenefusion.client.unity.editor.sfconfig.performancesettings.md)

[sfFeedback.Question](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sffeedback/ks.scenefusion.client.unity.editor.sffeedback.question.md)

Feedback question

[SceneFusion](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.scenefusion.md)

Scene Fusion entry point. Does initialization and runs the update loop.

[sfTerrainEditor.ToolCategories](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfterraineditor/ks.scenefusion.client.unity.editor.sfterraineditor.toolcategories.md)

[sfTerrainEditor.Tools](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfterraineditor/ks.scenefusion.client.unity.editor.sfterraineditor.tools.md)

[sfConfig.UISettings](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfig/ks.scenefusion.client.unity.editor.sfconfig.uisettings.md)

Icon, widget offsets and online indicator toggle.

[sfConfig.URLConfigs](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfig/ks.scenefusion.client.unity.editor.sfconfig.urlconfigs.md)

URLs

[sfActivityIndicator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfactivityindicator.md)

Spinning activity indicator for the scene view.

[sfAnnotationUtils](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfannotationutils.md)

Utils class to check if a game object has a component with an icon in the scene view.

[sfAssetPathTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfassetpathtranslator.md)

Manages syncing of asset paths and handles notifications for missing assets. Each asset referenced that isn't synced by another translator gets an asset path sfObject containing the asset path, guid, and for subassets, the file id. The guid and file id are used for offline missing asset replacement. References to the asset are synced as sfReferenceProperties referencing the asset path object. This allows us to find all synced references to an asset, as well as track when new references are added or removed which we use for missing asset notifications.

[sfAssetTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfassettranslator.md)

[sfBaseTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfbasetranslator.md)

Base class for handling object events.

[sfBaseUObjectTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfbaseuobjecttranslator.md)

Base class for translators that sync UObject properties using Unity's serialization system.

[sfBaseUndoOperation](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfbaseundooperation.md)

Base class for syncing an undo operation. Undo operations are recorded on our custom undo stack by calling sfUndoManager.Get().Record(sfIUndoOperation). When the operation is undone or redone, the corresponding method is called on the operation to sync the changes.

[sfBuiltInAssetsLoader](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfbuiltinassetsloader.md)

Helper class to load all assets of a given type.

[sfCameraManager](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfcameramanager.md)

Class that holds references to last active cameras.

[sfChecksum](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfchecksum.md)

Utility class for computing a checksum from a Unity object's serialized properties or an [sfBaseProperty](/scene-fusion/api-reference/ks.scenefusion/ks.scenefusion.sfbaseproperty.md). Only syncable serialized properties are used to compute the checksum. References to non-asset Unity objects will have the same checksum as a null reference.

[sfComponentFinder](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfcomponentfinder.md)

Provides a method of finding components on a game object by their type name. Each component can only be returned once. This is used to get components by name when linking components with sfObjects. Each component is returned once to prevent the component from being linked to multiple objects.

[sfComponentTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfcomponenttranslator.md)

Manages syncing of components

[sfComponentUtils](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfcomponentutils.md)

Component utility functions.

[sfConfig](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfig.md)

Scene Fusion config.

[sfConfigTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfigtranslator.md)

Syncs config settings that need to be the same for everyone in the session.

[sfDependencySorter\<T>](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfdependencysorter-1.md)

Stores a map of dependencies between elements of type `T`, and provides a method for sorting the elements so all dependencies of A are iterated before A. Elements without dependencies will not be iterated, eg. If A depends on B and C and B depends on D, B will be iterated and then A, but C and D will not because they have no dependencies. Circular dependencies are not allowed.

[sfDependencyTracker](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfdependencytracker.md)

Stores a hard-coded mapping of dependencies between Unity components. Unity does not expose dependencies for their own components.

[sfEventMap\<K, T>](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfeventmap-2.md)

Maps Keys of type K to event handlers of delegate type T.

[sfFeedback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sffeedback.md)

Feedback renderer

[sfFeedbackMenu](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sffeedbackmenu.md)

GUI that displays a list of feedback questions

[sfFileIdUpdater](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sffileidupdater.md)

Overwrites Unity local file ids in a file. Can only be used when serialization mode is ForceText.

[sfGameObjectTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfgameobjecttranslator.md)

Manages syncing of game objects.

[sfGettingStartedWindow](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfgettingstartedwindow.md)

Popup screen with Scene Fusion getting started instructions. This screen will appear when opening unity and the last loaded version and the current version are different or when the show getting started config value is true.

[sfGuidManager](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfguidmanager.md)

Manages generation of guids for game objects, and stores a mapping between game objects and guids. The guids are persistent ids that uniquely identify game objects.

[sfHierarchyWatcher](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfhierarchywatcher.md)

Provides events for handling hierarchy drag operations and prevents the rename box from disappearing when the hierarchy is changed.

[sfIconDrawer](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sficondrawer.md)

Draws icons in the hierarchy and project browser indicating the sync/lock/notification status of objects.

[sfLZWTerrainCompressor](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sflzwterraincompressor.md)

Terrain compressor that uses LZW.

[sfLightingTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sflightingtranslator.md)

Manages syncing of lighting properties.

[sfLocalSession](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sflocalsession.md)

[sfLogFile](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sflogfile.md)

This class is used to write ksLog messages to a log file.

[sfLoginMenu](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfloginmenu.md)

Kinematicsoup Service Login GUI

[sfMaterialAdaptor](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfmaterialadaptor.md)

Syncs referenced materials through the [sfAssetTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfassettranslator.md).

[sfMaterialUtils](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfmaterialutils.md)

Material utility functions.

[sfMissingComponentEditor](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfmissingcomponenteditor.md)

[sfMissingScriptSerializer](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfmissingscriptserializer.md)

Handles serialization and deserialization of missing scripts.

[sfNavigation](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfnavigation.md)

Syncs navigation project settings through the [sfAssetTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfassettranslator.md) if a NavMeshSurface component is synced. Polls for new agents added to the navigation settings because there are no events in Unity we can use for that.

[sfNewPrefabWatcher](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfnewprefabwatcher.md)

Detects and invokes an event for new prefabs created in Unity. Does not detect new prefab files written externally.

[sfNotification](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfnotification.md)

A notification with a message, category and list of uobjects it applies to.

[sfNotificationCategory](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfnotificationcategory.md)

A notification category.

[sfNotificationManager](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfnotificationmanager.md)

Manages notifications that are applied to uobjects.

[sfNotificationWindow](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfnotificationwindow.md)

Editor window that displays notifications in categories. Notifications can be expanded so show all objects effected by the notification, which will be selected when clicked on.

[sfNullTerrainCompressor](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfnullterraincompressor.md)

Null terrain compressor that (de)serializes data without (de)compressing it.

[sfObjectEventDispatcher](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfobjecteventdispatcher.md)

The object event dispatcher listens for object events and calls the corresponding functions on the translator registered for the object's type.

[sfObjectMap](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfobjectmap.md)

Maps sfObjects to uobjects and vice versa.

[sfObjectUtils](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfobjectutils.md)

sfObject utility functions.

[sfOcclusionTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfocclusiontranslator.md)

Manages syncing of occlusion settings. Each scene [sfObject](/scene-fusion/api-reference/ks.scenefusion.client/ks.scenefusion.client.sfobject.md) gets a child [sfObject](/scene-fusion/api-reference/ks.scenefusion.client/ks.scenefusion.client.sfobject.md) containing the occlusion settings for the scene.

[sfOnlineMenu](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfonlinemenu.md)

GUI that shows while connected to a session.

[sfOnlineMenuUI](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfonlinemenuui.md)

SF2 UI for the online menu. Shows notification and object counts.

[sfPackageUpdater](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfpackageupdater.md)

Checks for Scene Fusion package updates and prompts users to apply the update.

[sfPaths](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfpaths.md)

Provides static access to paths used throughout the project.

[sfPrefabEventManager](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfprefabeventmanager.md)

Builds an ObjectChangeEventStream of and an array of UndoPropertyModification for prefabs by listening for change events for prefab stage objects and creating an equivalent event for the prefab object. Invokes the prefab events when the prefab stage is saved. Invokes [OnHierarchyStructureChange](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.md#ks_scenefusion_client_unity_editor_sfunityeventdispatcher_onhierarchystructurechange) when prefabs are imported and we do not know how they were modified, which happens when prefabs files are modified externally or when undoing a prefab stage edit after the prefab stage is closed.

[sfPrefabLocker](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfprefablocker.md)

Prevents saving of prefabs when [AllowSavingPrefabs](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfprefablocker.md#ks_scenefusion_client_unity_editor_sfprefablocker_allowsavingprefabs) is false.

[sfPrefabPreviewScene](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfprefabpreviewscene.md)

Loads a copy of a prefab into a preview scene which allows you to perform edits on the copy that aren't allowed directly on the prefab such as reparenting or unpacking prefab variants, and then save the changes back to the prefab.

[sfPrefabSaver](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfprefabsaver.md)

Provides functions for saving prefabs. Processes imported prefabs to remove [sfMissingPrefab](/scene-fusion/api-reference/ks.scenefusion.client.unity/ks.scenefusion.client.unity.sfmissingprefab.md) components whose path is the same as the prefab's path.

[sfPrefabStageMap](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfprefabstagemap.md)

Maintains a dictionary mapping prefab stage objects to prefab objects. The prefab stage is where you edit a prefab when you open a prefab. The objects in the prefab stage are not the real prefab; they are copies of the prefab objects which we call stage objects. Unity does not provide a mapping between stage objects and prefab objects so we build one ourselves with this class. Only one prefab stage can be active at a time, so we never need to map multiple prefab stages at the same time.

[sfPrefabTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfprefabtranslator.md)

Manages syncing of prefabs created during a session by syncing the prefab file and metafile if [SyncPrefabs](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfig.md#ks_scenefusion_client_unity_editor_sfconfig_syncprefabs) is [CREATE\_ONLY](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfig/ks.scenefusion.client.unity.editor.sfconfig.prefabsyncmode.md).

[sfProp](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfprop.md)

Property names

[sfPropertyManager](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfpropertymanager.md)

Manages syncing of serialized properties. Converts between sfProperties and serialized properties.

[sfPropertyUtils](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfpropertyutils.md)

Utility class for converting between sfProperties and common types.

[sfSceneSaveWatcher](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfscenesavewatcher.md)

Provides pre and post scene save events.

[sfSceneTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfscenetranslator.md)

Manages scene syncing.

[sfSelectionWatcher](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfselectionwatcher.md)

Checks for uobject selection changes and invokes OnSelect and OnDeselect events.

[sfSessionFooterUI](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfsessionfooterui.md)

Singleton for drawing the footer with, version info, upgrade and feedback links at the bottom of the [sfSessionsMenu](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfsessionsmenu.md) and [sfOnlineMenu](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfonlinemenu.md).

[sfSessionsMenu](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfsessionsmenu.md)

GUI that displays the list of available sessions.

[sfTerrainBrush](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfterrainbrush.md)

Terrain brush data.

[sfTerrainBrushTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfterrainbrushtranslator.md)

Renders the terrain brushes from other users and sends terrain brush data for the local user.

[sfTerrainEditor](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfterraineditor.md)

[sfTerrainTranslator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfterraintranslator.md)

Manages syncing of terrain data. The terrain data will be diveded into 64 by 64 regions and synced separately. When a region is modified, the whole region's terrain data will be compressed and sent to the server. The server will keep a copy of the of the data and send it to all other clients without decompressing it.

[sfTextures](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sftextures.md)

Provides access to Scene Fusion texture assets.

[sfType](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sftype.md)

sfObject types

[sfTypeCache](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sftypecache.md)

Maps UnityEngine.Object types strings to types and component type names (without name spaces) to lists of non-abstract types that may be assignable for that type name, with one entry in the list for each component type with the same name but a different namespace. We need this because Unity doesn't include the namespace when it gives us a reference property's type string.

[sfTypeEventMap\<T>](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sftypeeventmap-1.md)

Maps types to event handlers of delegate type T.

[sfTypePropertyNameMap](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sftypepropertynamemap.md)

A map of property type names to sets of property names. For root-level properties, the type is the serialized object type, and for sub properties, it is the type of the container struct/class. Types are stored as string names instead of Types as some types only exist in C++ and all we can get from the serialized property is the type name.

[sfTypedPropertyEventMap\<T>](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sftypedpropertyeventmap-1.md)

Maps property names to sfTypeEventMaps for delegates of type T.

[sfUI](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfui.md)

Scene Fusion UI class.

[sfUndoManager](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfundomanager.md)

Handles syncing of undo/redo operations. Maintains undo and redo stacks that can sync the changes made by each undo operation. Changes made through Unity's serialized property system are automatically detected and recorded on the stack. Other changes must be recorded when detected by translators by calling Record() with a sfBaseUndoOperation.

[sfUndoOcclusionSettingsOperation](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfundoocclusionsettingsoperation.md)

Syncs changes made by an occlusion settings undo operation.

[sfUndoReorderChildrenOperation](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfundoreorderchildrenoperation.md)

Invokes [OnReorderChildren](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.md#ks_scenefusion_client_unity_editor_sfunityeventdispatcher_onreorderchildren) for an undo reorder children operation.

[sfUndoTerrainOperation](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfundoterrainoperation.md)

Syncs changes made by a terrain undo operation.

[sfUndoTerrainTreeOperation](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfundoterraintreeoperation.md)

Syncs changes made by a terrain tree undo operation.

[sfUnityEventDispatcher](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.md)

Listens for and dispatches Unity events, in some cases changing the parameters of the event. Allows all events to be enabled or disabled. Register with this class instead of directly against the Unity events to ensure you do not respond to events that were triggered by Scene Fusion.

[sfUnityUtils](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityutils.md)

Unity utility functions.

[sfUserMaterials](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfusermaterials.md)

Manages user materials.

### Structs

[sfAssetInfo](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfassetinfo.md)

Holds information used to load an asset.

[sfSerializableSessionInfo](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfserializablesessioninfo.md)

Wraps a [sfSerializableSessionInfo](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfserializablesessioninfo.md) and implements ISerializationCallbackReceiver so the session info can be serialized to a byte array that Unity can serialize.

### Interfaces

[sfITerrainCompressor](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfiterraincompressor.md)

Interface for compressing and decompressing terrain data.

### Enums

[sfConfig.EventLoggingFlags](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfig/ks.scenefusion.client.unity.editor.sfconfig.eventloggingflags.md)

Logging flags to control which sfObject events are logged.

[sfGameObjectTranslator.LockType](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfgameobjecttranslator/ks.scenefusion.client.unity.editor.sfgameobjecttranslator.locktype.md)

Lock type

[sfConfig.LogLevel](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfig/ks.scenefusion.client.unity.editor.sfconfig.loglevel.md)

Log level.

[sfConfig.PrefabSyncMode](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfig/ks.scenefusion.client.unity.editor.sfconfig.prefabsyncmode.md)

Prefab sync mode.

[sfLocalSession.ServerState](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sflocalsession/ks.scenefusion.client.unity.editor.sflocalsession.serverstate.md)

Version check results

[sfConfig.ShowTerrainBrushOptions](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfig/ks.scenefusion.client.unity.editor.sfconfig.showterrainbrushoptions.md)

Options for when to show user terrain brushes.

[sfTerrainEditor.States](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfterraineditor/ks.scenefusion.client.unity.editor.sfterraineditor.states.md)

Terrain editor states.

[sfTerrainTranslator.TerrainType](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfterraintranslator/ks.scenefusion.client.unity.editor.sfterraintranslator.terraintype.md)

Terrain type enum.

### Delegates

[sfUnityEventDispatcher.AddOrRemoveComponentsCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.addorremovecomponentscallback.md)

Add or remove components event callback.

[sfUI.Delegates.AllowLeaveSession](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfui/ks.scenefusion.client.unity.editor.sfui.delegates/ks.scenefusion.client.unity.editor.sfui.delegates.allowleavesession.md)

Delegate to check if the user agree to leave the session.

[sfConfig.ChangeHandler\<T>](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfig/ks.scenefusion.client.unity.editor.sfconfig.changehandler-1.md)

Event handler for when a value of type T changes.

[sfNotificationManager.ChangeHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfnotificationmanager/ks.scenefusion.client.unity.editor.sfnotificationmanager.changehandler.md)

Change event handler

[sfUnityEventDispatcher.ClosePrefabStageHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.closeprefabstagehandler.md)

Close prefab stage event handler.

[sfConfigTranslator.ConfigInitializedHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfconfigtranslator/ks.scenefusion.client.unity.editor.sfconfigtranslator.configinitializedhandler.md)

Config synced handler.

[sfUnityEventDispatcher.CreateCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.createcallback.md)

Create game object event callback.

[sfUnityEventDispatcher.CreatePrefabChildCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.createprefabchildcallback.md)

Create prefab child event callback.

[sfUnityEventDispatcher.DeleteCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.deletecallback.md)

Delete game object event callback.

[sfComponentTranslator.DeleteHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfcomponenttranslator/ks.scenefusion.client.unity.editor.sfcomponenttranslator.deletehandler.md)

Callback for when a component is deleted by another user.

[sfSelectionWatcher.DeselectionHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfselectionwatcher/ks.scenefusion.client.unity.editor.sfselectionwatcher.deselectionhandler.md)

Deselection event handler.

[sfHierarchyWatcher.DragCancelHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfhierarchywatcher/ks.scenefusion.client.unity.editor.sfhierarchywatcher.dragcancelhandler.md)

Drag cancel event handler

[sfHierarchyWatcher.DragCompleteHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfhierarchywatcher/ks.scenefusion.client.unity.editor.sfhierarchywatcher.dragcompletehandler.md)

Drag complete event handler

[sfHierarchyWatcher.DragStartHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfhierarchywatcher/ks.scenefusion.client.unity.editor.sfhierarchywatcher.dragstarthandler.md)

Drag start event handler

[sfHierarchyWatcher.DragValidator](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfhierarchywatcher/ks.scenefusion.client.unity.editor.sfhierarchywatcher.dragvalidator.md)

Drag validator.

[sfUI.Delegates.DrawSettings](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfui/ks.scenefusion.client.unity.editor.sfui.delegates/ks.scenefusion.client.unity.editor.sfui.delegates.drawsettings.md)

Delegate to draw the settings.

[sfChecksum.Filter](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfchecksum/ks.scenefusion.client.unity.editor.sfchecksum.filter.md)

Filter for excluding dictionary fields from the checksum.

[sfUI.Delegates.FollowCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfui/ks.scenefusion.client.unity.editor.sfui.delegates/ks.scenefusion.client.unity.editor.sfui.delegates.followcallback.md)

Follow camera callback.

[sfTerrainTranslator.ForEachCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfterraintranslator/ks.scenefusion.client.unity.editor.sfterraintranslator.foreachcallback.md)

Callback to use with terrain region iteration methods.

[sfUnityUtils.ForEachCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityutils/ks.scenefusion.client.unity.editor.sfunityutils.foreachcallback.md)

Callback to use with game object iteration methods.

[sfUI.Delegates.GoToCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfui/ks.scenefusion.client.unity.editor.sfui.delegates/ks.scenefusion.client.unity.editor.sfui.delegates.gotocallback.md)

Go to camera callback.

[sfUnityEventDispatcher.HierarchyStructureChangeCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.hierarchystructurechangecallback.md)

Hierarchy structure change event callback.

[sfObjectEventDispatcher.InitializeHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfobjecteventdispatcher/ks.scenefusion.client.unity.editor.sfobjecteventdispatcher.initializehandler.md)

Initialize handler

[sfComponentTranslator.Initializer](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfcomponenttranslator/ks.scenefusion.client.unity.editor.sfcomponenttranslator.initializer.md)

Callback to initialize a component or sfObject.

[sfPropertyManager.ListChangeCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfpropertymanager/ks.scenefusion.client.unity.editor.sfpropertymanager.listchangecallback.md)

List change callback.

[sfTerrainTranslator.ListPropertyHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfterraintranslator/ks.scenefusion.client.unity.editor.sfterraintranslator.listpropertyhandler.md)

sfListProperty change event handler.

[sfComponentTranslator.LocalDeleteHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfcomponenttranslator/ks.scenefusion.client.unity.editor.sfcomponenttranslator.localdeletehandler.md)

Callback for when a component is deleted locally.

[sfPropertyManager.MissingObjectHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfpropertymanager/ks.scenefusion.client.unity.editor.sfpropertymanager.missingobjecthandler.md)

Missing object reference event handler.

[sfGameObjectTranslator.MissingPrefabHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfgameobjecttranslator/ks.scenefusion.client.unity.editor.sfgameobjecttranslator.missingprefabhandler.md)

Missing prefab asset event handler.

[sfUnityEventDispatcher.ModifyObjectHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.modifyobjecthandler.md)

Modify object event handler.

[sfNewPrefabWatcher.NewPrefabHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfnewprefabwatcher/ks.scenefusion.client.unity.editor.sfnewprefabwatcher.newprefabhandler.md)

New prefab event handler.

[sfGameObjectTranslator.OnLockStateChangeHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfgameobjecttranslator/ks.scenefusion.client.unity.editor.sfgameobjecttranslator.onlockstatechangehandler.md)

Lock state change event handler.

[sfUnityEventDispatcher.OpenPrefabStageHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.openprefabstagehandler.md)

Open prefab stage event handler.

[sfUnityEventDispatcher.ParentChangeCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.parentchangecallback.md)

Parent change event callback.

[sfUnityEventDispatcher.PostModifyPropertiesHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.postmodifypropertieshandler.md)

Post modify properties event handler.

[sfBaseUObjectTranslator.PostPropertyChangeHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfbaseuobjecttranslator/ks.scenefusion.client.unity.editor.sfbaseuobjecttranslator.postpropertychangehandler.md)

Handler for a post property change event.

[sfSceneSaveWatcher.PostSaveHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfscenesavewatcher/ks.scenefusion.client.unity.editor.sfscenesavewatcher.postsavehandler.md)

Post save event handler.

[sfBaseUObjectTranslator.PostUObjectChangeHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfbaseuobjecttranslator/ks.scenefusion.client.unity.editor.sfbaseuobjecttranslator.postuobjectchangehandler.md)

Handler for a post uobject change event.

[sfSceneSaveWatcher.PreSaveHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfscenesavewatcher/ks.scenefusion.client.unity.editor.sfscenesavewatcher.presavehandler.md)

Pre save event handler.

[sfSessionsMenu.PreSessionChecker](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfsessionsmenu/ks.scenefusion.client.unity.editor.sfsessionsmenu.presessionchecker.md)

Callback before starting or joining a session.

[sfSceneTranslator.PreUploadSceneHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfscenetranslator/ks.scenefusion.client.unity.editor.sfscenetranslator.preuploadscenehandler.md)

Preupload scene handler.

[sfUnityEventDispatcher.PropertiesChangedCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.propertieschangedcallback.md)

Properties changed event callback.

[sfBaseUObjectTranslator.PropertyChangeHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfbaseuobjecttranslator/ks.scenefusion.client.unity.editor.sfbaseuobjecttranslator.propertychangehandler.md)

sfProperty change event handler.

[sfTerrainTranslator.PropertySetter](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfterraintranslator/ks.scenefusion.client.unity.editor.sfterraintranslator.propertysetter.md)

Applies an sfBaseProperty to terrain data.

[sfUndoManager.RegisterUndoHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfundomanager/ks.scenefusion.client.unity.editor.sfundomanager.registerundohandler.md)

Register undo handler.

[sfUnityEventDispatcher.ReorderChildrenCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.reorderchildrencallback.md)

Reorder children event callback.

[sfFileIdUpdater.ReplaceHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sffileidupdater/ks.scenefusion.client.unity.editor.sffileidupdater.replacehandler.md)

Replace handler.

[sfPropertyManager.SPropertyChangeHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfpropertymanager/ks.scenefusion.client.unity.editor.sfpropertymanager.spropertychangehandler.md)

Serialized property change event handler.

[sfUnityEventDispatcher.SavePrefabStageHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.saveprefabstagehandler.md)

Save prefab stage event handler.

[sfTerrainEditor.SceneGUIHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfterraineditor/ks.scenefusion.client.unity.editor.sfterraineditor.sceneguihandler.md)

Handler for pre and post scene gui events.

[sfSelectionWatcher.SelectionHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfselectionwatcher/ks.scenefusion.client.unity.editor.sfselectionwatcher.selectionhandler.md)

Selection event handler.

[sfGettingStartedWindow.SessionWindowOpener](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfgettingstartedwindow/ks.scenefusion.client.unity.editor.sfgettingstartedwindow.sessionwindowopener.md)

Delegate to open the session window.

[sfSessionsMenu.SyncChecker](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfsessionsmenu/ks.scenefusion.client.unity.editor.sfsessionsmenu.syncchecker.md)

Callback for checking if a game object can be synced. Used for counting the number of syncable game objects in open scenes.

[sfUnityEventDispatcher.TerrainCheckCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.terraincheckcallback.md)

Terrain check event handler.

[sfUnityEventDispatcher.TerrainDetailChangedCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.terraindetailchangedcallback.md)

Terrain detail change event handler.

[sfUnityEventDispatcher.TerrainTreeChangedCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.terraintreechangedcallback.md)

Terrain tree change event handler.

[sfUI.Delegates.UnfollowCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfui/ks.scenefusion.client.unity.editor.sfui.delegates/ks.scenefusion.client.unity.editor.sfui.delegates.unfollowcallback.md)

Unfollow camera callback.

[sfUnityEventDispatcher.UpdateHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.updatehandler.md)

Update event handler.

[sfUnityEventDispatcher.UpdatePrefabInstanceCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.updateprefabinstancecallback.md)

Update prefab instance callback.

[sfUnityEventDispatcher.UpdatePrefabInstancesHandler](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityeventdispatcher/ks.scenefusion.client.unity.editor.sfunityeventdispatcher.updateprefabinstanceshandler.md)

Update prefab instances event handler.

[sfUI.Delegates.ViewportGetter](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfui/ks.scenefusion.client.unity.editor.sfui.delegates/ks.scenefusion.client.unity.editor.sfui.delegates.viewportgetter.md)

Delegate for getting the viewport rect from a scene view.

[sfUnityUtils.WithActiveSceneCallback](/scene-fusion/api-reference/ks.scenefusion.client.unity.editor/ks.scenefusion.client.unity.editor.sfunityutils/ks.scenefusion.client.unity.editor.sfunityutils.withactivescenecallback.md)

Callback to use with WithActiveScene.
