Skip to content
Games by Hyper
Sign Up / Login
Games by Hyper

Generic

  • QuickStart
  • Support
  • Purchase Options
  • Roadmap
  • FAQ
  • Learning
  • For Professional Studios

Templates

  • Template Logic and flexibility

Shared Infrastructure

  • Gameplay Tags
  • Datamanagement
  • Folder Structure

Item Management

  • Inventory
  • Jigsaw Inventory
  • List Inventory
  • Respawn Actor Manager
  • Hotbar
  • Crafting
  • Item Allocator
  • Vendor
  • Icon Creator
  • Interactive Foliage
  • Inspection System

Interaction and Feedback

  • Interaction System
  • Outliner System

UI

  • Main Menu
  • HUD
  • Information Prompt

Locomotion

  • Animation Framework
  • Extended Movement Component
  • Leader Posing
  • Custom-Skeletal-Meshes

Combat

  • Attribute Manager
  • Team Affiliation
  • Equipment Manager
  • Ragdoll System
  • Ability System
  • Target Locking
  • Weapon Attachment System
  • Limb System
  • Combat-framework

Construction and Survival Mechanics

  • Building System
  • Mineable Rocks
  • Tree Cutting
  • Farming System
  • Fishing System
  • Swimming System

Game Management

  • Global Save System
  • Respawn System
  • Session Manager
  • Game Mode System
  • Spectate System
  • Player Manager
  • Team Manager
  • Score Manager
  • Guild Manager
  • Party Manager

Multiplayer

  • Online Multiplayer Framework
  • Replication Subsystem
  • Chat System
  • Console Command Manager

AI

  • Basic AI
  • NPC Behavior System
  • Perception System
  • Companion System

Exploration and Narrative

  • Dialogue System
  • Memory System
  • Quest Manager
  • Map System
  • Teleport System
  • Guide System
  • Event Manager
  • Visual Novel System
  • Dungeon Adventure Kit
  • Region Manager

Progression and Leveling

  • Level Manager
  • Unlock System
  • Reputation System

Security and Control Systems

  • Drone System
  • Lock System
  • Security System
  • Defense System
  • Defense System – Modern
  • Defense System – Primitive

Character and Player Systems

  • Character Creator
  • Class System
  • Mount System
  • First Person

Environmental Control and Immersion

  • Time and Day Night Cycle management
  • Weather System
  • Background Music System
  • Footstep System

Environment Building

  • Mesh to Actor Swap System
  • Auto Landscape
  • Cave
  • Deform
  • Ditch
  • Exclusion
  • Forest
  • Forest-Basic
  • Lake
  • Level Instances
  • Mesh
  • Path
  • Props
  • Spline
  • Village
View Categories
  • Home
  • Docs
  • Spectate System

Spectate System

7 min read

Spectate System #

Spectate System #

  • Overview
  • Core Concepts
  • Components
  • Spectate Restrictions
  • Alive Player Prioritization
  • Player Switching
  • Integration with Game Mode System
  • How-To: Enable and Configure Spectating
  • Examples and Use Cases
  • See Also

1. Overview #

The Spectate System allows players to view the game from other players’ perspectives. It supports team-based restrictions, alive player prioritization, and manual player switching via input controls.

Key Features: – Spectate other players from their point of view – Team-based restrictions: spectate only teammates (not enemy teams) – Override options: customize who is allowed to spectate and who can be spectated – Alive player prioritization: optionally exclude dead players from the spectate list – Player switching: cycle through spectatable players using left/right arrow keys – Game Mode integration: coupled with the Game Mode System for team and player state queries

Use Cases: – Team-based games where dead players spectate living teammates – Tournament observer modes with custom spectate permissions – Training or coaching scenarios where one player observes another – Post-match replays where players cycle through different perspectives


