Knowledge Base
HomeProductsCommunityReviewsSocial
Old Knowledge Base
Old Knowledge Base
  • Knowledge Base
    • Getting to know us
  • Where to Buy
    • Become a Sponsor
    • Heathen License Agreement
  • General
    • 🔎Table of Contents
    • 🤩Getting Started
      • Indie Check List
      • Sourcing Resources
        • 🧙‍♂️Community
        • 🧞‍♂️Managed Services
        • 📣Marketing
        • 🧪Testing
    • 🧞Tips and Tricks
      • Fundamentals
        • Development Phases
      • Unity
        • Package Manager Installs
          • Missing asset after update
        • Unity Release Version
      • Unreal
        • Unity to Unreal
        • Quick Start
    • 📐Design
      • ☝️Quick Start
      • 🥾Bootstraping
      • 🤑Monetization
        • What not to do
        • Models
          • Free
          • Free to Play
          • Pay to Play
          • Pay to Win
          • Play to Earn
        • Tools
          • 😡Artificial Scarcity
          • 🤑Bundles
          • 🤔Community Marketplace
          • 🤑Expansions
          • 😡Fear of Missing Out (FOMO)
          • 😡Gatcha Mechanics
          • 🤔Microtransactions (MTX)
          • 😡NFT
            • 😡Blockchain
          • 🤔No Spend Cap
          • 😡Premium Currency
          • 🤔Season
          • 🤑Subscription
          • 😡Surprise Mechanics
      • 🎮Multiplayer
        • Networking Tools
        • Terminology
      • 🤹Multi-Scene Architecture
      • 🌐Project Architecture
      • 😊Player Motivation
    • 🏗️Development
      • ☝️Quick Start
      • ☎️Callbacks & Delegates
      • ❔Conditional Compilation
      • 🪳Debugging
      • 🚧DevOps
        • ☕Team Collaboration
        • 🛂Git Control & Unity
      • ⁉️Error Handling
        • System Dialog
        • Reporting
      • 🤯IntelliSense
      • 🪶Lambda Expressions
      • 🤹‍♀️Multi Platform Projects
      • 📑Namespace and Using
      • 🎮Unity's "New" Input System
      • 🔼Updating Visual Studio and C#
      • 💡Visual Scripting
    • ⚠️Publishers
    • 🧪Testing
      • 👋Introduction
      • ✏️Writing Formal Tests
    • 🧙‍♂️Community
      • ☝️Quick Start
    • 📣Marketing
      • ☝️Quick Start
      • 📌Tips and Tactics
      • 🤓Market Research
    • 📆Release
    • 🗺️Live
  • Steam
    • ☝️Quick Start
    • 🏆Achievements
    • 🌳Branches
    • 🗣️Community Hub
    • ⬆️Uploading to Steam
    • ☁️Cloud Save
    • 🆔CSteamID
    • 🔎Discovery Queue
    • 🕹️Downloadable Content
    • 🚫Early Access
    • 🖱️Input
    • 📦Inventory
      • 🔨Crafting System
      • 🛠️Item Definition Tools
      • 💸Microtransactions
      • 🎁Promo Items
    • 🚢Launch
    • 🥇Leaderboards
      • 🗣️Advanced Profiles
    • 🎮Multiplayer
      • ☝️Getting Started
      • 🧪Dev and Test
      • 🧑‍⚖️Authentication
      • 🛋️Lobby
      • 🧑‍🤝‍🧑Matchmaking
      • 🧑‍🔧Rich Presence
      • 💬Room Systems
      • 💁Steam Game Server
        • 👷Builds
        • ⚙️Configuration
        • 📋Server Browser
        • 🐧Setup Linux
      • 🗣️Terminology
    • 🤹Multi-Platform Project
    • 🧪Playtest
    • 🛋️Remote Play
    • 👀Reviews
    • 🏃Running a Build
    • 💶Sales
    • ⭐Stats
    • 🔑Steam API Key
    • 📃steam_appid.txt
    • 🖥️Steam Deck
    • ⚙️Steamworks
    • 🤯Store Page
    • 🛠️Workshop
      • Creating an Item
      • In-Game Browser
      • Subscribed Items
    • 🧑‍🏫User Information
      • Unity User Tools
      • Unreal User Tools
    • 🗣️Voice
  • Toolkit for Steamworks
    • Introduction
    • Maintenance Cycle
    • F.A.Q
    • Unity
      • ⚠️Known Issues
      • Unity Asset Refund Policy
      • Installation
        • Networking Integrations
      • Getting Started
      • Debugging
      • Learning
      • API Extensions
        • App.Client
        • App.Server
        • App.Web
        • Authentication
        • BigPicture.Client
        • Clans.Client
        • Friends.Client
        • Input.Client
        • Inventory.Client
        • Leaderboards.Client
        • Matchmaking.Client
        • Overlay.Client
        • Parties.Client
        • RemotePlay.Client
        • RemoteStorage.Client
        • Screenshots.Client
        • StatsAndAchievements.Client
        • StatsAndAchievements.Server
        • User.Client
        • UserGeneratedContent.Client
        • Utilities
        • Utilities.Client
        • Voice.Client
      • Objects
        • Classes
          • Achievement Data
          • Achievement Object
          • App Data
          • Authentication Session
          • Authentication Ticket
          • Avg Rate Stat
          • Chat Room
          • Clan Chat Msg
          • Clan Data
          • Currency
          • Data Model
          • DLC Data
          • Downloadable Content Object
          • Favorite Game
          • Float Stat
          • Game Data
          • Input Action
          • Input Action Data
          • Input Action Set
          • Input Action Set Data
          • Input Action Set Layer
          • Input Action Update
          • Input Controller Data
          • Int Stat
          • Inventory Result
          • Item Data
          • Item Definition
          • Item Detail
          • Leaderboard Data
          • Leaderboard Entry
          • Leaderboard Object
          • Lobby Chat Msg
          • Lobby Data
          • Lobby Game Server
          • Lobby Member Data
          • Party Beacon Details
          • Rank Change
          • Remote Storage File
          • Stat Data
          • Steam Game Server Configuration
          • UGC Query
          • User Data
          • Steam Settings
            • Colors
            • Game Client
              • Inventory Settings
            • Game Server
          • User Leave Data
          • Workshop Item
          • Workshop Item Data
          • Workshop Item Data Create Status
          • Workshop Item Key Value Tag
          • Workshop Item Preview File
        • Components
          • Friend Manager
          • Game Server Browser Manager
          • Input Action Event
          • Input Action Glyph
          • Input Action Name
          • Inventory Manager
          • Item Shopping Cart Manager
          • Leaderboard Manager
          • Leaderboard User Entry
          • Overlay Manager
          • Steam Game Server Events
          • Steam Input Manager
          • Steamworks Event Triggers
          • UGC Query Manager
          • Voice Recorder
          • Voice Stream
        • Enums
          • Friend Dialog
          • Inventory Item Type
          • Language Codes
          • Overlay Dialog
          • Sample Rate Method
          • Valve Price Categories
        • Prefabs
          • 📦Clan Chat
          • 📦Clan List
          • 📦Clan Member Count
          • 📦Friend Avatar
          • 📦Friend Groups
          • 📦Friend List
          • 📦Friend Name
          • 📦Friend Profile
          • 📦Selectable Friend ID
        • Programming Tools
          • IChatMessage
          • ILeaderboardEntryDisplay
          • IUserProfile
          • IWorkshopBrowserItemTemplate
          • LobbyMemberSlot
          • User Invite Button
        • UI Components
          • Chat Auto Join
          • Chat Stream
          • Clan Chat Director
          • Clan Chat Member Counter
          • Clan Chat Member List
          • Clan List
          • Clan Profile
          • Friend Group
          • Friend Groups Display
          • Friend Invite Dropdown
          • Friend List
          • Friend Profile
            • Image Field
            • Message Options
            • Text Field
          • Input Action Glyph
          • Input Action Name
          • Leaderboard Entry UI Record
          • Leaderboard UI List
          • Lobby Chat Director
          • Lobby Member Slot
          • Lobby Manager
          • Party Lobby Control
          • Quick Match Lobby Control
          • Rich Presence Reader
          • Rich Presence Setter
          • Set Achievement Description
          • Set Achievement Icon
          • Set Achievement Name
          • Set User Avatar
          • Set User Id Input Field
          • Set User Id Label
          • Set User Name
          • Toggle Event Helper
          • Workshop Browser Simple Item Record
      • Legacy
        • Troubleshooting
        • Getting Started
          • GameObject Initialization
          • ScriptableObject Initialization
          • API Initialization
        • Build Upload Tool
        • Debugging Tools
          • Testing
        • Components
          • Steamworks Behaviour
          • Steamworks Creator
          • Steam System Events
    • Unreal
      • What's New!
      • Installation
      • Getting Started
      • Updating Steamworks SDK
      • Packaging
      • Game Instance
      • Sockets Net Driver
      • Online Subsystem
      • Data Assets
        • Achievement
        • Downloadable Content
        • Inventory Item
        • Leaderboard
        • Stat
      • Widgets
        • BP_FriendsListDisplay
        • BP_FriendsListEntry
        • BP_FriendsListGroup
        • BP_SteamAvatarImage
        • BP_SteamUserName
      • Blueprint Nodes
        • Functions
          • 🔵Add Favorite Game
          • 🔵Add History Game
          • 🔵Add Promo Item
          • 🔵Add Request Lobby List Filter
          • 🔵Advertise Game
          • 🔵Associate with Clan
          • 🔵Attach Leaderboard UGC
          • 🔵Begin Auth Session
          • 🔵Cancel Auth Ticket
          • 🔵Check Result Steam ID
          • 🔵Clear All Key Values
          • 🔵Clear Achievement
          • 🔵Clear Rich Presence
          • 🔵Client Initialize
          • 🔵Client Run Callbacks
          • 🔵Client Should Restart
          • 🔵Compue New Player Compatibility
          • 🔵Consume Item
          • 🔵Create Lobby
          • 🔵Decompress Voice
          • 🔵Delete Lobby Data
          • 🔵Deserialize Result
          • 🔵Destroy Result
          • 🔵Download Leaderboard Entries
          • 🔵Download Leaderboard Entries for Users
          • 🔵End Auth Session
          • 🔵Exchange Items
          • 🔵Find Leaderboard
          • 🔵Find or Create Leaderboard
          • 📂Game Server Browser
            • 🔵Ping Server
            • 🔵Player Details
            • 🔵Request Server List
            • 🔵Server Rules
          • 🔵Generate Items
          • 🔵Get Achievement
          • 🔵Get Achievement by Index
          • 🔵Get Achievement Icon
          • 🔵Get Achievement Is Achieved
          • 🔵Get All Items
          • 🔵Get App Build ID
          • 🔵Get App Id
          • 🔵Get App Owner
          • 🔵Get Auth Session Ticket
          • 🔵Get Auth Ticket for Web API
          • 🔵Get Available Game Languages
          • 🔵Get Available Voice
          • 🔵Get Coplay Friends
          • 🔵Get Current Beta Name
          • 🔵Get Current Game Language
          • 🔵Get DLC Count
          • 🔵Get DLC Data By Index
          • 🔵Get DLC Download Progress
          • 🔵Get Earliest Purchase
          • 🔵Get Favorite Game
          • 🔵Get Friends
          • 🔵Get Friend Coplay Game
          • 🔵Get Friend Coplay Time
          • 🔵Get Friend Count from Source
          • 🔵Get Friend Game Played
          • 🔵Get Friend Groups
          • 🔵Get Friend Group Members
          • 🔵Get Friend Group Name
          • 🔵Get Friend Persona Name
          • 🔵Get Followed
          • 🔵Get Installed Depots
          • 🔵Get Item Definition Properties
          • 🔵Get Item Price
          • 🔵Get Items with Price
          • 🔵Get Items by ID
          • 🔵Get Launch Command Line
          • 🔵Get Launch Query Param
          • 🔵Get Leaderboard Display Type
          • 🔵Get Leaderboard Entry Count
          • 🔵Get Leaderboard Name
          • 🔵Get Leaderboard Sort Method
          • 🔵Get Lobby Chat Entry
          • 🔵Get Lobby Data
          • 🔵Get Lobby Data by Index
          • 🔵Get Lobby Game Server
          • 🔵Get Lobby Members
          • 🔵Get Lobby Member by Index
          • 🔵Get Lobby Member Data
          • 🔵Get Lobby Member Limit
          • 🔵Get Lobby Owner
          • 🔵Get Most Achieved Achievement Info
          • 🔵Get My Steam Avatar
          • 🔵Get My Steam ID
          • 🔵Get My Steam Level
          • 🔵Get Num Items with Price
          • 🔵Get Persona Name
          • 🔵Get Persona State
          • 🔵Get Player Nickname
          • 🔵Get Public IP
          • 🔵Get Result Item Property
          • 🔵Get Result Items
          • 🔵Get Result Status
          • 🔵Get Result Timestamp
          • 🔵Get Stat
          • 🔵Get Steam ID
          • 🔵Get User Achievement
          • 🔵Get User Float Stat
          • 🔵Get User Int Stat
          • 🔵Get User Restrictions
          • 🔵Get Rich Presence
          • 🔵Get User Rich Presence
          • 🔵Get User Rich Presence Key by Index
          • 🔵Get User Steam Avatar
          • 🔵Get Voice
          • 🔵Get Voice Optimal Sample Rate
          • 🔵Grant Promo Items
          • 🔵Has Friend
          • 🔵Id is Me
          • 🔵Id is Valid
          • 🔵Indicate Achievement Progress
          • 🔵Install DLC
          • 🔵Invite User To Game
          • 🔵Invite User to Lobby
          • 🔵Initialize
          • 🔵Is App Installed
          • 🔵Is Behind NAT
          • 🔵Is Cybercafe
          • 🔵Is DLC Installed
          • 🔵Is Lobby Owner
          • 🔵Is Low Violence
          • 🔵Is Phone Identifying
          • 🔵Is Phone Requiring Verification
          • 🔵Is Phone Verified
          • 🔵Is Steam Initialized
          • 🔵Is Subscribed
          • 🔵Is Subscribed App
          • 🔵Is Subscribed from Family Sharing
          • 🔵Is Subscribed from Free Weekend
          • 🔵Is Timed Trial
          • 🔵Is Two Factor Enabled
          • 🔵Is VAC Banned
          • 🔵Join Lobby
          • 🔵Leave Lobby
          • 🔵Load Item Definitions
          • 🔵Logged On
          • 🔵Log Off
          • 🔵Log On
          • 🔵Log On Anonymous
          • 🔵Mark Content Corrupt
          • 🔵Quick Match
          • 🔵Remove Favorite Game
          • 🔵Remove History Game
          • 🔵Remove Property
          • 🔵Reply to Friend Message
          • 🔵Request Current Stats
          • 🔵Request Eligible Promo Item Definitions IDs
          • 🔵Request Friend Rich Presence
          • 🔵Request Lobby Data
          • 🔵Request Lobby List
          • 🔵Request Prices
          • 🔵Request Store Auth URL
          • 🔵Request User Group Status
          • 🔵Request User Information
          • 🔵Request User Stats
          • 🔵Reset All Stats
          • 🔵Run Callbacks
          • 🔵Secure
          • 🔵Send Lobby Chat
          • 🔵Serialize Result
          • 🔵Set Achievement
          • 🔵Set Advertise Server Active
          • 🔵Set Bot Player Count
          • 🔵Set Dedicated Server
          • 🔵Set Description
          • 🔵Set Game Data
          • 🔵Set Game Tags
          • 🔵Set In-Game Voice Speaking
          • 🔵Set Key Value
          • 🔵Set Map Name
          • 🔵Set Listen for Friends Messages
          • 🔵Set Lobby Data
          • 🔵Set Lobby Game Server
          • 🔵Set Lobby Joinable
          • 🔵Set Lobby Member Data
          • 🔵Set Lobby Member Limit
          • 🔵Set Lobby Owner
          • 🔵Set Lobby Type
          • 🔵Set Max Player Count
          • 🔵Set Mod Directory Name
          • 🔵Set Name
          • 🔵Set Password Protected
          • 🔵Set Persona Name
          • 🔵Set Played with User
          • 🔵Set Product
          • 🔵Set Property
          • 🔵Set Region
          • 🔵Set Rich Presence
          • 🔵Set Stats
          • 🔵Set Spectator Name
          • 🔵Set Spectator Port
          • 🔵Set User Achievement
          • 🔵Set User Float Stat
          • 🔵Set User Int Stat
          • 🔵Shutdown
          • 🔵Start Purchase
          • 🔵Start Update Property
          • 🔵Start Voice Recording
          • 🔵Steam ID Tools
          • 🔵Stop Voice Recording
          • 🔵Store Stats
          • 🔵Store User Stats
          • 🔵Submit Update Property
          • 🔵Transfer Item Quantity
          • 🔵Trigger Item Drop
          • 🔵Uninstall DLC
          • 🔵Update Avg Rate Stat
          • 🔵Update User Avg Rate Stat
          • 🔵Upload Leaderboard Score
          • 🔵User Has License for App
          • 🔵Was Restart Requested
        • Events
          • 🔻Dlc Installed
          • 🔻Friend Chat Msg
          • 🔻Friend Rich Presence Update
          • 🔻Game Overlay Activated
          • 🔻Inventory Item Definition Update
          • 🔻Inventory Results Ready
          • 🔻Lobby Chat Msg
          • 🔻Lobby Chat Update
          • 🔻Lobby Data Update
          • 🔻Lobby Game Created
          • 🔻Lobby Join Requested
          • 🔻Micro Txn Authorization Response
          • 🔻Persona State Change
          • 🔻Rich Presence Join Requested
          • 🔻Servers Connected
          • 🔻Server Connect Failure
          • 🔻Server Disconnected
          • 🔻Ticket for Web API Response
        • Types
          • 🟩Achievement Status
          • 🟩Auth Ticket Data
          • 🟩Chat Entry
          • 🟩Decompress Voice Result
          • 🟩Float Stat
          • 🟩Game Server Item Wrapper
          • 🟩Game Server Player Details Wrapper
          • 🟩Global Achievement Status
          • 🟩Item Count
          • 🟩Item Detail
          • 🟩Item Detail With Properties
          • 🟩Item Price
          • 🟩Item With Price
          • 🟩Int Stat
          • 🟩Key Value Pair
          • 🟩Leaderboard Entry
          • 🟩Lobby Data
          • 🟩Lobby Game Server
          • 🟩Server Achievement Status
          • 🟩Server Stat Float Value
          • 🟩Server Stat Int Value
          • 🟩User Achievement Status
          • 🟩Voice Result
          • 🟩Voice Available Result
        • Enumerators
          • 🟨UEBeginAuthSessionResult
          • 🟨UEChatRoomEnterResponse
          • 🟨UEFriendFlags
          • 🟨UEChatEntryType
          • 🟨UEChatMemberStateChange
          • 🟨UELeaderboardDataRequest
          • 🟨UELeaderboardDisplayType
          • 🟨UELeaderboardSortMethod
          • 🟨UELobbyComparison
          • 🟨UELobbyDistanceFilter
          • 🟨UELobbyType
          • 🟨UEResult
          • 🟨UESteamCurrencyCode
          • 🟨UEServerMode
          • 🟨UEUserHasLicenseForAppResult
          • 🟨UEVoiceResult
      • C++
  • Toolkit for Physics
    • Unity
      • Installation
      • Core Features
        • Ballistics Tools
        • Buoyancy Tools
        • Force Effect Framework
        • Physics Data extended
        • Verlet Integration
      • Sample Scenes
        • Fantasy Style Ballistic Simulation
        • (3D) Deterministic Bounce Prediction
        • (2D) Deterministic Bounce Prediction
        • 1 Buoyancy Example
        • 1 Force Effect Fields
        • 2 Spherical Gravity
        • 3 Multi-body Gravity
        • 1 Verlet Spring Simple Transforms
        • 2 Verlet Spring Skinned Mesh
      • API
        • Ballistics
        • Buoyancy
        • Force Effects
        • Maths
        • Mesh Tools
      • Components
        • Ballistic Aim
        • Ballistic Path Line Render
        • Ballistic Path Follow
        • Buoyant Body
        • Buoyant Body Drag
        • Constant Acceleration
        • Constant Angular Velocity
        • Constant Linear Velocity
        • Force Effect Source
          • Force Effect Direction
          • Force Effect Field
        • Force Effect Reciever
        • Physics Data
        • Surface Tool
        • Trick Shot
        • Trick Shot Line
        • Verlet Spring
      • Objects
        • Force Effect
          • Attract Effect
          • Gravity Effect
          • Repulse Effect
          • Suspend Effect
          • Tractor Effect
          • Wind Effect
        • Point Volume
        • Verlet Hierarchy
        • Verlet Hierarchy Settings
        • Verlet Particle
      • Enums
        • Calculation Mode
  • Toolkit for UI & UX
    • Introduction
    • Unity
      • Installation
      • Learning
        • Sample Scenes
          • Command Parser Example
          • Cursor System Scene
          • Drag and Drop (Behaviours)
          • Drag and Drop (Inventory Example)
          • Drag and Drop (Spell Bar Example)
          • Log Sample Scene
          • Screenshot Sample Scene
        • Core Concepts
          • Command System
          • Cursor System
          • Drag and Drop System
          • Interaction Tools
          • Logging & Feedback
          • Scene Tools
          • Selection System
          • Tooltip System
          • Window System
        • uGUI Extras
          • Key Collection
          • Ligature Tools
          • Tree View Collection
      • API
        • Cursors
        • Json
        • Log
        • Scenes
        • Screenshot
        • Selection
        • Trello
        • Windows
      • Components
        • Action Hold
        • Border Handle
        • Button Cursor State
        • Change Cursor Default State
        • Command Director
        • Cursor Animator
        • Drag Item
        • Drop Container
        • Key Hold
        • Mouse Over Cursor State
        • Move Handle
        • Play On Click
        • Play On Demand
        • Play On Down
        • Play On Enter
        • Play On Exit
        • Play On Up
        • Pointer Hold
        • Scenes Manager
        • Selectable Object
        • Selection Manager
        • Tooltip Trigger
        • Tooltip Window Controller
        • Window
        • Window Clamping Bounds
        • Window Focus Change Event Data
      • Objects
        • Command Data
        • Command Library
        • Cursor Animation
        • Cursor State
        • DragAndDropItemChangeData
        • LogData
      • Enums
        • Clear Drop Behaviour
        • Drag Effect
        • Drag End Behaviours
        • Grab Handle
        • Mask Mode
        • Recieve Mode
        • Window Snap To Location
  • More Heathen Tools
    • 🎨Art Assets
      • Breakable
        • Wood Props
          • Installation
    • ⚙️System Core
      • Installation
      • Learning
        • Asset Developers
      • Command Line
      • Game Events
      • Scriptable Tags
      • Scriptable Variables
      • Heathen Behaviour
      • Heathen UI Behaviour
    • 📋Tips for Asset Developers
      • Editor Coroutines
      • Package Manger in C#
      • Session State Values
  • Codex
    • Introduction
      • Article Design Guide
        • Evolution
          • Early Period
          • Middle Period
          • Late Period
      • Codex Organization
    • Irish
      • Folklore
        • Introduction
        • Characters
          • Déithe
            • Cacht
            • Lugh
            • Dag Dia
              • Donn
              • Nuada
              • Ogma
            • Mother?
              • Banba
                • Appearance
                • Name
              • Érui
                • Appearance
                • Name
              • Fódla
                • Appearance
                • Name
            • Father ?
              • Éthur Mac Cuill
              • Céthur Mac Gréine
              • Téthur Mac Cecht
        • Concepts
          • Binding Tablet
          • Druids
          • Sociaty
          • Patron Gods
          • Bile
          • Time
        • Food
          • Elderberry Capers
          • Elderberry Wine
          • Mead
        • Peoples
          • Fomóire
          • Research Note
            • Hunter Gathers
            • Neolithic Farmers
            • Bronze Age
        • Locations
          • Lughmhagh
          • Temair
            • Name
      • Research
        • Historical Backdrop
        • Disambiguation
          • Banshee
          • Celt
          • Gods and Goddesses
          • Lebor Gabála Érenn
          • Milesians
          • Mother Goddess
          • Sovereignty Goddess
          • The Morrígan
          • Triple Persona
          • Tuatha Dé
          • Wicker Man Sacrafice
        • Links
          • Social Factors
          • Lugh
            • Name
          • Ogma
          • Astronomy
          • Time
        • Sources
        • WIP
          • Artefacts
          • Beings
            • Cannon
              • Belgae
              • Fomorians
              • Síog
              • Tuatha Dé Danann
            • Derivative
              • Milesians
              • Muintir Nemid
          • Characters
            • Cannon
            • Derivative
          • Concepts
          • Events
          • Languages
          • Music
          • Places
          • Sources
          • Stories
          • Styles
