LogoLogo
What's new?StatusMSquared
  • Morpheus Platform Documentation
  • What is Morpheus Platform?
    • Glossary
    • Interoperability
    • Support
    • EULA
  • Firewall Problems
  • CREATION
    • Unreal Development
      • Get Started
        • Download the Editor
        • Upload Content
        • Creating your Own Map
        • Morpheus Base Project
        • Differences from Unreal
          • Character Configuration
        • Morpheus Networking
          • Introduction to Morpheus Networking
          • Network Levels
          • Replicated Properties
          • RPCs
          • Morpheus Render Targets
          • Morpheus Array
          • Networking FAQ
          • Replicating Sublevels
      • Editor Versions
      • Performance Guarantees
      • Features & Guides
        • Example Plugin
          • Nameplates
          • In-Game Roles
          • Resizing
        • Actor Pooling
        • Audio
        • Avatars
          • Creating an Avatar
          • Attachments
            • MML Attachments
          • Custom Animation Variables
          • Importing an NFT Collection
          • Capsules and Mesh Transforms
        • Bots
        • Chat
          • Unreal Text Chat
        • Control Panels
          • Control Panel Configuration
          • DJ Booth Mission Control
          • Observer Controls
        • Crowd Audio
        • Crowd Rendering
          • Legacy Animated Crowd
            • Animated Crowd Console Commands
            • Attaching static meshes to crowd members
          • Crowd Materials
          • Performance Parameters
          • Live Config Settings
          • Crowd Animation
            • Crowd Anim Blueprint
              • User Guide - Crowd Anim Blueprint
              • Reference Guide - ABP Nodes
                • Animation Playback
                • States and State Machines
                • Variables
                • Transitions
                • Special
                • Blends
                • Additional Notes
        • Helpers & Extras
          • "Instanced Objects" in Blueprints
          • Objects with "world context"
          • Making DataAsset classes
          • Duplicate Objects
          • The Bootflow Subsystem
          • The "Wait For Condition" System
          • Advanced Graphics Settings
          • Listening to Inputs on UObjects
          • Morpheus UserID
          • World Services
          • M2Extras: Skins System
        • Loading Screen
        • Live Config
          • Editing for a World
          • Editing Locally
          • Default Settings
          • Accessing via Blueprint
          • Adding New Settings
          • Overriding Defaults
          • Using Arrays
        • MML
        • Motion Capture
        • Networking
        • Notifications
        • Raycastable Crowd
        • Singletons
        • Streaming & Multiplatform
          • GFN on Mobile
        • UI
          • "UI Mode"
        • User Collections
          • Creating a New Object Definition
          • Accessing from Unreal
            • Creating Objects Definitions
            • Transfer Objects
            • User Collection Views
            • Receiving Updates
        • Video Players
          • Embedded Video Player
          • Millicast video streaming
            • How to Setup an In-Game Video Stream
            • Picture-in-Picture mode
          • Streaming Video Player
            • How to Setup a URL Video Player
            • Picture-in-Picture mode
        • Visual Debugging
          • Inspector
        • Web UI
        • Online Services
          • KV Store Service
        • Web Requests
          • Http Requests
            • Legacy HTTP Nodes
          • JSON Handling
          • WebSockets
          • Identity Validation
          • Allowed External URLs
          • Walkthrough Example
            • Example Counter Service
        • World Travel
          • World Travel in the Editor
        • Avatar Physics Assets
        • Action Gameplay Helper Components
      • Workflows
        • Upgrade the Editor
        • Editing Project Settings
        • Profiling
        • Marketplace Importing
        • Extra Workflows
          • Setup Play-in-Editor
          • Setup Local Asset Validation
          • Adding Gameplay Tags
          • Validating Game Assets
          • Custom Connection Modes
          • Connect Editor to a World
          • Common Issues
      • Best Practices
    • Worlds
      • Invite Players
        • Setting Role Groups
      • Persistent Worlds
      • Always on Worlds
    • Running Events
      • Large Scale Events - Checklist
      • Anti-Cheat (EAC)
      • Player Entry
        • React Native
        • Steam
        • Hardware Requirements
      • Broadcast
        • OBS Integration
      • Failover
      • Capacity and Queue Management
  • ADMINS
    • Access Control
      • Add Metaverse Contributors
      • Create a New Project
    • Pricing
      • Development Support
      • Included Usage & Overages
      • Cloud Streaming
      • Access Modes
      • War Room Support
      • Platform SLA
    • Settings
      • Projects
  • APIs and Tooling
    • API Reference
      • Accounts
      • Events
      • Key/Value Store
      • Organizations
      • Realtime
      • User Profile
      • World Builder
      • Worlds
    • Template Web App
      • Moderation
    • Pixel Streaming
    • Launcher
  • Integrations
    • Analytics
      • Send Events from Web
      • Send Events from Unreal
    • Chat
      • Integrate Pubnub with your Unreal Project
      • Add Moderation to Chat
