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
  • The Solution
  • Staffing
  • Partners
  • Considerations
  • Scope
  • Goals
  • Budget
  • What to expect
  • Discovery
  • Strategy
  • Professional Service Management
  • Managed Services
  • Typical Publisher
  1. General
  2. Getting Started

Sourcing Resources

It's dangerous to go alone take this ⚔️

PreviousIndie Check ListNextCommunity

Last updated 11 months ago

Like what you're seeing?

Support us as a 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 ... become a sponsor today!

Introduction

We can help! Learn more in our Services section.

Most developers are a small studio, or even teams of one, and lack the resource in house to meet all the needs of running a business as a commercial game developer. This lack of complete in-house capacity is however not unique to the indie. AAA studios, even the largest currently in existence still make heavy use of contractors and outsourcing of key aspects to meet the huge demands of developing and operating a game.

Staffing up is not the only option and not always the best choice for your studio and project. Keeping your studio focused and agile means keeping your headcount down and avoiding the staff up and layoff cycle popular in prior generations. The moral question of staffing up for subsequent layoff is another area that doesn't sit well with many, not to mention the "Gold Crutch" that practice typically causes.

The Solution

For any business there are two options:

  1. Staff up This should be self explanatory, you employee staff on a salary to do work as part of your organization.

  2. Partners / Outsourcing This is the selection of another company that you contract to deliver on some body of work. The can be as small as a bit of consultation and guidance or as significant as full professional service outsourcing ... effectively contracting another company to be your Marketing department, Art department or whatever need you may have.

Technically 3 options Freelancer / Private Contract / Temporary Labour

In our opinion this is not viable at indie scale, professional level private contractors are private because they can demand a serious premium and effectively choose where and when they work ... e.g. out of the typical indie budget but used by some establish companies and studios for very specific needs. Budget options in private contracting are high risk, require significant management and generally are not suitable for smaller studios that really need the experienced source to uplift them, not a budget resource to gap-fill.

Staffing

The specifics of employment will very by region. Make sure you understand the legal aspects of entering into an employment contract as the employer or employee.

Understand that as much as pop-culture likes to joke about it, managing people is a hard skill to learn. Being a manager requires considerable investment, study and effort to be done well. Like any other skilled profession its simply not for everyone and it may be something you need to staff for. ... Yes, we are suggesting you consider hiring a manager to hire and manage your team and yourself.

Partners

Finding, selecting and managing partners can be a challenge in and of its self. Depending on your strategy and budget you may need to engage and orchestrate a number of partners to meet your goals. Heathen can be contracted to provide Managed Services. This means we can help you research, select and manage professional partnerships. As with any partner, engagement, discovery, and strategy are the first steps. Before you jump in though, look for a partner who is willing to work with you throughout your journey. This is very important. Shop around and don't be afraid to say "no thanks"

Considerations

When you decide to source some aspect of your company or project's tasks, you need to be clear as to what the scope of each "partner" will be. The following are some high level topics to keep in mind when defining your "ask". What do you mean by "ask"? This is just a term that defines what your "asking" the partner to do. Your scope, terms, conditions, budget, timelines and anything else that is important for the relationship to succeed.

Scope

This one should be obvious, but you need to define the bounds of what you need each partner to do. Are you looking to fully outsource all marketing efforts, maybe you have the manpower but lack the expertise so you only need the management or consultation, perhaps you're a marketing genius and are looking for manpower. You need to think about this for each relationship you plan to establish and define the scope in no uncertain terms, what will be in house, what do you need the partner to do and what will be the interface between you and them.

Goals

Budget

This topic needs its own article, for now simply understand what your budget is and be serious about it. If you want to create a commercially viable game, built by professionals, then you're going to have to pay professional fees.

What to expect

Understanding what you need from each partnership you engage in, is of course key and something that should be part of the initial engagement with any professional partner. It's often called the "Discovery Phase" or similar.

Discovery

This is just that initial meeting and the result of filling out any of those "contact us forms" for any given consultant. The first contact who you're likely to be chatting with is a salesman first and foremost, so keep that in mind. Firms that deal with partnerships like this want your business, so they are likely to say "yes" a lot even though they probably don't fully understand the question or have the skills to deliver on it if they did.

During this initial meeting you should be leading the conversation. Your objective is to "vet" the prospective partner, that means getting a feel for whether or not this company can even meet your needs. Next, you need to understand if this partner can meet your budget and timeline, they will be resistant to answering this line of questioning understandably since they cant really "quote" work they haven't designed, let them know you're looking for an understanding on the "order of magnitude" this will cost you in both time and money to make sure it suits your budget and project.

Strategy

This is the first bit of real work, note that most partners will charge you for this, understandably as its actually a lot of work to do well.

Professional Service Management

Much like thinking about how you're going to select and manage staff, you need to think about how you're going to select and manage partners. "Professional Services Management" is the term we usually see for this function and refers to the coordination and management of organizations, teams and individuals involved in an effort to keep them on task, time, budget and delivering to standard.

You can of course staff one or more resources to fill this need. These sorts of roles are often called "director" or similar and simply help spread the burden across multiple internal people. Its also possible to outsource some or all of this and you have a few options with that.

Managed Services

In our biased opinion this is the best method for most indies. This is our recommendation but of course its also a service we provide so we are biased.

Sometimes called a "Network" or "Publishing Services", its a single company you partner with who will handle all other aspects you require as a single "managed service" hence the term we use. As noted, Heathen provides this service under its Hel House brand. We (and others like us) can engage with you to help you devise a sourcing strategy and to execute on it. That includes all aspects including researching viable options, advising on selection, management of the selected partners, handling of invoicing, dispute management and all other agreed upon functions.

Managed Services differs from traditional Video Game Publisher services in that managed services are just like any other contracted work. An engagement is requested, a solution proposed and agreed, invoices issued and work delivered. Funding is not part of the service, stake is not taken in your company and revenue share need not be involved.

Typical Publisher

Publishers can be as dangerous as they can be helpful. Unfavourable contract terms have lead to the death of many a studio. In the same respect this critical failure of traditional publishers is well known and many modern publishers are at least theoretically less problematic. Our advice is to simply be very carful with who and how you split revenue or stake and make sure you have a plan for failure.

This is what a "publisher" used to be for smaller development studios, though that role has changed a lot. Traditionally a publisher was a larger company with greater reach, bigger budgets and more contacts. A good publisher could act as your point of management helping you outsource aspects of development especially common needs like marketing, localization, testing, etc. typically for a stake in your company.

In the modern landscape publishers are more frequently a financial instrument, and don't get overly involved in the operations side of your business. Publishers that are interested in working with indies don't typically take a stake in your company but will take a revenue split. Indie Publishers often have a network of studios so can help you create connections but aren't likely to be actively involved.

What objective are you looking for and expect this partner to help you obtain? A good partner will dig into this during "Discovery" but you should have a good understanding of your expectations going into that first contact. Not sure what your goals should be? good, you're honest, so your first goal is to understand what's possible. You can obtain that goal through self learning or consultation or a mix of the two. Knowledge bases like this one and can help you get started with self research, and of course Heathen is a skilled and experienced consultancy .

🤩
GitHub Sponsor
GitHub Sponsors
😉
communities like ours