Powered by GitBook
On this page
  • Introduction
  • What can it do?
  • Events
  • Started
  • Updated
  • Completed
  • How To
  • Get the available scenes
  • Check if a scene is loaded
  • Set Scene Active
  • Transition between scenes
  • Additive Load / Unload
  1. Toolkit for UI & UX
  2. Unity
  3. API

Scenes

Advanced scene management made easy

PreviousLogNextScreenshot

Last updated 2 years ago

Like what your seeing?

Support us as a GitHub Sponsor and get instant access to all our assets, exclusive tools and assets, escalated support and issue tracking and our gratitude. These articles are made possible by our GitHub Sponsors ... become a sponsor today!

Introduction

public static class API.Scenes

Did you know Unity can manage multiple scenes at once?

Want to learn more about multi-scene architectures? read this

Multi-Scene ArchitectureHeathen KB

The Scenes interface makes working with multiple scenes simple and straitforward and provides useful tools and events making it trivial to set up loading notifications, page loaders and more.

What can it do?

  • Single line call to load and unload multiple scenes at once

  • Iterate over available scenes and loaded scenes

  • We handle the coroutines and activations for you

  • Start, Update and Completed events and componenets make it easy to connect to your UI and other game systems.

Events

Started

API.Scenes.EventStarted;

