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

    Struct ScyllaLooseQuadtreeCore

    Burst-compilable loose quadtree kernel that stores items by integer ID and 2D axis-aligned bounding boxes. Designed for fast broad-phase spatial queries (overlap, radius, ray) over large numbers of potentially moving items.

    Implements
    IDisposable
    Inherited Members
    ValueType.Equals(object)
    ValueType.GetHashCode()
    ValueType.ToString()
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: Scylla.Core.Structures
    Assembly: ScyllaCore.dll
    Syntax
    [BurstCompile]
    public struct ScyllaLooseQuadtreeCore : IDisposable
    Remarks

    Loose bounds concept: Every node maintains two sets of bounds. The tight bounds are the exact cell extents produced by subdivision. The loose bounds are the tight bounds scaled outward by the Looseness factor (e.g. 1.2 means 20 percent expansion on each side). Insertion and update containment checks use the loose bounds, while query traversal pruning also tests loose bounds. This strategy reduces reinsertion churn: as long as an item remains within its assigned node’s loose bounds, Update(int, ScyllaAABB2) only updates the stored bounds without walking the tree again.

    Update vs Rebuild:

    • Use Update(int, ScyllaAABB2) when only a subset of items move each tick. The amortized cost is sub-linear for typical entity movement patterns.
    • Use Rebuild(NativeArray<int>, NativeArray<ScyllaAABB2>) when nearly all items move every tick; a single bulk clear-and-reinsert pass is typically cheaper than the accumulated reinsertion churn of many per-item updates.

    Algorithmic complexity (typical):

    • Insert: O(depth) tree descent plus an occasional redistribution pass when a node is split.
    • Remove: O(k) where k is the number of items in the owning node (bounded by MaxItemsPerNode in most cases).
    • Queries: proportional to the number of nodes visited plus the number of candidate items returned.

    Determinism: Child nodes are always appended in a fixed order (−x−y, +x−y, −x+y, +x+y) and traversal uses an iterative stack over this fixed order, so query results are deterministic for an identical insertion sequence. Items within a single node are stored in a singly-linked list with O(1) head insertion, so per-node result order reflects insertion recency, not original insertion order.

    Native container ownership: All internal storage uses NativeList and NativeHashMap. Call Dispose() to release unmanaged memory. The managed wrapper ScyllaLooseQuadtree handles disposal automatically in its own Dispose method.

    Burst usage: This struct is marked [BurstCompile]. You may pass it by value to a Burst job; ensure the owning ScyllaLooseQuadtree is not disposed while the job is executing.

    Constructors

    ScyllaLooseQuadtreeCore(ScyllaAABB2, int, int, float, Allocator, int)

    Creates a new loose quadtree core and allocates its native containers.

    Declaration
    public ScyllaLooseQuadtreeCore(ScyllaAABB2 rootBounds, int maxDepth, int maxItemsPerNode, float looseness, Allocator allocator, int initialItemCapacity = 64)
    Parameters
    Type Name Description
    ScyllaAABB2 rootBounds

    Tight root bounds of the quadtree. Items are inserted only when their bounds are fully contained by the root's loose bounds (tight bounds expanded by looseness). Both size components must be greater than zero.

    int maxDepth

    Maximum number of subdivision levels permitted. A value of 0 means no subdivision - all items are stored in the root node. Higher values allow finer partitioning at the cost of additional node memory.

    int maxItemsPerNode

    Maximum number of items a node may hold before being subdivided. Must be at least 1. Lower values produce deeper, more granular trees; higher values keep the tree shallow.

    float looseness

    Expansion factor applied to each node's tight bounds to produce its loose bounds. Must be a finite value greater than or equal to 1.0. A value of exactly 1.0 disables looseness (tight equals loose). Values in the range 1.1-2.0 are typical for games with frequently moving items.

    Allocator allocator

    Memory allocator used for the internal NativeList and NativeHashMap. Use Allocator.Persistent for a tree that lives beyond a single frame.

    int initialItemCapacity

    Initial bucket capacity for the item hash map. Defaults to 64. Setting this close to the expected peak item count reduces early rehashing.

    Exceptions
    Type Condition
    ArgumentException

    Thrown when rootBounds is invalid.

    ArgumentOutOfRangeException

    Thrown when rootBounds has a non-positive size component, maxDepth is negative, maxItemsPerNode is less than 1, or looseness is less than 1.0, NaN, or infinite.

    Properties

    Count

    Total number of items currently registered across all nodes in the tree.

    Declaration
    public int Count { get; }
    Property Value
    Type Description
    int

    IsCreated

    Returns true when the underlying native containers have been allocated, i.e. the parameterized constructor has been called. A default-initialized struct returns false. All public API methods guard against a false value via Scylla.Core.Structures.ScyllaLooseQuadtreeCore.RequireCreated().

    Declaration
    public bool IsCreated { get; }
    Property Value
    Type Description
    bool

    Looseness

    Expansion factor applied to each node's tight bounds to produce its loose bounds. Must be at least 1.0 (no expansion). Higher values reduce reinsertion frequency for moving items at the cost of increased node overlap during query traversal.

    Declaration
    public float Looseness { get; }
    Property Value
    Type Description
    float

    MaxDepth

    Maximum number of subdivision levels allowed. Nodes at this depth are never split further, regardless of how many items they accumulate. A value of 0 means no subdivision.

    Declaration
    public int MaxDepth { get; }
    Property Value
    Type Description
    int

    MaxItemsPerNode

    Number of items a node may hold before being considered for subdivision. When a node's item count exceeds this value and the node is below MaxDepth, it will be split by TrySplitIfNeeded(int).

    Declaration
    public int MaxItemsPerNode { get; }
    Property Value
    Type Description
    int

    RootLooseBounds

    The loose bounds of the root node: the tight bounds expanded by the Looseness factor. Items are only accepted by TryAdd(int, ScyllaAABB2) and Update(int, ScyllaAABB2) when their bounds are fully contained by this region.

    Declaration
    public ScyllaAABB2 RootLooseBounds { get; }
    Property Value
    Type Description
    ScyllaAABB2

    RootTightBounds

    The tight (exact cell) bounds of the root node, i.e. the spatial extent passed to the constructor. All items must fit within RootLooseBounds, which is derived from this value.

    Declaration
    public ScyllaAABB2 RootTightBounds { get; }
    Property Value
    Type Description
    ScyllaAABB2

    Methods

    Clear()

    Removes all items from every node and collapses the tree back to a single root node, discarding all subdivision structure. The Count is reset to zero.

    Declaration
    public void Clear()
    Remarks

    This is an O(n) operation in the number of existing nodes. After this call, any item IDs that were previously registered are no longer valid and must be re-added.

    Exceptions
    Type Condition
    InvalidOperationException

    Thrown when the core has not been constructed.

    Contains(int)

    Returns true if an item with the specified ID is currently registered in the tree.

    Declaration
    public bool Contains(int itemID)
    Parameters
    Type Name Description
    int itemID

    The integer ID to test for membership.

    Returns
    Type Description
    bool

    true if the ID was previously added and has not been removed; false otherwise.

    Exceptions
    Type Condition
    InvalidOperationException

    Thrown when the core has not been constructed.

    Dispose()

    Releases the native containers (NativeList and NativeHashMap) owned by this core and returns their memory to the Unity allocator.

    Declaration
    public void Dispose()
    Remarks

    It is safe to call Dispose on a core that has not been fully constructed; each container is checked with IsCreated before disposal. After this call, any further use of the core is undefined behavior.

    QueryOverlap(ScyllaAABB2, NativeList<int>, NativeList<int>)

    Overlap query: appends the IDs of all items whose bounding boxes intersect the query bounds.

    Declaration
    public void QueryOverlap(ScyllaAABB2 query, NativeList<int> results, NativeList<int> traversalStackScratch)
    Parameters
    Type Name Description
    ScyllaAABB2 query

    2D axis-aligned query region. Items whose bounds overlap this region are included in results. If query is invalid (IsValid is false), the query is skipped and no items are appended.

    NativeList<int> results

    Output list to which matching item IDs are appended. This list is not cleared before appending; callers must clear it themselves if a fresh result set is needed.

    NativeList<int> traversalStackScratch

    A caller-supplied scratch NativeList<int> used as the iterative traversal stack. Its contents are cleared at the start of each query. Reuse the same instance across queries to avoid allocation. The managed wrapper ScyllaLooseQuadtree provides its own internal scratch stack so callers of that type do not need to manage this parameter.

    Remarks

    Query results are candidates - all returned IDs have passing node-level loose-bounds intersection tests plus an exact item-level bounds test. No false positives are returned, but note that the returned set reflects the state of the tree at the time of the call.

    Exceptions
    Type Condition
    InvalidOperationException

    Thrown when the core has not been constructed.

    QueryRadius(float2, float, NativeList<int>, NativeList<int>)

    Radius query: appends the IDs of all items whose bounding boxes are within the specified radius of the given center point.

    Declaration
    public void QueryRadius(float2 center, float radius, NativeList<int> results, NativeList<int> traversalStackScratch)
    Parameters
    Type Name Description
    float2 center

    2D center of the query circle in the tree's coordinate space.

    float radius

    Search radius. An item is included if its closest point to center is within this distance (i.e. squared distance from AABB to point is less than or equal to radius * radius). Negative values cause the query to be skipped silently.

    NativeList<int> results

    Output list to which matching item IDs are appended. Not cleared before appending.

    NativeList<int> traversalStackScratch

    Caller-supplied scratch NativeList<int> used as the iterative traversal stack. Cleared at the start of each query. Reuse across calls to avoid allocation.

    Remarks

    The containment test is AABB-to-point squared distance, so axis-aligned items that partially protrude into the circle are included even if their center lies outside the radius.

    Exceptions
    Type Condition
    InvalidOperationException

    Thrown when the core has not been constructed.

    QueryRay(float2, float2, float, float, NativeList<int>, NativeList<int>)

    Ray query: appends the IDs of all items whose bounding boxes intersect the ray segment defined by the parametric interval [tMin, tMax].

    Declaration
    public void QueryRay(float2 origin, float2 invDir, float tMin, float tMax, NativeList<int> results, NativeList<int> traversalStackScratch)
    Parameters
    Type Name Description
    float2 origin

    2D origin of the ray in the tree's coordinate space.

    float2 invDir

    Component-wise reciprocal of the ray direction (1 / direction). Passing the reciprocal avoids repeated division inside the AABB slab test. Use RcpSafe(float2) when the direction may have zero components to avoid division-by-zero producing NaN.

    float tMin

    Minimum ray parameter. Intersection must occur at t >= tMin. Pass 0f to start the segment at the ray origin.

    float tMax

    Maximum ray parameter. Intersection must occur at t <= tMax. Pass float.PositiveInfinity for an infinite ray.

    NativeList<int> results

    Output list to which matching item IDs are appended. Not cleared before appending.

    NativeList<int> traversalStackScratch

    Caller-supplied scratch NativeList<int> used as the iterative traversal stack. Cleared at the start of each query. Reuse across calls to avoid allocation.

    Remarks

    The intersection test uses the standard AABB slab method. Both node-level and item-level tests check the loose bounds and the item's stored bounds respectively.

    Exceptions
    Type Condition
    InvalidOperationException

    Thrown when the core has not been constructed.

    Rebuild(NativeArray<int>, NativeArray<ScyllaAABB2>)

    Performs a bulk rebuild by clearing the tree and reinserting every item from the supplied arrays.

    Declaration
    public void Rebuild(NativeArray<int> itemIDs, NativeArray<ScyllaAABB2> bounds)
    Parameters
    Type Name Description
    NativeArray<int> itemIDs

    Parallel array of item IDs to reinsert. Must have the same length as bounds.

    NativeArray<ScyllaAABB2> bounds

    Parallel array of 2D bounding boxes corresponding to each ID in itemIDs. Each entry must be fully contained by the root loose bounds; entries outside the root are silently skipped by TryAdd(int, ScyllaAABB2).

    Remarks

    Use this method instead of repeated Update(int, ScyllaAABB2) calls when most or all items move every tick. The single clear-and-reinsert pass avoids per-item traversal overhead and is typically faster under high-churn conditions.

    If itemIDs and bounds have different lengths, the operation is silently skipped.

    Exceptions
    Type Condition
    InvalidOperationException

    Thrown when the core has not been constructed.

    Remove(int)

    Removes the item with the specified ID from the tree.

    Declaration
    public bool Remove(int itemID)
    Parameters
    Type Name Description
    int itemID

    ID of the item to remove.

    Returns
    Type Description
    bool

    true if the item was found and removed; false if the ID was not registered.

    Remarks

    Removal is O(k) where k is the number of items currently in the owning node. In typical use, k is bounded by MaxItemsPerNode.

    Exceptions
    Type Condition
    InvalidOperationException

    Thrown when the core has not been constructed.

    TryAdd(int, ScyllaAABB2)

    Attempts to register a new item in the tree.

    Declaration
    public bool TryAdd(int itemID, ScyllaAABB2 bounds)
    Parameters
    Type Name Description
    int itemID

    Integer ID uniquely identifying the item. Must not already exist in the tree. Use any non-negative integer that is meaningful to the caller (e.g. an entity index or instance ID). No implicit ID management is performed; the caller owns ID assignment.

    ScyllaAABB2 bounds

    2D axis-aligned bounding box of the item in the tree's coordinate space. Must be fully contained by RootLooseBounds.

    Returns
    Type Description
    bool

    true if the item was successfully added. Returns false if itemID is already registered, or if bounds extends outside the root loose bounds.

    Exceptions
    Type Condition
    InvalidOperationException

    Thrown when the core has not been constructed.

    Update(int, ScyllaAABB2)

    Updates the 2D bounds of an existing item, potentially reinserting it into a different node.

    Declaration
    public bool Update(int itemID, ScyllaAABB2 newBounds)
    Parameters
    Type Name Description
    int itemID

    ID of the item to update. Must be currently registered.

    ScyllaAABB2 newBounds

    The item’s new 2D bounding box. Must be fully contained by RootLooseBounds. If newBounds extends outside the root loose bounds, the update is rejected and the method returns false without modifying the tree.

    Returns
    Type Description
    bool

    true if the item existed and its bounds were updated; false if the ID was not registered or if newBounds exceeds the root loose bounds.

    Remarks

    If the new bounds are still fully contained by the assigned node’s loose bounds, only the stored bounding box is updated - no tree traversal or reinsertion occurs (O(1)).

    If the item has moved outside its current node’s loose bounds, it is unlinked from that node and reinserted from the root via FindBestNodeForBounds(ScyllaAABB2). A subsequent split check is performed on the new node.

    Exceptions
    Type Condition
    InvalidOperationException

    Thrown when the core has not been constructed.

    Implements

    IDisposable

    See Also

    ScyllaLooseQuadtree
    ScyllaAABB2
    In this article
    Back to top Scylla Framework - Core Module API Documentation