Powered by GitBook
On this page
  • Http Get Json
  • Http Post/Put/Patch Json
  • Http Delete
  • Urls
  • Authentication
  • Scoping

Was this helpful?

  1. CREATION
  2. Unreal Development
  3. Features & Guides
  4. Web Requests
  5. Http Requests

Legacy HTTP Nodes

Calling Http services from Blueprint

PreviousHttp RequestsNextJSON Handling

Last updated 7 months ago

Was this helpful?

These HTTP Nodes are now deprecated and will be removed in a future release. Please migrate to the Send Http Request functionality described in the page

There are several HTTP nodes available for use that allow you to make JSON requests to APIs.

The following Blueprint Nodes are available for use:

  • Http Get Json

  • Http Post Json

  • Http Put Json

  • Http Patch Json

  • Http Delete

All nodes have the following common pins:

  • Url - target url you are sending the Http request to

  • Auth Context - local Morpheus Actor/Morpheus Actor Component you wish to use to authenticate the request

And the following output pins are common:

  • On Success - control flow invoked when the request completed successfully

    • usually with a 200 Status Code

  • On Fail - control flow invoked when the request failed

  • Status Code - status code of the HTTP response

    • If zero, we usually had a problem sending the request

  • Json Response - a Json Object Structure of the data that was returned

    • only valid upon success, and if the API returned JSON data

If you expand the node's properties, you get access to more advanced options:

  • Headers - a String-String Map of additional headers to add to the request

  • Scope - Adds any MSquared scoping headers

  • Retry Settings - Settings related to automatically retrying requests that fail with a potentially transient error (e.g. 504: Gateway Timeout)

    • The retry settings includes configuration of how it should retry requests (if Enabled).

    • MaxAttempts - The number of retries before giving up. (If < 0, will treat as unlimited retries)

    • The retries use an exponential backoff with jitter approach, where it will wait randomly between BackoffInterval and MaxBackoffInterval for each retry, increasing the average wait timefor each attempt..

  • Max Redirect Count - The maximum number of redirects that are allowed for this request.

Http Get Json

This node issues a simple GET request to a URL and parses the result as JSON.

Http Post/Put/Patch Json

These nodes are used to send data to a URL as JSON.

They each have a "Json" input pin that accepts a Json Object Structure.

If the API returns a JSON response it will be present on the Json Response pin.

Http Delete

This node issues a DELETE request to the url. It it not normal for a response to be returned.

Urls

A url is a full https url for an external site. It cannot be any other scheme, eg: http, ws, ftp, etc - these will cause the request to fail.

Authentication

When you provide an Auth Context to any of the nodes, you are providing a hint that the request requires authentication.

External APIs

If you are calling your own API you can require that a Delegated Auth Token is provided with the request. This token allows your external service to validate the identity of the caller as an MSquared user.

Custom Authentication

If you need to use a custom authentication scheme, such as Basic auth or provide your own credentials. You can do this by adding your own headers to the request.

To do this, you will need to make a Map of String/String and populate it with your own header values. Typically, you would use the key of Authorization for auth headers. The credentials you provide will depend completely on the api you are calling.

Be careful about embedding credentials into Blueprints as they will be available to anyone with your content. Storing your own credentials securely is out of scope of this tutorial.

Scoping

If you add a Scope option the nodes will apply HTTP headers allow you to identify the current context in which the metaverse is running.

If you need to know this, it is recommended that you select the World scope, as it contains the most useful information.

The following additional headers are added to the request:

Scope
Headers
Description

None

N/A

No extra headers are applied

Organization

x-m2-organization-id

Applies the current Organization Id of the Metaverse

Project

x-m2-organization-id

x-m2-project-id

Applies the current Organization Id and Project Id of the Metaverse

World

x-m2-organization-id

x-m2-project-id

x-m2-world-id

Applies the current Organization Id, Project Id and World Id of the Metaverse

Launch Context

x-m2-organization-id

x-m2-project-id

x-m2-launch-context-id

Deprecated Applies the current Organization Id, Project Id and Launch Context Id of the Metaverse

Include Delegated Auth Token - See

See the section on for more information.

Http Requests
Validating Identity
Authentication