Scylla Framework
  • API Reference
Search Results for

    Show / Hide Table of Contents
    • Scylla.Core
      • Char
      • FileLog
      • ILogReceiver
      • IScyllaDependencyProvider
      • Log
      • LogCategory
      • LogEntry
      • LogFileFormat
      • LogLevel
      • Num
      • ScyllaAAMode
      • ScyllaAAQuality
      • ScyllaBootstrap
      • ScyllaCore
      • ScyllaCore.Meta
      • ScyllaDependencyInfoData
      • ScyllaMaterialSurface
      • ScyllaRenderPipeline
      • ScyllaShadowResolution
      • Str
      • TextAlignment
      • UnityConsoleLog
    • Scylla.Core.Attributes
      • AttributeValidator
      • CompareOperator
      • ConditionalAttributeBase
      • DisableIfAttribute
      • DisplayNameAttribute
      • EnableIfAttribute
      • FoldoutAttribute
      • FormerlySerializedAsAttribute
      • GroupAttribute
      • HideIfAttribute
      • HideInFilterWindowAttribute
      • HorizontalLineAttribute
      • InfoBoxAttribute
      • InfoType
      • LayerFieldAttribute
      • MinMaxRangeAttribute
      • MonoTextAreaAttribute
      • NotEmptyAttribute
      • NotNullAttribute
      • ReadOnlyAttribute
      • ReflectedTypeAttribute
      • RequiredAttribute
      • SceneFieldAttribute
      • ShowIfAttribute
      • SortingLayerFieldAttribute
      • TagFieldAttribute
      • TitleAttribute
      • ValidateInputAttribute
      • ValidationException
    • Scylla.Core.Config
      • ConfigFileManager
      • ConfigurationRegistry
      • ConfigurationSlotAttribute
      • ConfigurationValidationResult
      • ConsoleLoggingSettings
      • FileLogFormattingSettings
      • FileLoggingSettings
      • IConfigurationRegistry
      • ScyllaConfiguration
      • ScyllaCoreConfiguration
      • ScyllaEventConfiguration
      • ScyllaLoggerConfiguration
      • ValidationSeverity
    • Scylla.Core.Editor
      • CalendarDefinitionEditor
      • ClockDefinitionEditor
      • ColorGradientAssetEditor
      • ColorGradientReducer
      • ColorPaletteAssetEditor
      • DebugCameraEditor
      • DebugEventMonitor
      • DependencySourceType
      • DependencyStatus
      • EventFilterCategory
      • EventLogEntry
      • GameViewCapture
      • IScyllaShaderProvider
      • ScyllaAboutWindow
      • ScyllaBootstrapEditor
      • ScyllaCard
      • ScyllaConfigurationEditorBase
      • ScyllaCopyMenu
      • ScyllaCoreConfigurationEditor
      • ScyllaCoreDependencyProvider
      • ScyllaCoreShaderProvider
      • ScyllaDebugWindow
      • ScyllaDependencyDetector
      • ScyllaDependencyGraphElement
      • ScyllaDependencyInfo
      • ScyllaDescriptionBox
      • ScyllaEditorAssetUtil
      • ScyllaEditorAssets
      • ScyllaEditorBase
      • ScyllaEditorClipboard
      • ScyllaEditorColors
      • ScyllaEditorConstants
      • ScyllaEditorIconNames
      • ScyllaEditorLogScope
      • ScyllaEditorPrefs
      • ScyllaEditorStyles
      • ScyllaEditorTheme
      • ScyllaEditorUSSClasses
      • ScyllaEventConfigurationEditor
      • ScyllaFontCharacterExtractorWindow
      • ScyllaGettingStartedWindow
      • ScyllaIconPreview
      • ScyllaLoggerConfigurationEditor
      • ScyllaLogoElement
      • ScyllaMenuItems
      • ScyllaModuleEditor
      • ScyllaModuleStatusIndicator
      • ScyllaModuleWindow
      • ScyllaNameField
      • ScyllaPanel
      • ScyllaPresetSelector
      • ScyllaSceneConfigurationEditor
      • ScyllaScheduler
      • ScyllaSearchField
      • ScyllaSearchablePopup
      • ScyllaSearchablePopup.Item
      • ScyllaSettingsProvider
      • ScyllaSetupWizard
      • ScyllaShaderInclusionBuildProcessor
      • ScyllaSplitView
      • ScyllaStatusBar
      • ScyllaTabBar
      • ScyllaTimeConfigurationEditor
      • ScyllaToolWindowBase
      • ScyllaToolbar
      • ScyllaValidatedTextField
      • ScyllaWizardWindowBase
      • ScyllaWizardWindowBase.WizardLayout
      • ScyllaWizardWindowBase.WizardStepDef
    • Scylla.Core.Editor.Attributes
      • AttributeReflectionCache
      • ConditionalDrawerBase
      • DisableIfDrawer
      • EnableIfDrawer
      • FoldoutDrawer
      • HideIfDrawer
      • HorizontalLineDrawer
      • InfoBoxDrawer
      • LayerFieldDrawer
      • MinMaxRangeDrawer
      • MonoTextAreaDrawer
      • ReadOnlyDrawer
      • RequiredDrawer
      • SceneFieldDrawer
      • SerializedPropertyExtensions
      • ShowIfDrawer
      • SortingLayerFieldDrawer
      • TagFieldDrawer
      • TitleDrawer
    • Scylla.Core.Editor.Drawers
      • DoubleRangeDrawer
      • FloatRangeDrawer
      • IntRangeDrawer
    • Scylla.Core.Editor.Util.UI.Layout
      • ScyllaUIEdgeInsetsDrawer
      • ScyllaUILayoutMenuItems
      • ScyllaUILengthDrawer
    • Scylla.Core.Events
      • IScyllaEventBus
      • ScyllaEvent
      • ScyllaEventBus
      • ScyllaEventPriority
      • ScyllaEventSubscription
      • ScyllaEvents
      • ScyllaFrameworkInitializedEvent
      • ScyllaFrameworkShutdownEvent
      • ScyllaModuleShutdownEvent
      • ScyllaModuleStartedEvent
    • Scylla.Core.Modules
      • IScyllaModule
      • IScyllaModuleManager
      • ScyllaModule
      • ScyllaModuleDependency
      • ScyllaModuleDependencyType
      • ScyllaModuleException
      • ScyllaModuleID
      • ScyllaModuleInfo
      • ScyllaModuleManager
      • ScyllaModulePlacement
      • ScyllaModuleState
    • Scylla.Core.Scenes
      • HygieneOverride
      • SceneLoadOperation
      • SceneLoadRunner
      • SceneLoadState
      • ScyllaActiveSceneChangedEvent
      • ScyllaSceneConfiguration
      • ScyllaSceneLoadOptions
      • ScyllaSceneLoadProgressEvent
      • ScyllaSceneLoadedEvent
      • ScyllaSceneManager
      • ScyllaSceneUnloadedEvent
      • ScyllaSceneWillLoadEvent
      • ScyllaSceneWillUnloadEvent
    • Scylla.Core.Settings
      • ScyllaProjectSettings
    • Scylla.Core.Structures
      • FractionalHexCoord
      • GridUtil
      • HexCoord
      • HexCornerCoord
      • HexCornerMap<TData>
      • HexCornerMap<TData>.Enumerator
      • HexCornerPosition
      • HexEdgeCoord
      • HexEdgeDirection
      • HexEdgeMap<TData>
      • HexEdgeMap<TData>.Enumerator
      • HexGridLayout
      • HexLayoutMode
      • HexOrientation
      • IScyllaCollection
      • IScyllaCollection<T>
      • IScyllaGraph
      • IScyllaGrid<TCoord, TCell>
      • IScyllaMap<TKey, TValue>
      • IScyllaMutableGraph
      • IScyllaMutableGraph<TNodeData>
      • IScyllaMutableGraph<TNodeData, TEdgeData>
      • IScyllaPausableState<TContext>
      • IScyllaPriorityQueueItem
      • IScyllaReadOnlyGraph
      • IScyllaReadOnlyGraph<TNodeData>
      • IScyllaReadOnlyGraph<TNodeData, TEdgeData>
      • IScyllaState<TContext>
      • IScyllaTransition<TContext>
      • IScyllaTrie
      • IScyllaTrie<TValue>
      • NeighborWriter<TCoord>
      • ScyllaAABB2
      • ScyllaAABB3
      • ScyllaAdjacencyListGraph
      • ScyllaAdjacencyListGraph.Builder
      • ScyllaAdjacencyListGraph.NodeEnumerator
      • ScyllaAdjacencyListGraph.SynchronizedScyllaAdjacencyListGraph
      • ScyllaAdjacencyListGraph<TNodeData>
      • ScyllaAdjacencyListGraph<TNodeData, TEdgeData>
      • ScyllaBVH
      • ScyllaBVH.Builder
      • ScyllaBVHCore
      • ScyllaBitArray
      • ScyllaBitArray.Builder
      • ScyllaBitArray.Enumerator
      • ScyllaBitArray.SynchronizedScyllaBitArray
      • ScyllaBitArrayDOTS
      • ScyllaBitArrayDOTS.Builder
      • ScyllaBitArrayDOTS.Enumerator
      • ScyllaCSRGraph
      • ScyllaCSRGraph.Builder
      • ScyllaCSRGraph<TNodeData>
      • ScyllaCSRGraph<TNodeData, TEdgeData>
      • ScyllaCollectionCapabilities
      • ScyllaCollectionThreadSafety
      • ScyllaCompositeState<TContext>
      • ScyllaDequeDOTS<T>
      • ScyllaDequeDOTS<T>.Builder
      • ScyllaDeque<T>
      • ScyllaDeque<T>.Builder
      • ScyllaDeque<T>.Enumerator
      • ScyllaDeque<T>.SynchronizedScyllaDeque
      • ScyllaDisjointSet
      • ScyllaDisjointSet.Builder
      • ScyllaDisjointSet.SynchronizedScyllaDisjointSet
      • ScyllaDisjointSetDOTS
      • ScyllaDisjointSetDOTS.Builder
      • ScyllaGenericObjectPool<T>
      • ScyllaGenericObjectPool<T>.Builder
      • ScyllaGenericObjectPool<T>.Enumerator
      • ScyllaGenericObjectPool<T>.SynchronizedScyllaGenericObjectPool
      • ScyllaGraphAlgorithms
      • ScyllaGraphDOTS
      • ScyllaGraphDOTS.Builder
      • ScyllaGraphEdge
      • ScyllaGraphEdge<TEdgeData>
      • ScyllaGraphNode
      • ScyllaGraphNodeFlags
      • ScyllaGraphPath
      • ScyllaGraphProperties
      • ScyllaGraphSearchState
      • ScyllaGridGraphAdapter<TCoord, TCell>
      • ScyllaHexGrid<TCell>
      • ScyllaHexGrid<TCell>.Builder
      • ScyllaHexGrid<TCell>.Enumerator
      • ScyllaHexGrid<TCell>.SynchronizedScyllaHexGrid
      • ScyllaHierarchicalStateMachine<TContext>
      • ScyllaKDTree3
      • ScyllaKDTree3.Builder
      • ScyllaKDTree3Core
      • ScyllaKDTree3Core.Node
      • ScyllaLayeredStateMachine<TContext>
      • ScyllaLooseOctree
      • ScyllaLooseOctree.Builder
      • ScyllaLooseOctreeCore
      • ScyllaLooseOctreeUtil
      • ScyllaLooseOctree<T>
      • ScyllaLooseQuadtree
      • ScyllaLooseQuadtree.Builder
      • ScyllaLooseQuadtreeCore
      • ScyllaLooseQuadtreeUtil
      • ScyllaLooseQuadtree<T>
      • ScyllaMapDOTS<TKey, TValue>
      • ScyllaMapDOTS<TKey, TValue>.Builder
      • ScyllaMapEntry<TKey, TValue>
      • ScyllaMap<TKey, TValue>
      • ScyllaMap<TKey, TValue>.Builder
      • ScyllaMap<TKey, TValue>.Enumerator
      • ScyllaMap<TKey, TValue>.SynchronizedScyllaMap
      • ScyllaObjectPool<T>
      • ScyllaObjectPool<T>.Builder
      • ScyllaObjectPool<T>.Enumerator
      • ScyllaObjectPool<T>.SynchronizedScyllaObjectPool
      • ScyllaPausableStateBase<TContext>
      • ScyllaPriorityQueueDOTS<TValue>
      • ScyllaPriorityQueueDOTS<TValue>.Builder
      • ScyllaPriorityQueueItemComparer<T>
      • ScyllaPriorityQueueNode<TValue>
      • ScyllaPriorityQueueOrder
      • ScyllaPriorityQueue<T>
      • ScyllaPriorityQueue<T>.Builder
      • ScyllaPriorityQueue<T>.Enumerator
      • ScyllaPriorityQueue<T>.SynchronizedScyllaPriorityQueue
      • ScyllaPushdownStateMachine<TContext>
      • ScyllaQuadtreePlane
      • ScyllaQueueDOTS<T>
      • ScyllaQueueDOTS<T>.Builder
      • ScyllaQueue<T>
      • ScyllaQueue<T>.Builder
      • ScyllaQueue<T>.Enumerator
      • ScyllaQueue<T>.SynchronizedScyllaQueue
      • ScyllaRay3
      • ScyllaRingBufferDOTS<T>
      • ScyllaRingBufferDOTS<T>.Builder
      • ScyllaRingBufferDOTS<T>.Enumerator
      • ScyllaRingBufferDOTS<T>.ReverseEnumerable
      • ScyllaRingBufferDOTS<T>.ReverseEnumerator
      • ScyllaRingBuffer<T>
      • ScyllaRingBuffer<T>.Builder
      • ScyllaRingBuffer<T>.Enumerator
      • ScyllaRingBuffer<T>.ReverseEnumerable
      • ScyllaRingBuffer<T>.ReverseEnumerator
      • ScyllaRingBuffer<T>.SynchronizedScyllaRingBuffer
      • ScyllaSparseHexGrid<TCell>
      • ScyllaSparseHexGrid<TCell>.Builder
      • ScyllaSparseHexGrid<TCell>.Enumerator
      • ScyllaSparseHexGrid<TCell>.SynchronizedScyllaSparseHexGrid
      • ScyllaSparseSquareGrid<TCell>
      • ScyllaSparseSquareGrid<TCell>.Builder
      • ScyllaSparseSquareGrid<TCell>.Enumerator
      • ScyllaSparseSquareGrid<TCell>.SynchronizedScyllaSparseSquareGrid
      • ScyllaSparseTriGrid<TCell>
      • ScyllaSparseTriGrid<TCell>.Builder
      • ScyllaSparseTriGrid<TCell>.Enumerator
      • ScyllaSparseTriGrid<TCell>.SynchronizedScyllaSparseTriGrid
      • ScyllaSquareGrid<TCell>
      • ScyllaSquareGrid<TCell>.Builder
      • ScyllaSquareGrid<TCell>.Enumerator
      • ScyllaSquareGrid<TCell>.SynchronizedScyllaSquareGrid
      • ScyllaStackDOTS<T>
      • ScyllaStackDOTS<T>.Builder
      • ScyllaStack<T>
      • ScyllaStack<T>.Builder
      • ScyllaStack<T>.Enumerator
      • ScyllaStack<T>.SynchronizedScyllaStack
      • ScyllaStateBase<TContext>
      • ScyllaStateMachine<TContext>
      • ScyllaTransition<TContext>
      • ScyllaTriGrid<TCell>
      • ScyllaTriGrid<TCell>.Builder
      • ScyllaTriGrid<TCell>.Enumerator
      • ScyllaTriGrid<TCell>.SynchronizedScyllaTriGrid
      • ScyllaTrie
      • ScyllaTrie.Builder
      • ScyllaTrie.SynchronizedScyllaTrie
      • ScyllaTrie<TValue>
      • ScyllaTrie<TValue>.Builder
      • ScyllaTrie<TValue>.SynchronizedScyllaTrie
      • ScyllaTypeMap
      • ScyllaTypeMap.Builder
      • ScyllaTypeMap.DiagnosticEntry
      • ScyllaTypeMap.SynchronizedScyllaTypeMap
      • SerializableDictionary<TKey, TValue>
      • SquareAdjacency
      • SquareCoord
      • SquareCornerCoord
      • SquareCornerMap<TData>
      • SquareCornerMap<TData>.Enumerator
      • SquareDistanceMetric
      • SquareEdgeCoord
      • SquareEdgeDirection
      • SquareEdgeMap<TData>
      • SquareEdgeMap<TData>.Enumerator
      • SquareGridLayout
      • TriCoord
      • TriCornerCoord
      • TriCornerMap<TData>
      • TriCornerMap<TData>.Enumerator
      • TriEdgeCoord
      • TriEdgeDirection
      • TriEdgeMap<TData>
      • TriEdgeMap<TData>.Enumerator
      • TriGridLayout
    • Scylla.Core.Time
      • CalendarDefinition
      • CalendarMath
      • ClockDayChangedEvent
      • ClockDebugInfo
      • ClockDefinition
      • ClockEraChangedEvent
      • ClockEvent
      • ClockEventKind
      • ClockHourChangedEvent
      • ClockMinuteChangedEvent
      • ClockMonthChangedEvent
      • ClockPausedEvent
      • ClockRegisteredEvent
      • ClockResumedEvent
      • ClockSeasonChangedEvent
      • ClockSecondChangedEvent
      • ClockState
      • ClockTickEvent
      • ClockTimeScaleChangedEvent
      • ClockUnregisteredEvent
      • ClockWeekdayChangedEvent
      • ClockYearChangedEvent
      • EraDefinition
      • GameDate
      • IClockListener
      • IClockSource
      • IEraConditionProvider
      • ILocationProfile
      • INetworkTimeSyncStrategy
      • ITimeListener
      • LeapYearRule
      • MasterTimeState
      • MonthDefinition
      • PauseMode
      • ScheduleExtensions
      • ScheduleMode
      • ScheduledTickHandle
      • ScyllaClock
      • ScyllaTime
      • ScyllaTimeConfiguration
      • ScyllaTimeDebugInfo
      • SeasonDefinition
      • SmoothTimeScaleTransition
      • TimeEffectHandle
      • TimeEffects
      • TimeEvent
      • TimeScaleBlendMode
      • TimeScaleModifier
      • TimeScaleModifierHandle
      • TimeScaleModifierStack
      • TimeScaleModifierState
      • TimeTickRunner
      • WeekdayDefinition
    • Scylla.Core.Util
      • ArrayUtil
      • AssemblyUtil
      • CameraUtil
      • CollectionUtil
      • ColorUtil
      • ComponentUtil
      • DateUtil
      • DebugCamera
      • FontUtil
      • FontVariant
      • GameObjectExtensions
      • GameObjectUtil
      • InterfaceUtil
      • Interpolation
      • LightUtil
      • LitMaterialDescriptor
      • ManualResetEventEx
      • MaterialUtil
      • NumberExtensions
      • NumberUtil
      • OptionalPackages
      • PlatformUtil
      • ResourceUtil
      • SpriteUtil
      • StringUtil
      • TabularText
      • TabularText.Builder
      • TestTextGenerator
      • ThreadUtil
      • TimeUtil
      • Timer
      • TransformExtensions
      • TypeUtil
      • UnicodeRange
      • VirtualTransform
    • Scylla.Core.Util.Addressables
      • AddressableErrorCode
      • AddressableException
      • AddressableExtensions
      • AddressableProgress
      • AddressableResult
      • AddressableResult<T>
      • AddressableSettings
      • ManagedAddressableList<T>
      • ManagedAddressable<T>
      • ScyllaAddressables
    • Scylla.Core.Util.Checksum
      • ChecksumAdler32
      • ChecksumCRC16
      • ChecksumCRC32
      • ChecksumFletcher32
      • ChecksumXXHash32
      • ChecksumXXHash64
      • IChecksum
    • Scylla.Core.Util.Compression
      • ArchiveEntryInfo
      • CompressionAlgorithm
      • CompressionErrorCode
      • CompressionException
      • CompressionExtensions
      • CompressionLevel
      • CompressionProgress
      • CompressionResult
      • CompressionResult<T>
      • CompressionSettings
      • IArchiveProvider
      • ICompressionProvider
      • ScyllaCompression
    • Scylla.Core.Util.Crypto
      • CryptoAlgorithm
      • CryptoErrorCode
      • CryptoException
      • CryptoExtensions
      • CryptoSettings
      • ICryptoProvider
      • KeyDerivationHash
      • KeyDerivationSettings
      • ScyllaCrypto
    • Scylla.Core.Util.DebugDraw
      • DebugDraw
      • DebugDrawSpace
      • DebugDrawTextAlign
    • Scylla.Core.Util.Effects
      • ColorAnimationText
      • ColorAnimationTextDirection
      • ColorAnimationTextGradient
    • Scylla.Core.Util.File
      • ConfigFile
      • ConfigFileGroup
      • ConfigFileProperty
      • ConfigFilePropertyType
      • ConfigFileUtil
      • FileErrorCode
      • FileException
      • FileExtensions
      • FilePathExtensions
      • FilePathUtil
      • FileProgress
      • FileSettings
      • ImageFileFormat
      • ImageFileSettings
      • ScyllaFileUtil
    • Scylla.Core.Util.Geom
      • AABB3D
      • BarrelColoringMode
      • BollardColoringMode
      • CappedWallColoringMode
      • Capsule3D
      • ColliderMode
      • CrateColoringMode
      • Ellipse
      • FaceColoringMode
      • IFaceColorResolver
      • OBB3D
      • PaletteFaceColorResolver
      • PaneledWall1ColoringMode
      • PaneledWall2ColoringMode
      • PipeSegmentColoringMode
      • RoundedBoxColoringMode
      • ScyllaArchwayShape
      • ScyllaBarrelShape
      • ScyllaBollardShape
      • ScyllaBoxShape
      • ScyllaCappedWallShape
      • ScyllaCapsuleShape
      • ScyllaColumnShape
      • ScyllaConeShape
      • ScyllaCrateShape
      • ScyllaCurvedStairsShape
      • ScyllaCylinderShape
      • ScyllaDomeShape
      • ScyllaFloorTileShape
      • ScyllaIcoSphereShape
      • ScyllaLadderShape
      • ScyllaLinearStairsShape
      • ScyllaOctahedronShape
      • ScyllaPaneledWall1Shape
      • ScyllaPaneledWall2Shape
      • ScyllaPipeSegmentShape
      • ScyllaPipeShape
      • ScyllaPlaneShape
      • ScyllaPyramidShape
      • ScyllaQuadShape
      • ScyllaRampShape
      • ScyllaRingShape
      • ScyllaRoundedBoxShape
      • ScyllaShapeBase3D
      • ScyllaShapes
      • ScyllaShelvedWallShape
      • ScyllaSignShape
      • ScyllaSkirtedWallShape
      • ScyllaSkyDomeShape
      • ScyllaSphereShape
      • ScyllaSpiralStairsShape
      • ScyllaTorusShape
      • ScyllaTriangularPrismShape
      • ScyllaWallShape
      • ScyllaWallWithDoorShape
      • ScyllaWallWithWindowShape
      • ShapeMaterialCache
      • ShelvedWallColoringMode
      • SignColoringMode
      • Size2D
      • Size3D
      • SkirtedWallColoringMode
      • Sphere3D
      • StairsColoringMode
      • UniformColorResolver
    • Scylla.Core.Util.Math
      • Complex
      • MathUtil
      • Monomial
      • Polynomial
    • Scylla.Core.Util.Noise
      • CellularDistanceType
      • CellularReturnType
      • CellularSettings
      • FractalType
      • NoiseAlgorithm
      • NoiseCurlSampler
      • NoiseDomainWarper
      • NoiseGenerator
      • NoiseSettings
      • PixelNoise
      • PixelNoiseDistribution
      • PixelNoiseSettings
      • WarpSettings
    • Scylla.Core.Util.Palette
      • ColorAssetRegistry
      • ColorGradient
      • ColorGradientAlphaStop
      • ColorGradientAlphaStopData
      • ColorGradientAsset
      • ColorGradientColorSpace
      • ColorGradientData
      • ColorGradientMode
      • ColorGradientStop
      • ColorGradientStopData
      • ColorGradientStopInterpolation
      • ColorPalette
      • ColorPaletteAsset
      • ColorPaletteData
      • ColorPaletteEntry
      • ColorPaletteEntryData
      • ColorPaletteMapping
      • ColorRole
      • ColorStopBlendMode
      • ColorSwatchCollection
      • ColorSwatchCollectionAsset
      • ColorSwatchCollectionData
      • ColorSwatchEntryData
      • MutableColorGradient
      • MutableColorPalette
    • Scylla.Core.Util.ProceduralMapGen
      • BSPSettings
      • CellularAutomataSettings
      • CorridorStyle
      • DoorAxis
      • DoorPlacement
      • DoorPlacementSettings
      • DoorShapeConfig
      • DrunkardWalkSettings
      • FloorplanSettings
      • InstantiationResult
      • MapCellType
      • MapCorridor<TCoord>
      • MapGenResult<TCoord>
      • MapGenSettings
      • MapOverlaySettings
      • MapPatternType
      • MapRoom<TCoord>
      • MazeRoomSettings
      • MazeSettings
      • NoiseThresholdSettings
      • ProceduralMapGenerator
      • ProceduralMapOverlay
      • ProceduralMapPostProcessor
      • RoomCorridorSettings
      • RoomGroup
      • ScyllaProceduralMapInstantiator
      • VoronoiRegionSettings
      • WindingCorridorSettings
    • Scylla.Core.Util.Random
      • AliasTable
      • CryptoRandomSource
      • DiceRoll
      • IProbabilityInfluence
      • IRandomSource
      • MersenneTwister
      • MersenneTwisterState
      • PCG32
      • PCG32State
      • PickHistory
      • PickRecord
      • PoissonDiskSampler
      • PoissonDiskSampler.BoundChecker
      • ProbabilityEntry<T>
      • ProbabilityList<T>
      • ProbabilityNormalizer
      • RandomAlgorithm
      • RandomExtensions
      • RandomID
      • RandomSeeder
      • RandomText
      • RandomUtil
      • RandomUtil.DeterministicRNG
      • RandomUtil.DeterministicRNGState
      • RepeatPreventionMode
      • SelectionStrategy
      • SplitMix64RNG
      • SplitMix64State
      • SystemRandomSource
      • UnityRandomSource
      • Xoroshiro128Plus
      • Xoroshiro128State
      • Xoshiro256StarStar
      • Xoshiro256State
    • Scylla.Core.Util.Ranges
      • DoubleRange
      • FloatRange
      • IntRange
    • Scylla.Core.Util.Serialization
      • ArraySerializer<T>
      • BoolSerializer
      • BoundsSerializer
      • ByteArraySerializer
      • ByteSerializer
      • CharSerializer
      • Color32Serializer
      • ColorSerializer
      • DateTimeOffsetSerializer
      • DateTimeSerializer
      • DecimalSerializer
      • DefaultValueHandling
      • DictionarySerializer<TKey, TValue>
      • DoubleSerializer
      • EnumSerializer<T>
      • FloatSerializer
      • GuidSerializer
      • HashSetSerializer<T>
      • IScyllaReader
      • IScyllaWriter
      • ISerializationContext
      • ITypeSerializer
      • ITypeSerializer<T>
      • IntSerializer
      • LayerMaskSerializer
      • ListSerializer<T>
      • LongSerializer
      • NullHandling
      • PropertyMetadata
      • QuaternionSerializer
      • QueueSerializer<T>
      • RectIntSerializer
      • RectSerializer
      • ReferenceHandling
      • ReferenceTracker
      • ReflectionSerializer
      • SByteSerializer
      • ScyllaIgnoreAttribute
      • ScyllaIncludeAttribute
      • ScyllaJSONReader
      • ScyllaJSONWriter
      • ScyllaMigrationAttribute
      • ScyllaPropertyAttribute
      • ScyllaSerializableAttribute
      • ScyllaSerialization
      • SerializationContext
      • SerializationEngine
      • SerializationException
      • SerializationFormat
      • SerializationResult
      • SerializationResult<T>
      • SerializationSettings
      • SerializationSettings.Builder
      • SerializationToken
      • ShortSerializer
      • StackSerializer<T>
      • StringSerializer
      • TimeSpanSerializer
      • TypeMetadata
      • TypeMetadataCache
      • TypeSerializerAdapter<T>
      • TypeSerializerBase<T>
      • UIntSerializer
      • ULongSerializer
      • UShortSerializer
      • Vector2IntSerializer
      • Vector2Serializer
      • Vector3IntSerializer
      • Vector3Serializer
      • Vector4Serializer
    • Scylla.Core.Util.Tween
      • Ease
      • EaseType
      • ITween
      • LoopType
      • ScyllaShapeTweenExtensions
      • ScyllaTween
      • SequenceItem
      • SequenceItemType
      • TweenAudioSourceExtensions
      • TweenBase
      • TweenCanvasGroupExtensions
      • TweenColor
      • TweenErrorCode
      • TweenException
      • TweenExtensions
      • TweenFloat
      • TweenID
      • TweenLerp
      • TweenManager
      • TweenMaterialExtensions
      • TweenPool
      • TweenQuaternion
      • TweenRectTransformExtensions
      • TweenSequence
      • TweenSettings
      • TweenSpriteRendererExtensions
      • TweenState
      • TweenTransformExtensions
      • TweenVector2
      • TweenVector3
      • TweenVector4
      • Tween<T>
    • Scylla.Core.Util.UI
      • DebugCanvasUtil
      • GradientBackground
      • IUIText
      • IUITextField
      • LineScrollTextArea
      • LineScrollTextAreaBuilder
      • LineScrollTextBuffer
      • LineScrollTextBuffer.Builder
      • LineScrollTextBuffer.LogicalLine
      • LineScrollTextBufferLineAddedEvent
      • LineScrollTextBufferScrolledEvent
      • LineScrollWindow
      • LineScrollWindow.Enumerator
      • ScrollDirection
      • ScrollPhysics
      • ScrollTextArea
      • ScrollTextAreaBuilder
      • ScrollTextAreaDragEndedEvent
      • ScrollTextAreaDragStartedEvent
      • ScrollTextAreaScrolledEvent
      • ScrollTextBuffer
      • ScrollTextBuffer.Builder
      • ScrollTextBuffer.ScrollTextLine
      • ScrollTextBufferLineAddedEvent
      • ScrollTextLineView
      • ScyllaScrollRect
      • ScyllaUIAdaptiveStack
      • ScyllaUIAlignment
      • ScyllaUIAspectBreakpoint
      • ScyllaUICrossAlignment
      • ScyllaUIEdgeInsets
      • ScyllaUIFitMode
      • ScyllaUIFlexElement
      • ScyllaUIGrid
      • ScyllaUIGridItem
      • ScyllaUIHStack
      • ScyllaUILayoutAnimator
      • ScyllaUILayoutDebugDraw
      • ScyllaUILayoutDebugDrawConfig
      • ScyllaUILayoutGizmos
      • ScyllaUILayoutRoot
      • ScyllaUILayoutStyle
      • ScyllaUILength
      • ScyllaUILengthUnit
      • ScyllaUIPositioned
      • ScyllaUIScreenMargin
      • ScyllaUISizeMode
      • ScyllaUISpacer
      • ScyllaUIStackBase
      • ScyllaUIText
      • ScyllaUITextGroup
      • ScyllaUITrack
      • ScyllaUITrackSizingMode
      • ScyllaUIVStack
      • ScyllaUIZStack
      • TMPSettings
      • TMPUtil
      • TextSelectionPosition
      • TextSelectionRange
      • UIAlignment
      • UIAnchor
      • UIAnchors
      • UIFontReference
      • UIFontStyle
      • UIMargin
      • UIPadding
      • UITextBuilder
      • UITextComponent
      • UITextFactory
      • UITextFieldBuilder
      • UITextFieldComponent
      • UIUtil
      • VisualLine
    • Scylla.Core.Util.Units
      • AreaUnit
      • DataUnit
      • LengthUnit
      • MassUnit
      • PressureUnit
      • SpeedUnit
      • TemperatureUnit
      • TimeFormat
      • TimeUnit

    Class ScyllaSerialization

    Static facade providing the main public entry point for the Scylla serialization system. Exposes thread-safe methods for serializing and deserializing objects to and from JSON and binary formats, registering custom type serializers, and managing schema migrations.

    Inheritance
    object
    ScyllaSerialization
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Scylla.Core.Util.Serialization
    Assembly: ScyllaCore.dll
    Syntax
    public static class ScyllaSerialization
    Remarks

    ScyllaSerialization is a stateless facade over SerializationEngine. All serialization state (settings, reference tracking, depth tracking) is created per operation and discarded when the call returns. The class itself is safe to call concurrently from multiple threads.

    Internally, the class maintains object pools for ScyllaJSONWriter, ScyllaJSONReader, and StringBuilder instances to avoid per-call allocations. The pools are initialized during the static constructor, which also ensures the SerializationEngine is initialized with all built-in type serializers.

    Supported types out of the box: all C# primitive types, string, byte[], common System value types (DateTime, TimeSpan, Guid, DateTimeOffset), Unity primitive types (Vector2, Vector3, Vector4, Quaternion, Color, Color32, Bounds, Rect, RectInt, LayerMask), enums (serialized as their string names), arrays, List<T>, Dictionary<TKey,TValue>, HashSet<T>, Queue<T>, Stack<T>, and any class or struct handled by ReflectionSerializer.

    Custom types: classes and structs that do not have a registered serializer are handled automatically by the ReflectionSerializer, which uses cached reflection to read and write public fields and properties. Decorate types with ScyllaSerializableAttribute to enable schema versioning and migration. Use ScyllaPropertyAttribute to customize property names and ordering, ScyllaIgnoreAttribute to exclude members, and ScyllaIncludeAttribute to include non-public members.

    Binary format note: the Binary format is not yet implemented. When requested, all binary operations transparently fall back to UTF-8-encoded JSON.

    Basic round-trip serialization using default settings:

    [ScyllaSerializable(version: 1)]
    public class PlayerData
    {
        [ScyllaProperty(Name = "name", Required = true)]
        public string Name { get; set; }
    
    [ScyllaProperty(Name = "level")]
    public int Level { get; set; }
    
    [ScyllaIgnore]
    public Texture2D CachedPortrait { get; set; }
    

    }

    // Serialize var player = new PlayerData { Name = "Hero", Level = 42 }; var result = ScyllaSerialization.ToJSON(player); if (result.IsSuccess) Debug.Log(result.Value);

    // Deserialize var fromResult = ScyllaSerialization.FromJSON<PlayerData>(result.Value); if (fromResult.IsSuccess) Debug.Log(fromResult.Value.Name);

    Methods

    FromBytes<T>(byte[])

    Deserializes an object of type T from a byte array using the default SerializationSettings.

    Declaration
    public static SerializationResult<T> FromBytes<T>(byte[] bytes)
    Parameters
    Type Name Description
    byte[] bytes

    The UTF-8-encoded byte array to deserialize. Must not be null or empty.

    Returns
    Type Description
    SerializationResult<T>

    A SerializationResult<T> containing the deserialized instance on success, or an error message on failure.

    Type Parameters
    Name Description
    T

    The target type to deserialize into.

    See Also
    FromBytes<T>(byte[], SerializationSettings)
    ToBytes<T>(T)

    FromBytes<T>(byte[], SerializationSettings)

    Deserializes an object of type T from a byte array using the specified SerializationSettings.

    Declaration
    public static SerializationResult<T> FromBytes<T>(byte[] bytes, SerializationSettings settings)
    Parameters
    Type Name Description
    byte[] bytes

    The UTF-8-encoded byte array to deserialize. The bytes are decoded to a string using UTF8 before parsing. Must not be null or empty.

    SerializationSettings settings

    The settings governing this operation. Must not be null.

    Returns
    Type Description
    SerializationResult<T>

    A SerializationResult<T> containing the deserialized instance on success. On failure, the error message from the underlying JSON parse step is propagated.

    Type Parameters
    Name Description
    T

    The target type to deserialize into.

    Remarks

    When Format is Binary, the bytes are still interpreted as UTF-8 JSON because a dedicated binary reader is not yet implemented.

    See Also
    FromBytes<T>(byte[])
    ToBytes<T>(T, SerializationSettings)

    FromJSON<T>(string)

    Deserializes an object of type T from a JSON string using the default SerializationSettings.

    Declaration
    public static SerializationResult<T> FromJSON<T>(string json)
    Parameters
    Type Name Description
    string json

    The JSON string to deserialize. Must not be null or empty; if it is, a failure result is returned immediately.

    Returns
    Type Description
    SerializationResult<T>

    A SerializationResult<T> containing the deserialized instance on success, or an error message on failure. No exception is propagated to the caller.

    Type Parameters
    Name Description
    T

    The target type to deserialize into. Must match the type that was used during serialization, or be a base type / interface when polymorphic type information ($type) is present in the JSON.

    See Also
    FromJSON<T>(string, SerializationSettings)
    ToJSON<T>(T)

    FromJSON<T>(string, SerializationSettings)

    Deserializes an object of type T from a JSON string using the specified SerializationSettings.

    Declaration
    public static SerializationResult<T> FromJSON<T>(string json, SerializationSettings settings)
    Parameters
    Type Name Description
    string json

    The UTF-8 JSON string to parse. Must not be null or empty.

    SerializationSettings settings

    The settings governing this operation - custom serializers, reference handling, and depth limit. Must not be null.

    Returns
    Type Description
    SerializationResult<T>

    A SerializationResult<T> containing the deserialized instance on success, or an error message on failure. Both SerializationException and unexpected runtime exceptions are caught and reported as failures.

    Type Parameters
    Name Description
    T

    The target type to deserialize into. Must match the type used during serialization, or be a compatible base type when the JSON contains a $type discriminator.

    Remarks

    The method acquires a pooled ScyllaJSONReader for the duration of the call and releases it in a finally block, making concurrent calls safe.

    A fresh ReferenceTracker is created per call. Reference IDs embedded in the JSON (via $id / $ref markers) are resolved within the scope of the single deserialization operation.

    Schema migrations are applied automatically when the serialized $version is older than the current Version declared on the type. Migrations registered via RegisterMigration<T>(int, int, Func<T, T>) or via ScyllaMigrationAttribute on the type itself are applied sequentially step-by-step from the serialized version up to the current version.

    See Also
    FromJSON<T>(string)
    ToJSON<T>(T, SerializationSettings)
    SerializationSettings

    GetMigration(Type, int, int)

    Returns the migration function registered for type that upgrades instances from fromVersion to toVersion, or null if no such migration was registered.

    Declaration
    public static Func<object, object> GetMigration(Type type, int fromVersion, int toVersion)
    Parameters
    Type Name Description
    Type type

    The managed type whose migration registry is queried. Must not be null.

    int fromVersion

    The source schema version of the migration step.

    int toVersion

    The target schema version of the migration step.

    Returns
    Type Description
    Func<object, object>

    A Func<T, TResult> of object -> object that accepts an instance of the old schema and returns an upgraded instance, or null if no matching migration was found in the registry for the given type and version pair.

    Remarks

    This method is intended for use by the deserialization pipeline (e.g. ReflectionSerializer) to look up registered migrations. Application code typically does not need to call this method directly; migrations are applied automatically during FromJSON<T>(string).

    See Also
    RegisterMigration<T>(int, int, Func<T, T>)

    RegisterMigration<T>(int, int, Func<T, T>)

    Registers a schema migration function that upgrades an instance of type T from fromVersion to toVersion.

    Declaration
    public static void RegisterMigration<T>(int fromVersion, int toVersion, Func<T, T> migrator)
    Parameters
    Type Name Description
    int fromVersion

    The source schema version that this migration handles. Must be a positive integer and strictly less than toVersion.

    int toVersion

    The target schema version after this migration step. Must be strictly greater than fromVersion.

    Func<T, T> migrator

    A function that takes an instance deserialized from the old schema and returns the upgraded instance. The returned object may be the same reference (mutated) or a new instance. Must not be null.

    Type Parameters
    Name Description
    T

    The type whose schema is being migrated. Must match the type decorated with ScyllaSerializableAttribute.

    Remarks

    Migrations registered via this method supplement (or replace) those found by reflection via ScyllaMigrationAttribute. If both exist for the same version pair, the behaviour depends on which is discovered first by the ReflectionSerializer - prefer attribute-based migrations on the type itself and use this method only when the type cannot be modified.

    Migration functions are stored thread-safely in a ConcurrentDictionary<TKey, TValue> and can be registered at any point during application lifetime, even after the first serialization call.

    When deserializing a value whose serialized $version is older than the current type version, the engine applies all migration steps sequentially - for example, version 1 data going into a version 3 type runs the 1->2 migrator, then the 2->3 migrator. Gaps in the migration chain (e.g. missing 2->3 step) are silently skipped.

    Exceptions
    Type Condition
    ArgumentNullException

    Thrown if migrator is null.

    See Also
    GetMigration(Type, int, int)
    ScyllaMigrationAttribute
    ScyllaSerializableAttribute

    RegisterSerializer<T>(ITypeSerializer<T>)

    Registers a custom type serializer globally for the type T, replacing any previously registered serializer for that type (including the built-in default serializers).

    Declaration
    public static void RegisterSerializer<T>(ITypeSerializer<T> serializer)
    Parameters
    Type Name Description
    ITypeSerializer<T> serializer

    The serializer instance that implements ITypeSerializer<T>. Must not be null.

    Type Parameters
    Name Description
    T

    The type for which the custom serializer will handle all read and write operations.

    Remarks

    The registration is global and thread-safe. Once registered, every subsequent call to ToJSON<T>(T) or FromJSON<T>(string) that encounters T will use this serializer.

    To register a serializer only for a specific operation rather than globally, use RegisterSerializer<T>(ITypeSerializer<T>) on the settings object passed to the per-call overloads.

    Exceptions
    Type Condition
    ArgumentNullException

    Thrown if serializer is null.

    See Also
    RegisterSerializer<T>(ITypeSerializer<T>)
    RegisterSerializer<T>(ITypeSerializer<T>)

    ToBytes<T>(T)

    Serializes an object of type T to a UTF-8 byte array using the default SerializationSettings.

    Declaration
    public static SerializationResult<byte[]> ToBytes<T>(T value)
    Parameters
    Type Name Description
    T value

    The object to serialize. May be null for reference types.

    Returns
    Type Description
    SerializationResult<byte[]>

    A SerializationResult<T> of byte[] containing the UTF-8 encoded JSON text. Returns a failure result if serialization fails.

    Type Parameters
    Name Description
    T

    The compile-time type of the object to serialize.

    Remarks

    Currently the binary format is not implemented; this method always produces UTF-8-encoded JSON regardless of the Format setting. Use ToJSON<T>(T) when a string is preferred.

    See Also
    ToBytes<T>(T, SerializationSettings)
    FromBytes<T>(byte[])

    ToBytes<T>(T, SerializationSettings)

    Serializes an object of type T to a UTF-8 byte array using the specified SerializationSettings.

    Declaration
    public static SerializationResult<byte[]> ToBytes<T>(T value, SerializationSettings settings)
    Parameters
    Type Name Description
    T value

    The object to serialize. May be null for reference types.

    SerializationSettings settings

    The settings governing this operation. Must not be null.

    Returns
    Type Description
    SerializationResult<byte[]>

    A SerializationResult<T> of byte[]. On success, the byte array is the UTF-8 encoding of the JSON output produced by ToJSON<T>(T, SerializationSettings). On failure, the error message from the inner JSON serialization is propagated.

    Type Parameters
    Name Description
    T

    The compile-time type of the object to serialize.

    Remarks

    When Format is Binary, the method currently falls back to JSON-as-bytes as the dedicated binary writer is not yet implemented.

    The returned byte array is UTF-8 encoded with no byte-order mark (BOM). Pass it directly to FromBytes<T>(byte[], SerializationSettings) to round-trip.

    See Also
    ToBytes<T>(T)
    FromBytes<T>(byte[], SerializationSettings)

    ToJSON<T>(T)

    Serializes an object of type T to a JSON string using the default SerializationSettings.

    Declaration
    public static SerializationResult<string> ToJSON<T>(T value)
    Parameters
    Type Name Description
    T value

    The object to serialize. May be null for reference types; a JSON null literal will be written in that case.

    Returns
    Type Description
    SerializationResult<string>

    A SerializationResult<T> of string. On success, Value contains the complete JSON output. On failure, ErrorMessage describes what went wrong; no exception is propagated to the caller.

    Type Parameters
    Name Description
    T

    The compile-time type of the object to serialize. This type is used for serializer lookup; if the runtime type differs (polymorphism), type information will still be written when IncludeTypeInfo is enabled.

    Remarks

    This overload uses Default which has PrettyPrint disabled and Preserve enabled. Use the settings overload for fine-grained control.

    See Also
    ToJSON<T>(T, SerializationSettings)
    FromJSON<T>(string)

    ToJSON<T>(T, SerializationSettings)

    Serializes an object of type T to a JSON string using the specified SerializationSettings.

    Declaration
    public static SerializationResult<string> ToJSON<T>(T value, SerializationSettings settings)
    Parameters
    Type Name Description
    T value

    The object to serialize. May be null for reference types; a JSON null literal will be written in that case.

    SerializationSettings settings

    The settings governing this operation - format, pretty printing, null/default value handling, reference handling, depth limit, and custom serializers. Must not be null.

    Returns
    Type Description
    SerializationResult<string>

    A SerializationResult<T> of string. On success, Value contains the complete JSON text. On failure, ErrorMessage contains the reason; both SerializationException and unexpected exceptions are caught and returned as failures rather than thrown.

    Type Parameters
    Name Description
    T

    The compile-time type of the object to serialize. This type is used for serializer lookup and determines which properties are reflected.

    Remarks

    The method acquires a pooled ScyllaJSONWriter and StringBuilder for the duration of the call and releases them in a finally block, making it safe to call concurrently.

    A fresh ReferenceTracker is created per call, so reference IDs always start from 1 and are scoped to the single serialization operation.

    Exceptions
    Type Condition
    ArgumentNullException

    Not thrown - returns a failure result instead.

    See Also
    ToJSON<T>(T)
    FromJSON<T>(string, SerializationSettings)
    SerializationSettings

    See Also

    SerializationEngine
    SerializationSettings
    SerializationResult<T>
    ITypeSerializer<T>
    ScyllaSerializableAttribute
    In this article
    Back to top Scylla Framework - Core Module API Documentation