This lists what is in the scene and what references what. The shipped scene was generated from this layout.
Hierarchy #
Main Camera Camera, AudioListener, DemoFollowCamera
Directional Light
EventSystem Input System UI module when the Input System is installed, else the standalone module
Discord Social DemoSetupCheck, PlaceholderNetwork, DiscordLobbySession, DemoFlow
(Discord Social itself is a subsystem, not in the scene)
Canvas Screen Space Overlay, scaled with screen size from 1280 x 720
Menu three columns: Account, Friends, Lobby
Session HUD / Session arena, Stage (DemoSessionStage), session bar with Leave session
Voice Settings DiscordVoiceSettingsPanel, off until Settings is pressed
Invite Prompt DiscordInvitePrompt, child Panel
Tooltip DiscordTooltip, child Panel and Label
References #
| Component | Field | Points at |
|---|---|---|
DemoFlow | session | the DiscordLobbySession |
menu, sessionView | the Menu object and the Session object | |
startButton | Menu/Lobby/Start Session | |
errorLabel | Menu/Lobby/Error | |
DemoSessionStage | session, followCamera, pawnPrefab | the session, the camera’s DemoFollowCamera, Prefabs/Demo Pawn |
DiscordConnectionStatus (on Connection) | label, signIn, signOut | the status text and the two buttons |
DiscordUserList (on Friends List content) | content, recordTemplate, groupByPresence, headerTemplate, searchField | the list content, Friend Row, on, Group Header, Friends/Friend Search |
DiscordFriendRequestList (received) | incoming, content, recordTemplate | true, its content, Request Row |
DiscordFriendRequestList (sent) | same, with incoming false | |
DiscordLobbyMemberList | session, content, recordTemplate | the session, its content, Member Row |
DiscordVoiceBar (lobby and session bar) | session, joinLeave, mute, deafen and their labels | the session and the three buttons |
DiscordVoiceParticipantList (on Voice List content) | content, recordTemplate | the list content, Voice Row |
DiscordVoiceSettingsPanel (on Voice Settings) | inputDevice, outputDevice, inputVolume, outputVolume, inputMode, the four toggles | the controls in the panel |
DiscordLobbyCode | session, field, copy | the session, the code field, the Copy button |
DiscordJoinLobby | session, code, join | the session, the code field, the Join button |
DiscordAddFriend | username, send, status | the field, the Send button, the status text |
DiscordInvitePrompt | session, panel, message, accept, decline | the session and the prompt’s parts |
DiscordTooltip | panel, label | the tooltip panel and its text |
Buttons wired in the scene #
The Create lobby, Leave lobby, Start session and Leave session buttons call DiscordLobbySession.Create, DiscordLobbySession.Leave, DemoFlow.StartSession and DemoFlow.LeaveSession through persistent onClick listeners. Every other button is wired by its component in Awake.
Row prefabs #
Each row has a DiscordUserProfile whose avatar, displayName.label and statusLabel.label are set.
| Prefab | Extra components |
|---|---|
Friend Row | an Invite button with DiscordInviteButton |
Request Row | Accept, Decline and Cancel buttons with DiscordFriendRequestRow |
Member Row | a child object named Host, off by default |
Group Header | a text label, used for the Online and Offline headers |
Voice Row | speaking light, avatar and name, a MUTED marker, a Mute toggle and a volume slider with DiscordVoiceParticipantRow |
Demo Pawn | capsule, CharacterController, DemoPawn, a 3D AudioSource and a DiscordVoiceSource, a child text for the name |
Settings outside the scene #
The Application Id is set in Project Settings, Subsystems, Discord Social (the asset Assets/Settings/DiscordSocialSettings.asset). The scene does not store it.