Connect your games P2P over steam. This game introduces Unreal's Online Sub-System (OSS) and shows you how to use it with the Steamworks API. By the end of the section, you will be able to connect player through Steam lobbies.
- We overview the section topic.
- Introducing Steamworks.
- Downloading the Steamworks SDK.
- Steamworks and the Online Sub-System.
- Introducing the Steamworks example project.
- Updating the project.
- Downloading & installing DirectX SDK.
- Fixing the build errors.
- Introducing the Steamworks example project.
- Applying recommended settings.
- Running with Steam.
- Finding a testing partner.
- Testing servers.
- Testing lobbies.
- Importing PuzzlePlatforms.
- Capabilities of Online Sub-Systems.
- Including the OSS module.
- Getting a pointer to the sub-system.
- Role of the NULL sub-system.
- Configuring the NULL service.
- Printing the current service name.
- Stack vs Heap.
- Manual memory management.
- Reference counting with
TSharedPtr
. - Garbage Collection of UObjects.
- Creating a session.
- Asynchronous operations and delegates.
- Creating a session on host.
- Asynchronous destruction.
- Checking if a session exists.
- Destroy the session if we need to.
FindSessions
andTShareRef
.- Handling
OnFindSessionsCompleteDelegates
.
- Configuring Session Settings.
- Adding query parameters.
- Iterating over a
TArray
- Introduction to the
ScrollBox
. - Creating a row widget.
- Add rows in C++.
- Expose the text property.
- Setting a server list from GameInstance.
- Clearing the previous list.
- Requesting a refresh.
- Using
TOptional
values. - Setup the
UServerRow
. - Adding a
UButton
. - Set the selected index.
- Passing the index to
GameInstance
. - How to
JoinSession
. - Handling
OnJoinSessionComplete
. - Getting the platform connect string.
- Enabling the steam plugin.
- Compiling with the steam module.
- Configuring the
DefaultEngine.ini
. - Reading the verbose logs.
- Enabling presence for the server.
- Enabling presence for search.
- Debugging our connection.
- Update text colour on hover.
- Update all rows when
Selected
. - Select colors for
Hovered
andSelected
.
- Disabling Steam for testing.
- Creating a struct.
- Populating the struct.
- Updating the UI.
- Disabling Steam fully.
- Getting the available connections.
- Padding the text properly.
- How to set custom settings.
- How to retrieve custom settings.
- Setting the server name.
- We finish the challenge solution.
- We make our menu pretty again.
- Joining into the lobby.
- Creating a GameMode override.
- Handling
PostLogin
. - Handle
Logout
and count players.
- Ensuring we call
Super
. - Traveling to the game.
- What is non-seamless travel?
- Enabling seamless travel.
- The transition map.
- Installing editor symbols.
- Finding the NULL subsystem code.
- What code should be called?
- Attaching and debugging.
- Fixing the NULL subsystem bug.
- Update maximum number of players.
- Adding a session start timeout.
- Starting the session.