Skip to content

Commit

Permalink
MInor docs fixes, beggining of inventory
Browse files Browse the repository at this point in the history
  • Loading branch information
Leinnan committed Oct 16, 2024
1 parent 9463cc9 commit 5f2d5ad
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 9 deletions.
26 changes: 26 additions & 0 deletions Docs/docs/features/inventory.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<style>
img[src*='#center'] {
display: block;
margin: auto;
}
</style>
# Inventory

## Overview

The Beamable **Inventory** Feature allows game makers to manage owned items per player within the game.

Beamable's Inventory system is built on the Content feature. This means that content can be created and published via the Content Manager, then granted to players through various workflows:

- Add/Remove inventory items to the active player during the course of gameplay. Ex. the player earns a new "Sword" inventory item based on in-game progress
- Add inventory items to the active player via the Beamable Store. Ex. the player pays real-world currency to buy a new "Sword" inventory item

## Data Concepts

Inventory manages two types of data- items and virtual currencies. One thing that both have in common is that during creation of each of them it is up to game maker to decide how they can be added to player inventory by specifying `Write self` property:

- **Client-Authoritative**- If your game does not include networked multiplayer and can tolerate cheating, allowing the client to read/write their own currencies is the simplest option.
- **Server-Authoritative**- A much more secure way to handle item/currency modifications is via a Microservice. In this scenario, the client is not able to modify their currencies directly, it is handled on the server.

!!! note "Edit player Inventory via Portal"
Regardlesss of the value of the `Write self` property it is possible to view and modify players inventory through the Portal. More info [here](https://docs.beamable.com/docs/portal-inventory).
4 changes: 3 additions & 1 deletion Docs/docs/features/stats.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ img[src*='#center'] {
margin: auto;
}
</style>
# Unreal SDK - Stats
# Stats

## Overview

The Beamable SDK Stats feature allows player to track a variety of built-in and custom player stat variables with configurable visibility levels. Two main use cases are:
- Data Store- a simple place to read/write info about player
Expand Down
6 changes: 3 additions & 3 deletions Docs/docs/guides/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,11 @@ Please, follow along these instructions:
#### Making your First Request
Once your Editor opens, you'll see the Beamable Logo in your upper-right bar, next to the Settings dropdown. This button opens the Beamable window.

![BeamableWindowLocation](Images/intro-beamable-window-location.png#center)
![BeamableWindowLocation](./images/intro-beamable-window-location.png#center)

In this window, you can login to the account you just created in the Beamable portal. When you do, you should see the window below:

![](Images/intro-beamable-window-opened.png#center)
![](./images/intro-beamable-window-opened.png#center)

Here's some a quick tour of Beamable terminology:

Expand Down Expand Up @@ -91,7 +91,7 @@ Now that you have this event hooked up, you can add your first **Beam Flow Node*
- A set of Custom Event nodes (for success, error and completion) of the request being made to the Beamable backe-end.
- Because of this, Unreal does not allow the use of these nodes (or any node that expands to Event nodes) outside of **EventGraphs** or **Macros used in EventGraphs**.

![intro-beam-flow-node.png](../images/intro-beam-flow-node.png#center)
![intro-beam-flow-node.png](./images/intro-beam-flow-node.png#center)

With the SDKs default configuration and the above setup, you can enter PIE (Play-In-Editor). You should see several requests's responses being written to your Output Log window. After you see the final `GetMe` request, you can exit PIE knowing you've very first request to the Beamable backend.

Expand Down
2 changes: 1 addition & 1 deletion Docs/docs/guides/operations-and-waits.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ Feel free to copy-paste them as a template of how to implement and reason about
Beam-Flow nodes are the purple nodes with Beamable Icons that you can find. There are two flavors of them; one are Raw Requests that you can use to hit our APIs; the other is the Operation Beam Flow node.
![beam-flow-node](./Images/operation-and-waits-beam-flow-nodes.png#center)
![beam-flow-node](./images/operation-and-waits-beam-flow-nodes.png#center)
Beamable Operation Flow Nodes assume a few things:
Expand Down
6 changes: 3 additions & 3 deletions Docs/docs/guides/runtime-concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ The `UBeamUserSlots` Engine Subsystem is responsible for:

The image below describes how the SDK's lifecycle injects itself into UE's lifecycle:

![InitFlow](images/runtime-concepts-init-flow.png#center)
![InitFlow](./images/runtime-concepts-init-flow.png#center)

The next image show a high-level description of the authentication flows supported by the SDK:


![](Images/runtime-concept-authflow.png#center)
![](./images/runtime-concept-authflow.png#center)

Now that you have a high-level understanding of the SDK's initialization flows, read up on how to achieve the two most common Sign Up and Login flows among the ones we provide.
## Player Sign Up and Login Flows with Beamable
Expand Down Expand Up @@ -74,7 +74,7 @@ In PC/Console titles, often the user can sign-in and up from inside the game. Th

Start by turning off Frictionless Authentication in `Project Settings -> Beamable Core -> Authenticate Frictionless (...)`.

![](images/images/runtime-concepts-disable-frictionles-auth.png#center)
![Frictionless Auth](./images/runtime-concepts-disable-frictionles-auth.png)

Next, in your `BeginPlay` implementation, register a function to run when the SDK has successfully started via `UBeamRuntime::RegisterOnStarted`. If the SDK has already started when you call this function, it'll run the callback you provide it as its parameter immediately; if not, it'll wait until the SDK is fully ready and then call it.

Expand Down
3 changes: 2 additions & 1 deletion Docs/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ markdown_extensions:
- pymdownx.tasklist:
custom_checkbox: true
- toc:
permalink:
permalink:

plugins:
- glightbox
Expand All @@ -64,6 +64,7 @@ nav:
- Feature Guides:
- Content: 'features/content.md'
- Stats: 'features/stats.md'
- Inventory: 'features/inventory.md'
- Microservices: 'features/microservices.md'
- Stores: 'features/stores.md'
- Samples:
Expand Down

0 comments on commit 5f2d5ad

Please sign in to comment.