Invoked when a process is started. The provided paramiters will indicate what scenes are changing and in what way and progress for load, unload and overall will be reported.

Updated

API.Scenes.EventUpdated;

Invoked on each frame of progress during an operation and indicates what scenes are being effected and how as well as the progress for unload, load and total progress.

Completed

API.Scenes.EventCompleted;

Invoked when a process completes and indicates what scenes where effected.

How To

Get the available scenes

This will return an array of the Scenes available to the system. Typically this is not needed however in mod supported games the collection of scenes that are available may change at runtime compared to development time.

var scenes = API.Scenes.AvailableScenes;

This returns all scenes known by the system rather or not they are currently loaded. To fetch only the array of scenes that are currently loaded you can use

var loadedScenes = API.Scenes.LoadedScenes;

Check if a scene is loaded

In multi-scene games various systems can effect what scenes are loaded and unloaded when. It then offten becomes useful to test if a given scene is currently loaded or not.

if(API.Scenes.IsSceneLoaded(scene));

You can test by scene build index or the name of the scene.

Set Scene Active

Unity only ever has 1 scene active at a time, the active scene dicates which lighting environment is used. You can set a given scene active at any time via

API.Scenes.SetSceenActive(scene);

Transition between scenes

Unique to Heathen's system is the ability to transition between batches of scenes all at once. That is you can instruct the system to unload multiple scenes at the same time it is loading mutliple scenes and indicate which loaded scene you wish to make active if any.

Transition operations take a callback paramiter which is invoked every update frame and indicate the progress of the operation.

API.Scenes.Transition(componenet, from, to, setActive, callback);

The transition operation has mutliple overloads to offer you the most efficent and simplest 1 line call possible for you given use case. You will notice that all Transition operations include a MonoBehaviour paramiter, this is used to manage the internal UnityEngine.SceneManager and its coroutines. You can pass any MonoBehaviour into this call so long as its not being unloaded 😄

Additive Load / Unload

You can add and remove scenes from the set of loaded scenes at anytime using the Load and Unload operations. These have the same requirements as the Transition operation in that they do requrie you pass in a MonoBehaviour reference.

API.Scenes.Load(componenet, scene, callback);
API.Scenes.Unload(componenet, scenes, callback);
Logo