Quick Play integration with Steamworks
afuix_
$0.0
$9.89
100%OFF
(no ratings)
Date |
Price |
---|---|
日時 |
価格($) |
03/04(2022) |
27.5 |
03/08(2022) |
0.0 |
07/07(2022) |
10.99 |
07/28(2022) |
11.0 |
08/25(2022) |
0.0 |
01/20(2023) |
9.89 |
12/05(2023) |
0.0 |
11/21(2024) |
0.0 |
Jump AssetStore
One-Click Online Steam P2P Mirror Lobby List and Steam Inventory. No port forward or IP sharing needed! Options for lobby session lengths and an anti-duplicate lobby dynamic!Total noob at Steamworks API?Familiar with Mirror's client-host relationships?You're in the right place!Easily, EASILY, almost too easily... make a steam game... with player hosted lobbies... that directly connects Steam players through Mirror. No port forward or IP sharing needed.Working [Command][Rpc][SyncVar] and NetworkTransform, NetworkRigidbody functionality.-------------------------------Tested with Windows only. MacOS returns Steamworks errors.Back-and-forths between Visual Studio 2019 and 2022 have caused problems with both editor errors and build errors, the version of Mirror I'm using requires earlier Unity, like 2020.3.23, confirmed incompatible with 2022.26.-------------------------------If you are hoping to create a competitive match environment, see the end of this description, as Steamworks P2P is not entirely reliable if your goal is AAA.Suggested: Rely on this build for usage of Steam Inventory and Steamworks P2P Lobby API.-------------------------------Note: This build does not have any examples of Steam's Marketplace API, item consumption, combination crafting like TF2, or trading.Though, I might implement something later on, as I've found in-game links to work well with Marketplace Item purchasing; Once you have a working item inventory setup for your game, you can construct a method of equipping the items for your players.The current code has a place for reactions to inventory items OnClick();You can find it in the inventory item prefab within the inventory displayer.Note: Item Ownership IDs are unique, like a fingerprint for every item even though multiple instances of them all have the same name, like Hat 1. You should assume you have to reference something other than the Ownership ID for coded interaction, like, I click to equip Hat 1, it doesn't matter that I have multiple Hat 1s, my player is just wearing Hat 1 now, you could network message this to the Mirror host so the other players can see I'm wearing Hat 1. Obviously this is a problem with hackers, which you would have to not be using Steam Lobby's limited API to protect such a thing. So, lobbies work great with things like apparel, but maybe avoid one-time-use items... However, I'm developing a host-dependent method of ping-ponging inventory handles for the host to verify with Steam that the player has the items they say they do.Meaning, its up to you to decide what happens when a player owns an item and wants to interact with it.With that being said:YES - This build has working inventory functionality and display.YES - Inputting item IDs as an appID admin properly grants the item immediately.YES - Item drops do work properly, whether achievement based or randomly over time.YES - Items purchased from your item store will show up in the inventory.YES - You can make money from selling items with this build.NO - You can not allow players to gamble with key and crate dynamics of any sort.(Unity does not allow gambling, contact support if you are not sure if your build meets Unity's standards)YES - You have to build your own way of implementing items into your lobby. You will need to be familiar with Mirror's network messages to do this, the same for all other lobby functionality like gameplay or chat. *Unless you need inventory for singleplayer.Example item purchase method:https://store.steampowered.com/buyitem/{appid}/{itemdefid}/{quantity}You can find this here at the bottom of the page.-------------------------------Created under MIT License. From a lobby build by FatRodziankoJoin a public lobby with one click!- Limit game session lengths to clear players out after time is up.- Choose to filter quick play by newest or oldest, or not at all.- Feel safer with a previous-lobby-leaver that keeps duplicates from happening.Easily implement a working Steam Inventory Canvas into your project.Ready-to-customize P2P lobby example project, customize your online scene and player prefab.Inventory items are generated through a Steamworks JSON text file, an example is provided, simply replace the AppID with your own, 480 "Spacewar" example app does not include items to test with.Define "specialization" settings of items and customize inventory filters to sort and view the items you want.Filter per "specialization": "hats" or "shirts".View your current inventory.Customize actions within inventory item's OnClick();OnClick() per specialization or target instance IDs for item-specific actions.See the amount of items in a stack.Easy-access SteamInstanceID_t item variablesDoes not include:An example for exchanging/combining items (like keys and crates for random loot, etc.)Exchange and Consume Steamworks API are included, though. So you may attempt this yourself.Readme.txt provided-------------------------------Why Steamworks P2P is NOT ideal for Competitive Matchmaking Games1. Hackers can start multiple Steam lobbies with ideal matchmaking variables at an infinite rate, essentially breaking your matchmaking system2. Developers have no control of bans without every lobby-creating hacker being inside of a Server hosted and maintained by YOU3. Guests do not have the ability to check if a Host is VAC bannedSuggested for inventory builders: Rely on this build as an example usage of inventory and Steamworks API. Then, create your Competitive Matchmaking Game using a Server to oversee everything.Why P2P is still GOOD? It's FREE.P2P is a great idea for games like story adventure or RPG where two or more friends can easily find their host's lobby name in a list. Also, Steam invites work! Everything is connected by the familiar Mirror. No steam API calls needed for gameplay after lobby connections are made.Then why Quickplay?Games with public lobby integration could allow players to quickly find a game, at the obvious chance of a spam-hosted lobby being the result and thus the image of your game should be barely affected as your game is NOT meant to rely on YOUR hosting for all of its interactions. In such a case, you should rely on Private Singleplayer and Invite Only Multiplayer alongside Quickplay to provide your game at its best.If you limit your game to Quickplay without a Server to control things, you're not guaranteed to have leading results. If a Competitive Matchmaking Game is your goal, look into Dedicated Server Hosting.