Panorama Javascript API
This is the client-side Javascript API documentation for the Panorama UI system in SteamVR Home. The documentation can be dumped using the 'cl_panorama_script_help_2' console command.
Static Classes
These classes each have have a global accessor variable.
$
Global functions.
Accessor variable: $
Function | Signature | Description |
---|---|---|
Msg | Msg( js_raw_args js_raw_args_1 )
|
Log a message |
DispatchEvent | DispatchEvent( js_raw_args js_raw_args_1 )
|
Dispatch an event |
DispatchEventAsync | DispatchEventAsync( js_raw_args js_raw_args_1 )
|
Dispatch an event to occur later |
RegisterEventHandler | RegisterEventHandler( js_raw_args js_raw_args_1 )
|
Register an event handler |
RegisterForUnhandledEvent | RegisterForUnhandledEvent( js_raw_args js_raw_args_1 )
|
Register a handler for an event that is not otherwise handled |
UnregisterForUnhandledEvent | UnregisterForUnhandledEvent( js_raw_args js_raw_args_1 )
|
Remove an unhandled event handler |
FindChildInContext | FindChildInContext( js_raw_args js_raw_args_1 )
|
Find an element |
AsyncWebRequest | AsyncWebRequest( js_raw_args js_raw_args_1 )
|
Make a web request |
CreatePanel | CreatePanel( js_raw_args js_raw_args_1 )
|
Create a new panel |
Localize | Localize( js_raw_args js_raw_args_1 )
|
Localize a string |
Language | Language( js_raw_args js_raw_args_1 )
|
Get the current language |
Schedule | Schedule( js_raw_args js_raw_args_1 )
|
Schedule a function to be called later |
CancelScheduled | CancelScheduled( js_raw_args js_raw_args_1 )
|
Cancelse a scheduled function |
GetContextPanel | GetContextPanel( js_raw_args js_raw_args_1 )
|
Get the current panel context |
RegisterKeyBind | RegisterKeyBind( js_raw_args js_raw_args_1 )
|
Register a key binding |
Each | Each( js_raw_args js_raw_args_1 )
|
Call a function on each given item |
CPanoramaScript_GameEvents
Interface for Game events
Accessor variable: GameEvents
Function | Signature | Description |
---|---|---|
Subscribe | "GameEvents".Subscribe( cstring pEventName, js_value funcVal )
|
Subscribe to a game event |
Unsubscribe | "GameEvents".Unsubscribe( integer nCallbackHandle )
|
Unsubscribe from a game event |
SendCustomGameEventToServer | "GameEvents".SendCustomGameEventToServer( cstring pEventName, js_object jsObject )
|
Send a custom game event to the server |
SendCustomGameEventToAllClients | "GameEvents".SendCustomGameEventToAllClients( cstring pEventName, js_object jsObject )
|
Send a custom game event to the server, which will send it to all clients |
SendCustomGameEventToClient | "GameEvents".SendCustomGameEventToClient( cstring pEventName, integer playerIndex, js_object jsObject )
|
Send a custom game event to the server, which will then send it to one client |
SendEventClientSide | "GameEvents".SendEventClientSide( cstring pEventName, js_object jsObject )
|
Send a client-side event using gameeventmanager (only useful for a few specific events) |
CPanoramaScript_CustomNetTables
Interface for Nettables
Accessor variable: CustomNetTables
Function | Signature | Description |
---|---|---|
GetTableValue | "CustomNetTables".GetTableValue( cstring pTableName, cstring pKeyName )
|
Get a key from a custom net table |
GetAllTableValues | "CustomNetTables".GetAllTableValues( cstring pTableName )
|
Get all values from a custom net table |
SubscribeNetTableListener | "CustomNetTables".SubscribeNetTableListener( js_raw_args args )
|
Register a callback when a particular custom net table changes |
UnsubscribeNetTableListener | "CustomNetTables".UnsubscribeNetTableListener( integer nCallbackHandle )
|
Unsubscribe from a game event |
CPanoramaScript_SteamUGC
Interface for Steam user generated content.
Accessor variable: SteamUGC
Function | Signature | Description |
---|---|---|
SubscribeItem | "SteamUGC".SubscribeItem( cstring pPublishedFileID, js_value funcVal )
|
Subscribe to a piece of UGC |
UnsubscribeItem | "SteamUGC".UnsubscribeItem( cstring pPublishedFileID, js_value funcVal )
|
Unsubscribe from a piece of UGC |
GetSubscriptionInfo | "SteamUGC".GetSubscriptionInfo( cstring pPublishedFileID )
|
Get a key from a custom net table |
SetUserItemVote | "SteamUGC".SetUserItemVote( cstring pPublishedFileID, boolean bVoteUp, js_value funcVal )
|
Vote on a piece of UGC |
GetUserItemVote | "SteamUGC".GetUserItemVote( cstring pPublishedFileID, js_value funcVal )
|
Get the user's vote on a piece of UGC |
AddToFavorites | "SteamUGC".AddToFavorites( cstring pPublishedFileID, js_value funcVal )
|
Add an item to the user's favorites list |
RemoveFromFavorites | "SteamUGC".RemoveFromFavorites( cstring pPublishedFileID, js_value funcVal )
|
Remove an item from the user's favorites list |
CreateQueryAllUGCRequest | "SteamUGC".CreateQueryAllUGCRequest( integer eQueryType, integer eMatchingeMatchingUGCTypeFileType, unsigned unPage )
|
Create a request to query Steam for all UGC |
CreateQueryUGCDetailsRequest | "SteamUGC".CreateQueryUGCDetailsRequest( js_array jsArray )
|
Create a request to query Steam for specific UGC |
AddRequiredTagToQuery | "SteamUGC".AddRequiredTagToQuery( integer handle, cstring pchTag )
|
Adds a required tag to the query |
AddExcludedTagToQuery | "SteamUGC".AddExcludedTagToQuery( integer handle, cstring pchTag )
|
Adds an excluded tag to the query |
ConfigureQuery | "SteamUGC".ConfigureQuery( integer handle, js_object jsObject )
|
Adds a required tag to the query |
SendUGCQuery | "SteamUGC".SendUGCQuery( integer handle, js_value funcVal )
|
Sends the prepared query |
RegisterDownloadItemResultCallback | "SteamUGC".RegisterDownloadItemResultCallback( cstring pPublishedFileID, js_value funcVal )
|
Register a callback to be called when the item is downloaded |
CPanoramaScript_SteamFriends
Accessor variable: SteamFriends
Function | Signature | Description |
---|---|---|
RequestPersonaName | "SteamFriends".RequestPersonaName( cstring pchSteamID, js_value funcVal )
|
Requests the user's persona name |
SetLargeAvatarImage | "SteamFriends".SetLargeAvatarImage( js_raw_args args )
|
Sets the avatar image on the image panel |
CPanoramaScript_SteamUtils
Accessor variable: SteamUtils
Function | Signature | Description |
---|---|---|
GetConnectedUniverse | "SteamUtils".GetConnectedUniverse()
|
Returns the connected universe |
GetAppID | "SteamUtils".GetAppID()
|
Returns the appid of the current app |
CPanoramaScript_VRUtils
Accessor variable: VRUtils
Function | Signature | Description |
---|---|---|
GetVRAppPropertyData | "VRUtils".GetVRAppPropertyData( unsigned nAppID )
|
Get application properties for a VR app with the specified appID |
LaunchSteamApp | "VRUtils".LaunchSteamApp( unsigned nAppID )
|
Launches a Steam application using OpenVR. |
CPanoramaScript_SteamVRHome
Accessor variable: SteamVRHome
Function | Signature | Description |
---|---|---|
SpawnImagePanel | "SteamVRHome".SpawnImagePanel( cstring pPublishedFileID, integer nImageWidth, integer nImageHeight )
|
Creates an in-world image panel entity. |
UI Element Classes
Panel
Function | Signature | Description |
---|---|---|
visible | Panel.visible( boolean boolean_1 )
|
|
enabled | Panel.enabled( boolean boolean_1 )
|
|
checked | Panel.checked( boolean boolean_1 )
|
|
defaultfocus | Panel.defaultfocus( cstring cstring_1 )
|
|
inputnamespace | Panel.inputnamespace( cstring cstring_1 )
|
|
hittest | Panel.hittest( boolean boolean_1 )
|
|
hittestchildren | Panel.hittestchildren( boolean boolean_1 )
|
|
tabindex | Panel.tabindex( float float_1 )
|
|
selectionpos_x | Panel.selectionpos_x( float float_1 )
|
|
selectionpos_y | Panel.selectionpos_y( float float_1 )
|
|
id | Panel.id()
|
|
layoutfile | Panel.layoutfile()
|
|
contentwidth | Panel.contentwidth()
|
|
contentheight | Panel.contentheight()
|
|
desiredlayoutwidth | Panel.desiredlayoutwidth()
|
|
desiredlayoutheight | Panel.desiredlayoutheight()
|
|
actuallayoutwidth | Panel.actuallayoutwidth()
|
|
actuallayoutheight | Panel.actuallayoutheight()
|
|
actualxoffset | Panel.actualxoffset()
|
|
actualyoffset | Panel.actualyoffset()
|
|
scrolloffset_y | Panel.scrolloffset_y()
|
|
scrolloffset_x | Panel.scrolloffset_x()
|
|
actualuiscale_y | Panel.actualuiscale_y()
|
|
actualuiscale_x | Panel.actualuiscale_x()
|
|
style | Panel.style()
|
|
AddClass | Panel.AddClass( cstring cstring_1 )
|
|
RemoveClass | Panel.RemoveClass( cstring cstring_1 )
|
|
BHasClass | Panel.BHasClass( cstring cstring_1 )
|
|
BAscendantHasClass | Panel.BAscendantHasClass( cstring cstring_1 )
|
|
SetHasClass | Panel.SetHasClass( cstring cstring_1, boolean boolean_2 )
|
|
ToggleClass | Panel.ToggleClass( cstring cstring_1 )
|
|
SwitchClass | Panel.SwitchClass( cstring cstring_1, cstring cstring_2 )
|
|
TriggerClass | Panel.TriggerClass( cstring cstring_1 )
|
|
ClearPanelEvent | Panel.ClearPanelEvent( cstring cstring_1 )
|
|
SetDraggable | Panel.SetDraggable( boolean boolean_1 )
|
|
IsDraggable | Panel.IsDraggable()
|
|
GetChildCount | Panel.GetChildCount()
|
|
GetChild | Panel.GetChild( integer integer_1 )
|
|
GetChildIndex | Panel.GetChildIndex( unknown_variant_type unknown_variant_type_1 )
|
|
Children | Panel.Children()
|
|
FindChildrenWithClassTraverse | Panel.FindChildrenWithClassTraverse( cstring cstring_1 )
|
|
GetParent | Panel.GetParent()
|
|
SetParent | Panel.SetParent( unknown_variant_type unknown_variant_type_1 )
|
|
FindChild | Panel.FindChild( cstring cstring_1 )
|
|
FindChildTraverse | Panel.FindChildTraverse( cstring cstring_1 )
|
|
FindChildInLayoutFile | Panel.FindChildInLayoutFile( cstring cstring_1 )
|
|
RemoveAndDeleteChildren | Panel.RemoveAndDeleteChildren()
|
|
MoveChildBefore | Panel.MoveChildBefore( unknown_variant_type unknown_variant_type_1, unknown_variant_type unknown_variant_type_2 )
|
|
MoveChildAfter | Panel.MoveChildAfter( unknown_variant_type unknown_variant_type_1, unknown_variant_type unknown_variant_type_2 )
|
|
GetPositionWithinWindow | Panel.GetPositionWithinWindow()
|
|
ApplyStyles | Panel.ApplyStyles( boolean boolean_1 )
|
|
ClearPropertyFromCode | Panel.ClearPropertyFromCode( unknown_variant_type unknown_variant_type_1 )
|
|
DeleteAsync | Panel.DeleteAsync( float float_1 )
|
|
BIsTransparent | Panel.BIsTransparent()
|
|
BAcceptsInput | Panel.BAcceptsInput()
|
|
BAcceptsFocus | Panel.BAcceptsFocus()
|
|
SetFocus | Panel.SetFocus()
|
|
UpdateFocusInContext | Panel.UpdateFocusInContext()
|
|
BHasHoverStyle | Panel.BHasHoverStyle()
|
|
SetAcceptsFocus | Panel.SetAcceptsFocus( boolean boolean_1 )
|
|
SetDisableFocusOnMouseDown | Panel.SetDisableFocusOnMouseDown( boolean boolean_1 )
|
|
BHasKeyFocus | Panel.BHasKeyFocus()
|
|
SetScrollParentToFitWhenFocused | Panel.SetScrollParentToFitWhenFocused( boolean boolean_1 )
|
|
BScrollParentToFitWhenFocused | Panel.BScrollParentToFitWhenFocused()
|
|
IsSelected | Panel.IsSelected()
|
|
BHasDescendantKeyFocus | Panel.BHasDescendantKeyFocus()
|
|
BLoadLayout | Panel.BLoadLayout( cstring cstring_1, boolean boolean_2, boolean boolean_3 )
|
|
BLoadLayoutFromString | Panel.BLoadLayoutFromString( js_raw_args js_raw_args_1 )
|
|
LoadLayoutFromStringAsync | Panel.LoadLayoutFromStringAsync( cstring cstring_1, boolean boolean_2, boolean boolean_3 )
|
|
LoadLayoutAsync | Panel.LoadLayoutAsync( cstring cstring_1, boolean boolean_2, boolean boolean_3 )
|
|
BLoadLayoutSnippet | Panel.BLoadLayoutSnippet( cstring cstring_1 )
|
|
BCreateChildren | Panel.BCreateChildren( cstring cstring_1 )
|
|
SetTopOfInputContext | Panel.SetTopOfInputContext( boolean boolean_1 )
|
|
SetDialogVariable | Panel.SetDialogVariable( cstring cstring_1, cstring cstring_2 )
|
|
SetDialogVariableInt | Panel.SetDialogVariableInt( cstring cstring_1, integer integer_2 )
|
|
SetDialogVariableTime | Panel.SetDialogVariableTime( cstring cstring_1, int64 int64_2 )
|
|
ScrollToTop | Panel.ScrollToTop()
|
|
ScrollToBottom | Panel.ScrollToBottom()
|
|
ScrollToLeftEdge | Panel.ScrollToLeftEdge()
|
|
ScrollToRightEdge | Panel.ScrollToRightEdge()
|
|
ScrollParentToMakePanelFit | Panel.ScrollParentToMakePanelFit( unknown_variant_type unknown_variant_type_1, boolean boolean_2 )
|
|
BCanSeeInParentScroll | Panel.BCanSeeInParentScroll()
|
|
GetAttributeInt | Panel.GetAttributeInt( cstring cstring_1, integer integer_2 )
|
|
GetAttributeString | Panel.GetAttributeString( cstring cstring_1, cstring cstring_2 )
|
|
GetAttributeUInt32 | Panel.GetAttributeUInt32( cstring cstring_1, unsigned unsigned_2 )
|
|
SetAttributeInt | Panel.SetAttributeInt( cstring cstring_1, integer integer_2 )
|
|
SetAttributeString | Panel.SetAttributeString( cstring cstring_1, cstring cstring_2 )
|
|
SetAttributeUInt32 | Panel.SetAttributeUInt32( cstring cstring_1, unsigned unsigned_2 )
|
|
SetInputNamespace | Panel.SetInputNamespace( cstring cstring_1 )
|
|
RegisterForReadyEvents | Panel.RegisterForReadyEvents( boolean boolean_1 )
|
|
BReadyForDisplay | Panel.BReadyForDisplay()
|
|
SetReadyForDisplay | Panel.SetReadyForDisplay( boolean boolean_1 )
|
|
SetPositionInPixels | Panel.SetPositionInPixels( float float_1, float float_2, float float_3 )
|
|
SetPanelEvent | Panel.SetPanelEvent( js_raw_args js_raw_args_1 )
|
|
RunScriptInPanelContext | Panel.RunScriptInPanelContext( js_raw_args js_raw_args_1 )
|
|
rememberchildfocus | Panel.rememberchildfocus( boolean boolean_1 )
|
|
paneltype | Panel.paneltype()
|
Image
Extends: Panel
Function | Signature | Description |
---|---|---|
SetImage | Image.SetImage( cstring cstring_1 )
|
|
SetScaling | Image.SetScaling( cstring cstring_1 )
|
ClientUIDialogPanel
Extends: Panel
Function | Signature | Description |
---|---|---|
GetOwnerEntityID | ClientUIDialogPanel.GetOwnerEntityID()
|
Button
Extends: Panel
Function | Signature | Description |
---|
FriendsItem
Extends: Panel
Function | Signature | Description |
---|
AvatarCustomizationItem
Extends: Panel
Function | Signature | Description |
---|
ContentBrowserItem
Extends: Panel
Function | Signature | Description |
---|
DestinationsScrollPanel
Extends: Panel
Function | Signature | Description |
---|
DestinationsSettingsPanel
Extends: Panel
Function | Signature | Description |
---|
DestinationsTutorialPanel
Extends: Panel
Function | Signature | Description |
---|
DestinationsWelcomePanel
Extends: Panel
Function | Signature | Description |
---|
GameTrophyAppLogoPanel
Extends: Panel
Function | Signature | Description |
---|---|---|
ShowDetailsPanel | GameTrophyAppLogoPanel.ShowDetailsPanel()
|
|
HideDetailsPanel | GameTrophyAppLogoPanel.HideDetailsPanel()
|
|
ViewAppDetails | GameTrophyAppLogoPanel.ViewAppDetails()
|
|
ViewOwnerSteamAchievements | GameTrophyAppLogoPanel.ViewOwnerSteamAchievements()
|
|
ViewOwnerSteamProfile | GameTrophyAppLogoPanel.ViewOwnerSteamProfile()
|
|
ViewOwnerSteamScreenshots | GameTrophyAppLogoPanel.ViewOwnerSteamScreenshots()
|
|
ViewLibraryScreenshots | GameTrophyAppLogoPanel.ViewLibraryScreenshots()
|
GameTrophyDetailsPanel
Extends: Panel
Function | Signature | Description |
---|---|---|
ShowDetailsPanel | GameTrophyDetailsPanel.ShowDetailsPanel()
|
|
HideDetailsPanel | GameTrophyDetailsPanel.HideDetailsPanel()
|
|
ViewAppDetails | GameTrophyDetailsPanel.ViewAppDetails()
|
|
ViewOwnerSteamAchievements | GameTrophyDetailsPanel.ViewOwnerSteamAchievements()
|
|
ViewOwnerSteamProfile | GameTrophyDetailsPanel.ViewOwnerSteamProfile()
|
|
ViewOwnerSteamScreenshots | GameTrophyDetailsPanel.ViewOwnerSteamScreenshots()
|
|
ViewLibraryScreenshots | GameTrophyDetailsPanel.ViewLibraryScreenshots()
|
HTML
Extends: Panel
Function | Signature | Description |
---|---|---|
SetURL | HTML.SetURL( cstring cstring_1 )
|
|
RunJavascript | HTML.RunJavascript( cstring cstring_1 )
|
|
SetIgnoreCursor | HTML.SetIgnoreCursor( boolean boolean_1 )
|
LobbyItem
Extends: Panel
Function | Signature | Description |
---|
RadioButton
Extends: Panel
Function | Signature | Description |
---|---|---|
GetSelectedButton | RadioButton.GetSelectedButton()
|
Slider
Function | Signature | Description |
---|---|---|
value | Slider.value( float float_1 )
|
|
min | Slider.min( float float_1 )
|
|
max | Slider.max( float float_1 )
|
|
increment | Slider.increment( float float_1 )
|
|
default | Slider.default( float float_1 )
|
|
mousedown | Slider.mousedown()
|
|
SetDirection | Slider.SetDirection( unknown_variant_type unknown_variant_type_1 )
|
|
SetShowDefaultValue | Slider.SetShowDefaultValue( boolean boolean_1 )
|
|
SetRequiresSelection | Slider.SetRequiresSelection( boolean boolean_1 )
|
|
SetValueNoEvents | Slider.SetValueNoEvents( float float_1 )
|
|
SetPanelEvent | Slider.SetPanelEvent( js_raw_args js_raw_args_1 )
|
|
RunScriptInPanelContext | Slider.RunScriptInPanelContext( js_raw_args js_raw_args_1 )
|
|
rememberchildfocus | Slider.rememberchildfocus( boolean boolean_1 )
|
|
paneltype | Slider.paneltype()
|
SteamToursAvatarCustomization
Extends: Panel
Function | Signature | Description |
---|
SteamToursContentBrowser
Extends: Panel
Function | Signature | Description |
---|
SteamToursFriends
Extends: Panel
Function | Signature | Description |
---|
SteamToursNotifications
Extends: Panel
Function | Signature | Description |
---|
SteamToursPlayerBillboard
Extends: Panel
Function | Signature | Description |
---|
SteamToursRecentApps
Extends: Panel
Function | Signature | Description |
---|
SteamToursUGCImage
Extends: Panel
Function | Signature | Description |
---|---|---|
LoadDetails | SteamToursUGCImage.LoadDetails()
|
TrackpadUIPanel
Extends: Panel
Function | Signature | Description |
---|
Label
Extends: Panel
Function | Signature | Description |
---|---|---|
text | Label.text( cstring cstring_1 )
|
|
html | Label.html( boolean boolean_1 )
|
DropDown
Extends: Panel
Function | Signature | Description |
---|---|---|
AddOption | DropDown.AddOption( unknown_variant_type unknown_variant_type_1 )
|
|
HasOption | DropDown.HasOption( cstring cstring_1 )
|
|
RemoveOption | DropDown.RemoveOption( cstring cstring_1 )
|
|
RemoveAllOptions | DropDown.RemoveAllOptions()
|
|
GetSelected | DropDown.GetSelected()
|
|
SetSelected | DropDown.SetSelected( cstring cstring_1 )
|
|
FindDropDownMenuChild | DropDown.FindDropDownMenuChild( cstring cstring_1 )
|
|
AccessDropDownMenu | DropDown.AccessDropDownMenu()
|
ToggleButton
Extends: Panel
Function | Signature | Description |
---|---|---|
SetSelected | ToggleButton.SetSelected( boolean boolean_1 )
|
|
text | ToggleButton.text( cstring cstring_1 )
|
Enumerations
SteamUGCQuery
Enumerator | Value | Description |
---|---|---|
SteamUGCQuery.RankedByVote | 0 | |
SteamUGCQuery.RankedByPublicationDate | 1 | |
SteamUGCQuery.AcceptedForGameRankedByAcceptanceDate | 2 | |
SteamUGCQuery.RankedByTrend | 3 | |
SteamUGCQuery.FavoritedByFriendsRankedByPublicationDate | 4 | |
SteamUGCQuery.CreatedByFriendsRankedByPublicationDate | 5 | |
SteamUGCQuery.RankedByNumTimesReported | 6 | |
SteamUGCQuery.CreatedByFollowedUsersRankedByPublicationDate | 7 | |
SteamUGCQuery.NotYetRated | 8 | |
SteamUGCQuery.RankedByTotalVotesAsc | 9 | |
SteamUGCQuery.RankedByVotesUp | 10 | |
SteamUGCQuery.RankedByTextSearch | 11 | |
SteamUGCQuery.RankedByTotalUniqueSubscriptions | 12 | |
SteamUGCQuery.RankedByPlaytimeTrend | 13 | |
SteamUGCQuery.RankedByTotalPlaytime | 14 | |
SteamUGCQuery.RankedByAveragePlaytimeTrend | 15 | |
SteamUGCQuery.RankedByLifetimeAveragePlaytime | 16 | |
SteamUGCQuery.RankedByPlaytimeSessionsTrend | 17 | |
SteamUGCQuery.RankedByLifetimePlaytimeSessions | 18 |
SteamUGCMatchingUGCType
Enumerator | Value | Description |
---|---|---|
SteamUGCMatchingUGCType.Items | 0 | |
SteamUGCMatchingUGCType.Items_Mtx | 1 | |
SteamUGCMatchingUGCType.Items_ReadyToUse | 2 | |
SteamUGCMatchingUGCType.Collections | 3 | |
SteamUGCMatchingUGCType.Artwork | 4 | |
SteamUGCMatchingUGCType.Videos | 5 | |
SteamUGCMatchingUGCType.Screenshots | 6 | |
SteamUGCMatchingUGCType.AllGuides | 7 | |
SteamUGCMatchingUGCType.WebGuides | 8 | |
SteamUGCMatchingUGCType.IntegratedGuides | 9 | |
SteamUGCMatchingUGCType.UsableInGame | 10 | |
SteamUGCMatchingUGCType.ControllerBindings | 11 | |
SteamUGCMatchingUGCType.GameManagedItems | 12 | |
SteamUGCMatchingUGCType.All | -1 |
SteamUniverse
Enumerator | Value | Description |
---|---|---|
SteamUniverse.Invalid | 0 | |
SteamUniverse.Internal | 3 | |
SteamUniverse.Dev | 4 | |
SteamUniverse.Beta | 2 | |
SteamUniverse.Public | 1 |