Update: As of June 2025, all games in HypeHype are multiplayer by default. The previously available modes, Only Chat and Custom Multiplayer, have been deprecated.
In HypeHype, every game is a multiplayer game by default. Each period of time when someone plays your game is called a session. Multiple players can join in the same session, and it is up to you to decide what type of interaction can happen between the players.
Players in the same session appear as ghosts within the game. Collisions and physics interactions between players can be enabled, and synchronization of actions like spawning or destroying is handled manually.
To change the basic multiplayer setup, open Settings -> Multiplayer.
By default, the maximum number of players in a session is 100. If ghost players are distracting during gameplay, try lowering the max player count or set the player display style to transparent. Reducing the size of player name labels may also help. To make the game strictly single-player, simply set the number of players to 1.
Visible player reusables setting is initially toggled to Automatic. This is a good setting for most games: it means that the game will try to automatically detect the player character and show it to other players. The non-automatic setting is needed if you e.g. spawn new reusables - like a pet follower - for a player during the game and want these to be shown to others.
Physical game objects, such as a football, can be shared and synchronized for all players. You need to name the objects or make them reusable. Then select the objects for syncing in Settings > Multiplayer > Physical objects > Add.
If you don't want the ghosts to run through each other, turn on the collisions in Settings > Multiplayer > Enable player collisions.
Note: Toggling collisions on allows you to also define an object group. If you select the same group that the player is in (typically: green), all raycasters and other detector nodes will react to player ghosts as well. This may be a good thing or a bad thing - depending on the case.
Remember to playtest your game to ensure all players experience it as intended.
When you tap Restart during playtest, you'll see your own ghost from the previous run. Keep in mind, you can't control multiple ghosts on the same device.
To truly test ghost behavior, it's best to play the game on multiple devices — either using the same user account or by asking a friend to help. In fact, getting outside feedback is always a smart move when developing a game!
An invisible object inside the goal detects when the football enters using a Collision detector. A Destroyer node has the football as its target.
The On Collision Start output of the Collision Detector connects to the Execute input of a Player broadcaster. A Player broadcast listener listens for that same signal. When the signal is received, the Destroyer executes — removing the football in sync across all players.
Player broadcasting ensures the event happens for all players — otherwise, it only affects the one who triggered it.
Once the football is destroyed, it should respawn at the center of the field after a short delay.
Another Player broadcast listener listens for the signal sent when a goal occurs. An Interval node starts its timer when the signal is received, and after 1 second, it executes a Spawner, which has the football as its target targeting the football.
Here's a checklist of common events that you may want to be synchronized for all players.
Event | How to Sync? |
---|---|
Players looks change | Automatically synced, as long as the Multiplayer setting Visible player reusables is set to Automatic |
Player objects are spawned mid-game | If the player gets e.g. a pet follower in the middle of the game and this should be shown to all players, toggle off Visible player reusables: Automatic in Multiplayer settings and specify the spawned object separately. Note: these objects must be defined as reusable. |
Physical objects react to players in sync | Objects such as footballs are synchronized with the Multiplayer setting Physical objects |
Players bump into each other | Turn on Enable player collisions in the Multiplayer settings |
Collision detectors or raycasters react also to ghosts | Turn on Enable player collisions in the Multiplayer settings and select the Object group that matches with the player (typically the green group) |
Doors open, objects spawn or disappear in sync for all players | Events like these must be synced with the Player broadcaster and Player broadcast listener nodes. |
A single value like the health of the World Boss is synced for all players | Use the Global State node for saving number values. Any changes to the value of the Global State are automatically updated for all players. |
A game event happens when a certain amount of players gather | Define the area and the amount of required players with the Player Beacon node. The detection and output events of this node are automatically synchronised |
A timed event happens simultaneously for all players | The World Info node provides an accurate global time that can be used for synchronizing simultaneous events. |
These nodes can be used to build logic in multiplayer games.
Player Broadcaster | Sends a signal to all players in the session. Useful for syncing actions such as spawning or destroying objects, triggering events, or sending player notifications. |
Player Broadcast Listener | All players will receive the signal that Player Broadcast Listener picks up (vs. regular broadcast listener which only affects individual players at a time) |
Multiplayer Events | This node detects when a player joins the game and can provide the Player Index that is used for identifying each player |
Multiplayer Info | Add this node to the scene if you need to use a player's name, position or profile picture in your game. Can also provide the Party index |
Party Info | This node provides information about a player party, such as the number of members and each player's index. Requires the party index from the Multiplayer info node to identify which party the data belongs to. |
Player Beacon | Detects all players in a specific area |
Global State | Syncs a number for all players in a game |
World Info | Useful for creating timed events for all players |
Score | In order to show an in-game leaderboard, a game needs to have a scoring system |
Object Changer | Any changes made to a player character using the Object Changer node will be visible to others by default |
Value Inspector | Also Value Inspector can provide the Player Index of a player, when you fetch data from the Object category. |
Co-Op Boss Fight - the template features the logic for a boss fight in which the hit points of the boss as well as the hits that the boss takes are updated for all players.
Custom Accessories - this template shows how to assign different hats to each player. The current hat is also saved: returning players will be wearing the hat the had on when they last played.
Timed Events for All Players - multiplayer logic isn't needed for creating timed events that everyone in the session can experience. In this demo, the World Info node is used to keep track of time.
Notify Players - You could notify the players about a number of events: when someone completes the game, opens an area for everyone, dies, or finds a treasure.
Notifications to all players are sent using the Player Broadcaster node, which is executed in this example when a player collides with a star.
Notifications are received with a Player Broadcast Listener node. Also player names can be included in notifications: Player Broadcast Listener has outputs for sending the information on who triggered the broadcast event.
Open a Gate when Players Gather - It's pretty easy to unlock game events when a certain number of players gather in an area.
How does it work? 💡
If new players enter the game at this point, they will see a closed door and will have to work together to open it.
📢 Good to know: A player must be properly inside the Player Beacon sphere for the node to detect it.