# Sandbox.Scene.ISceneEditorSession

- Kind: interface
- Assembly: `Sandbox.Engine`
- Modifiers: abstract

## Properties

- [`HasUnsavedChanges`](/api/Sandbox.Scene.ISceneEditorSession/HasUnsavedChanges): True if this scene has unsaved changes
- [`Scene`](/api/Sandbox.Scene.ISceneEditorSession/Scene): The scene for this session
- [`SelectedGameObject`](/api/Sandbox.Scene.ISceneEditorSession/SelectedGameObject): If we have any gameobjects selected, return the first one
- [`Selection`](/api/Sandbox.Scene.ISceneEditorSession/Selection): Selection system for this session
- [`TransientFilesystem`](/api/Sandbox.Scene.ISceneEditorSession/TransientFilesystem): Get the filesystem in which temporary files can be created. These files can be used (and shipped) by a package, but won't be stored in source control. This is usually used for files that are expected to be re-generated at runtime by the package itself.

## Methods

- [`AddSelectionUndo`](/api/Sandbox.Scene.ISceneEditorSession/AddSelectionUndo): You have changed the editor's selection, add a new undo entry
- [`AddUndo`](/api/Sandbox.Scene.ISceneEditorSession/AddUndo): Add a new undo entry
- [`FrameTo`](/api/Sandbox.Scene.ISceneEditorSession/FrameTo)
- [`GetSceneFolder`](/api/Sandbox.Scene.ISceneEditorSession/GetSceneFolder): Get the folder for this scene. This is a folder in which we can store assets that are referenced by this scene. Things like envmap textures, lightmaps, baked data, etc.
- [`GetSelection`](/api/Sandbox.Scene.ISceneEditorSession/GetSelection): Gets the current selection from the editor
- [`OnEditLog`](/api/Sandbox.Scene.ISceneEditorSession/OnEditLog)
- [`RecordChange`](/api/Sandbox.Scene.ISceneEditorSession/RecordChange): Tell undo about this property change
- [`Save`](/api/Sandbox.Scene.ISceneEditorSession/Save): Save this scene to disk
- [`UndoScope`](/api/Sandbox.Scene.ISceneEditorSession/UndoScope)