2. Core Concepts #

  • Spectator: The player who is viewing another player’s perspective (the one doing the spectating).
  • Spectate Target: The player being spectated (whose view is shown to the spectator).
  • Team-Based Spectating: The current implementation restricts spectators to only view teammates (players on the same team). Enemy team members are not visible in the spectate list.
  • Alive Player Prioritization: An option that filters out dead players from the spectate list, ensuring spectators only view living players.
  • Override Options: Configurable settings to customize spectate permissions (who can spectate, who can be spectated).
  • Player Switching: The ability to cycle through the list of spectatable players using input controls (left/right arrow keys).

3. Components #

Spectate System Component (AC_Spectate): – Manages the spectator’s current target and the list of spectatable players – Enforces team-based restrictions and alive player prioritization – Provides player switching functionality (cycle left/right through available targets) – Integrates with the Game Mode System to query team affiliation and player state (alive/dead)


4. Spectate Restrictions #

The Spectate System provides configurable restrictions to control who can spectate and who can be spectated.

4.1. Team-Based Spectating (Current Implementation) #

Behavior: – Spectators can only view players on their own team. – Enemy team members are excluded from the spectate list. – This restriction is enforced by querying the Game Mode System (or Team Manager) for team affiliation.

Use Case: Competitive team-based games where revealing enemy positions via spectating would be unfair (e.g., dead players spectating enemies and communicating their locations to living teammates).

4.2. Override Options #

The system supports overriding the default team-based restriction:

  • Who is allowed to spectate: You can specify which players or roles are permitted to enter spectate mode (e.g., only dead players, or specific observer roles).
  • Who can be spectated: You can customize the list of spectatable players (e.g., allow spectating all players regardless of team, or restrict to specific players).

Use Case: – Observer/coach roles that can spectate all players (both teams). – Custom game modes where spectating is unrestricted (e.g., free-for-all or non-competitive modes). – Replay systems where a spectator can view any player’s perspective.


5. Alive Player Prioritization #

Behavior: – When enabled, the Spectate System prioritizes alive players in the spectate list. – Dead players are still shown in the list (not excluded), but alive players appear first or are easier to access. – The system does not automatically switch targets when the current spectate target dies; switching requires manual input (left/right arrow).

Use Case: – Team-based shooters or battle royales where spectators (dead players) prefer to view living teammates but can still manually switch to dead players if needed. – Avoid forcing spectators to view inactive/dead player perspectives by default.

Configuration: This is an option that can be toggled (enabled/disabled).


6. Player Switching #

Controls: – Configurable input actions (commonly bound to left/right arrow keys or similar navigation controls). – Previous Player: Switch to the previous player in the spectate list. – Next Player: Switch to the next player in the spectate list.

Behavior: – The spectate list is not explicitly ordered; it is based on the player array or team list (depending on implementation context). – Switching cycles through the list in a loop (e.g., if you are spectating the last player in the list and press next, it wraps to the first player). – The spectator’s view immediately transitions to the new target’s perspective. – Switching is manual only; the system does not automatically switch targets when the current target dies or changes state.

Use Case: – Dead player wants to check on different teammates to see who is still alive or in a good position. – Observer wants to quickly scan through multiple players to find interesting gameplay moments.

Implementation Notes: – Ensure input bindings are configured for spectate switching actions in your project’s input settings.


7. How-To: Enable and Configure Spectating #

Step 1: Add the Spectate System Component #

  • Add the AC_Spectate component to the character.

Step 2: Configure Spectate Restrictions #

  • Set Team-Based Spectating (enabled by default in the current implementation).
  • Optionally configure Override Options to customize who can spectate and who can be spectated:
    • Example: Allow observer roles to spectate all players (both teams).
    • Example: Restrict spectating to a whitelist of specific players.

Step 3: Enable Alive Player Prioritization (Optional) #

  • Set the Alive Player Prioritization option to true (or enable the corresponding property).
  • The Spectate System will prioritize alive players in the spectate list (dead players remain accessible but are lower priority).

Step 4: Configure Input Bindings #

  • Ensure spectate switching input actions are bound in your project’s input settings (commonly mapped to left/right arrow keys or similar navigation controls).
  • Test switching between spectate targets in-game.

