เอกสาร Steamworks
Steam Remote Play


ขยายประสบการณ์การเล่นเกมบน Steam ของคุณไปยัง มือถือ, แท็บเล็ต หรือ ทีวี โดยใช้คุณสมบัติ Steam Remote Play ร่วมกับแอป Steam Link นอกจากนี้ ยังสามารถใช้ Steam Remote Play เพื่อเล่นเกมของคุณจากระยะไกลได้เมื่อเข้าสู่ระบบ Steam ด้วยคอมพิวเตอร์อีกเครื่องหนึ่ง และเมื่อเชิญเพื่อนมาร่วมเล่นโดยใช้ Remote Play Together

Each computer or device connected via Remote Play has its own session. คุณสามารถรับข้อมูลเพิ่มเติมเกี่ยวกับการเชื่อมต่ออุปกรณ์โดยใช้ ISteamRemotePlay Interface

หากคุณปรับแต่งเกมของคุณสำหรับ Remote Play บนอุปกรณ์หลากหลายชนิด หรือหากเกมของคุณเล่นได้ดีบน Remote Play Together คุณสามารถทำเครื่องหมายให้กล่องตัวเลือกคุณสมบัติที่เหมาะสมในส่วนข้อมูลพื้นฐานของผู้ดูแลหน้าร้านค้าบนเว็บไซต์พันธมิตร และเกมของคุณจะปรากฏขึ้นเมื่อผู้ใช้ค้นหาเกมที่สามารถใช้งานกับอุปกรณ์ประเภทต่าง ๆ และเกมที่เล่นได้ดีกับ Remote Play Together


Remote Play Together

การทำเครื่องหมายเพื่อใช้คุณสมบัตินี้จะช่วยให้ผู้ใช้สามารถเชิญเพื่อนบน Steam มาร่วมเล่นเกมด้วยกันได้ ราวกับว่านั่งเล่นข้างกันที่คอมพิวเตอร์เครื่องเดียวกันเลยทีเดียว เฉพาะผู้เล่นที่เป็นเจ้าภาพเท่านั้นที่ต้องเป็นเจ้าของและติดตั้งเกม ส่วนผู้เล่นอื่น ๆ เพียงแค่เชื่อมต่อโดยอาศัยเทคโนโลยีการสตรีม Steam Remote Play

คุณสมบัตินี้จะเปิดการใช้งานโดยอัตโนมัติสำหรับเกมที่อยู่ในรายการเกมผู้เล่นหลายคนในเครือข่าย เกมแบบร่วมมือกันในเครือข่าย และเกมหน้าจอร่วม/แบ่งหน้าจอออนไลน์ได้ แต่คุณจำเป็นต้องเปิดหรือปิดการใช้งานด้วยตัวคุณเองเพื่อดูว่าคุณสมบัตินี้เหมาะสมสำหรับเกมของคุณหรือไม่

ผู้ใช้สามารถเชิญเพื่อนจากรายชื่อเพื่อนบนโอเวอร์เลย์ Steam ได้ และคุณสามารถสร้าง UI เพื่อเชิญเพื่อนได้โดยตรงจากเกมของคุณตามความต้องการ โดยใช้ฟังก์ชัน ISteamRemotePlay::BSendRemotePlayTogetherInvite()

Remote Play Testing

It's possible to use Remote Play Together and set up your game to allow the public to test it with developers without ever getting the files downloaded to their computers. This could be used for focus testing of new content, press walkthroughs, virtual trade shows, etc.


  1. Make sure the default branch has content that you're comfortable with the public downloading and seeing. For an unreleased game, this should probably be an empty depot.
  2. Create or set a password protected branch with content that you'd like to invite people to test remotely.
  3. Go to the partner site, edit your game's Steamworks settings, select the Application tab, and choose Steam Remote Play. Select the branch that you want to use for testing, then save and publish your changes.


  4. If your game is unreleased, send a CD-key to the users you would like to invite for testing. This grants them access to the default depot, so you may want to create special purpose accounts for this.
  5. Set up your test system to use the password protected branch. Launch the game on the test system and right click people in your friends list to invite them to join the session and play! Each session requires a fresh invitation from the developer.

This walkthrough assumes that you are showcasing content, but you can also use this to enable Remote Play Together on a branch and try it out privately before enabling it on your game in the Store Page settings.

(NOTE: this feature requires that the test system be running a Steam client dated May 23, 2020 or newer)

Remote Play on Phone

If you have checked this feature, it means you have created a recommended Steam Input touch controller config for your game, and have verified that the UI elements and font sizes work well for small handheld devices.

Remote Play on Tablet

If you have checked this feature, it means you have created a recommended Steam Input touch controller config for your game, and you adapt to the various 4x3 and 16x9 aspect ratios used by tablet devices.

You can use the ISteamRemotePlay::BGetSessionClientResolution() function to get information about the remote device aspect ratio and resolution.

Remote Play on TV

If you have checked this feature, that means you have full controller support for your game, and have verified that the UI elements and font sizes work well for viewing at a distance on a TV.

HOWTO: Add Touch Controller Config

Take a look at the Optimizing For Remote Play blog post for some examples and best practices.

  1. Begin streaming the game to your mobile device. On the desktop machine, go to Steam Big Picture Controller Configuration for your game. Remove any unnecessary bindings not used by your game, and add any custom bindings used by your game. For more information see https://partner.steamgames.com/doc/features/steam_controller/getting_started_for_players


  2. On your mobile device, click the [...] button and drag any newly bound controls onto the screen. Adjust the layout and size of each button as desired. For more information see the introduction support article and the more detailed visual guide.
  3. Once you are happy with your configuration and are ready to publish it, go to Big Picture Controller Configuration on the desktop (while streaming to your mobile device), and click Export Config. Save it as a new Personal binding and give it an appropriate name such as 'Official Touch Controller Configuration for GAME' and a useful description.
  4. Go to Browse Configs, select your new config, and click Share Configuration.
  5. Go to the partner site and edit Steamworks Settings → Application → Steam Input. Under Steam Input Default Touch Configuration select Custom Configuration. Click the "Add Custom Configuration" button and paste the URL for your new config, and click Save.


  6. Publish your updated Steamworks settings for your game, as you would normally.

If you want to change your official configuration, you have to publish a new config, as you would with the Steam Controller.

HOWTO: Advanced Touch Controller Config

If your game has multiple game modes, you can set up an actionset with unique layout for each game mode.

Simply add an actionset to the touch controller configuration for your game, cycle through the actionsets on your mobile device and setup the layout for them, and then call the SteamInput APIs to change to the appropriate actionset at runtime.

For example, if you wanted to add a menu actionset, you could do it like this:



#include "steam/isteaminput.h" void GameInit() { SteamInput()->Init(); } void GameQuit() { SteamInput()->Shutdown(); } void GameLoop() { GameInit(); while ( bRunning ) { const InputActionSetHandle_t k_ActionSetGame = 1; const InputActionSetHandle_t k_ActionSetMenu = 2; SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, BInMenu() ? k_ActionSetMenu : k_ActionSetGame ); ... } GameQuit(); }