Step 5: Test #

  • Start a multiplayer session with multiple players on different teams.
  • Kill a player (so they enter spectate mode).
  • Verify the spectator can only see teammates (if team-based spectating is enabled).
  • Use the configured input controls to cycle through spectate targets.
  • Verify alive player prioritization (if enabled) prioritizes living players in the spectate order.

8. Examples and Use Cases #

Example 1: Team Deathmatch Spectating #

Scenario: A player dies in a team-based shooter and wants to spectate their living teammates.

Implementation: – Spectate System is configured with Team-Based Spectating enabled and Alive Player Prioritization enabled. – When the player dies, they automatically enter spectate mode (handled by Game Mode System or Player Manager). – The spectator sees a list of teammates with living players prioritized; they can cycle through them using the configured input controls. – Enemy team members are not visible in the spectate list.

Example 2: Observer/Coach Mode #

Scenario: A coach wants to spectate all players (both teams) to analyze gameplay.

Implementation: – Create a special “Coach” role or player type. – Use Override Options to allow the Coach to spectate all players regardless of team. – Disable Alive Player Prioritization so the Coach can spectate players in any order (alive or dead). – The Coach can cycle through all players in the match using the configured input controls.

Example 3: Battle Royale Spectating #

Scenario: In a battle royale game, eliminated players spectate the player who eliminated them, then can switch to other living players.

Implementation: – When a player is eliminated, set their initial spectate target to the player who eliminated them. – Enable Alive Player Prioritization so living players appear first in the spectate order. – Spectators can use the configured input controls to switch to other players. – Team-based spectating may be disabled (or configured for squad-based spectating if the game has squads).

Example 4: Free-For-All Spectating #

Scenario: In a free-for-all deathmatch, dead players can spectate any other player.

Implementation: – Disable Team-Based Spectating (or configure it to treat all players as one “team” or no team). – Configure Alive Player Prioritization as desired (enabled to prioritize living players, or disabled to show all players equally). – Spectators can cycle through all players using the configured input controls.


9. See Also #

  • Game Mode System: Provides team affiliation and player state (alive/dead) data to the Spectate System.
  • Team Manager: Manages team assignments and team-based logic.
  • Player Manager: Tracks player states and may fire events when players die/respawn.
  • HUD: May display spectate UI (e.g., “Now spectating: PlayerName” indicator).
What are your Feelings
Still stuck? How can we help?

How can we help?

Table of Contents
  • Spectate System
    • Spectate System
    • 1. Overview
    • 2. Core Concepts
    • 3. Components
    • 4. Spectate Restrictions
      • 4.1. Team-Based Spectating (Current Implementation)
      • 4.2. Override Options
    • 5. Alive Player Prioritization
    • 6. Player Switching
    • 7. How-To: Enable and Configure Spectating
      • Step 1: Add the Spectate System Component
      • Step 2: Configure Spectate Restrictions
      • Step 3: Enable Alive Player Prioritization (Optional)
      • Step 4: Configure Input Bindings
      • Step 5: Test
    • 8. Examples and Use Cases
      • Example 1: Team Deathmatch Spectating
      • Example 2: Observer/Coach Mode
      • Example 3: Battle Royale Spectating
      • Example 4: Free-For-All Spectating
    • 9. See Also

© 2025 Games by Hyper

X Reddit Patreon Discord Linkedin YouTube

Review Cart

No products in the cart.

We noticed you're visiting from Netherlands. We've updated our prices to Euro for your shopping convenience. Use United States (US) dollar instead. Dismiss

  • Hyper Bundle Configurator
  • Shop
    • Game Templates
    • Courses
    • Loyalty Store
    • Survival Modules
    • RPG Modules
    • Environment Building
    • Browse All
  • My account
  • Become a Member
  • Cart
  • Get Help
    • FAQ
    • Upgrade your Game Template
    • Documentation
  • About Hyper
  • News & Updates