Roblox Cross Platform Play

broken image


  1. Roblox Cross Platform Play Games
  2. Why Won't Roblox Games Load
  3. Roblox Cross Platform Play Xbox

10 min

Roblox Cross Platform Play Games

This article outlines best practices for Roblox game development across multiple platforms. Fortnite save the world servers down.

The video game-creator video game, Roblox, has just turned on cross-platform play for Xbox One players which means that they'll now be able to interact with other Roblox players on other platforms. The top Roblox developers, just people with Roblox accounts who taught themselves the development tools, earn upwards of two million REAL WORLD dollars in microtransactions a year 3. The Roblox world is accessible and cross-platform playable on both iOS and Android mobile devices, as well as Windows, Mac, and the Xbox One console. ROBLOX will support cross-play across multiple platforms. It will be possible to play together with your friends on Windows PC, XBox One, Android, iOS and Mac.

PLAY TOGETHER ANYTIME, ANYWHERE. Take the fun on the go. Roblox features full cross-platform support, meaning you can play with your friends and millions of other people on their computers, mobile devices, Xbox One, or VR headsets. BE ANYTHING YOU CAN IMAGINE. Be creative and show off your unique style!

Roblox Philosophy

Unlike some game engines, Roblox is inherently cross-platform players can discover and play games on a PC, then later pick up their phone and continue playing where they left off. In most cases, Roblox games should be accessible and enjoyable on all platforms, versus being optimized for one platform and just 'basically functional' on others.

Mobile First

Recent stats cite that over 55% of Roblox game sessions are on mobile, so you should focus a proportionate effort on building a great mobile experience. When planning your UI and controls, consider the following:

UI Layout

Just because a GUI fits perfectly on a PC screen doesn't mean it's as functional on a smaller mobile screen. For example, the color customization tiles in this GUI become small and cramped on a phone:

In contrast, a slight redesign of the GUI offers a positive user experience on both PC and phone:

Reserved Regions

On mobile devices, the /articles/customizing game controls#mobile-controls|default controls occupy a portion of the bottom-left and/or bottom-right corners of the screen. When you design the game UI, avoid placing important info or virtual buttons in these regions.

If your game uses the default UserChoice control setting (/articles/customizing game controls#mobile-controls|reference), the on-screen controls can vary slightly. Remember to design your UI around this possibility.

Thumb Zones

Most mobile players use two thumbs — one on the virtual thumbstick/DPad and one on the jump button. Depending on the physical size of the device and the player's hands, 'reaching' too far from the bottom corners becomes uncomfortable or impossible, so you should avoid placing frequently-used buttons outside of the green zones.

Adaptable UI

Comfortable thumb zones differ between phones and tablets since tablets have a larger screen. Remember that a button placed 30% below the screen's top edge is easily reachable on a phone but almost unreachable on a tablet.

A more reliable way to position custom buttons is in direct relation to the jump button. The following code fetches the position of the jump button and creates a placeholder ImageButton above it:

Context-Based UI

Screen space is considerably smaller on mobile devices, so you should show only the most vital information during active gameplay. For example, if there's a special player action to open doors, it doesn't make sense to constantly show an 'Open Door' button — instead, the button should appear only when the player is near a door and disappear when they've moved a certain distance away.

Input Detection

In some cases, it's necessary to know the player's current device in order to adjust the UI, show action buttons/reminders, etc. For instance, if a player approaches a treasure chest and there's an action bound to collecting the gold, you may want to show PC players an on-screen T key icon but show mobile players an active 'Collect' button.

The following ModuleScript, placed within ReplicatedStorage and renamed to PlayerInputModule, can be used to fetch the player's input type, after which you can adapt the UI layout or context as suggested above.

Note that the script uses the UserInputService/GetLastInputType|UserInputService:GetLastInputType() method instead of just checking whether the device has an input 'capability' like touch. This is because a PC player may prefer using their mouse and keyboard, even if their PC has touchscreen functionality, and your UI should respect the active input type.

Once the PlayerInputModule script is in place, you can get the player's last input type from a LocalScript as follows:

Why Won't Roblox Games Load

Related Articles

Creating GUI Buttons

Reference

Overview¶

Roblox Cross Platform Play Xbox

The purpose of this page is to let experienced game developers get started using the unique features of the Core platform.

  • For a general introduction to creating with Core, see Intro to the Core Editor
  • For a complete technical overview, see the Core API Documentation.

Roblox¶

Harness the beauty and power of Unreal engine to build the games that you want to play on a platform that elevates quality content and community collaboration.

Multiplayer Out of the Box¶

Like Roblox, Core includes multiplayer networking built in, hosted by Manticore servers, and players have persistent avatars that they can customize and use across games. Players have similar controls out of the box, including emotes, which can be customized in the game.

Navigating the Editor¶

Editor controls are very similar to Roblox, and most keyboard shortcuts are the same between the platforms. One difference, however, is that objects are generally added by clicking and dragging into the Main Viewport, the equivalent of the Project Workspace or Scene.

Collaboration¶

Game files are stored locally on your machine, usually under Documents/My Games/Core/Saved/Maps. This means that you can use conventional version control, like git, and Core files are small enough to also be shared through cloud drives.

Published Core games can also be marked as editable, allowing others to customize and modify them, and many successful Core Games are available to use as starting points.

A culture of collaboration is part of the Core Community, and is a powerful tool for creators who want to produce quality, professional games quickly.

Scripting¶

Core also uses the Lua scripting language, which is extremely flexible, and connects to a similar event system. However, the Core API is distinct from the Roblox API, and so similar functions have different names, and will work differently. You can check out the Core API for more details and example code.

In general, scripts are created without parents, and have to be added into the project Hierarchy, equivalent of the Explorer in Roblox. They can still be made children of objects to reference them, and it is also possible to define Custom Property variables that can be changed through the script's Properties window, rather than editing the script itself. Unlike Roblox, when you duplicate a script in Core, it does not create a copy of the script asset, instead it creates a new instance that still points to the original script.

Server and Client¶

Core has a similar distinction between server and client scripts, and they have similar jobs. In Core these are called Contexts, and any object can be moved into a different context through the Hierarchy.

Meshes and Models¶

Models in Core are not stored on servers, but are actually part of the local installation of the Core Launcher and Editor. What this means is that all the game assets, models, and audio, are built out of the pieces that come with Core by kitbashing, and you cannot import them from outside sources.

Assets made by kitbashing can be packaged, with or without scripted functionality, as templates. These can be published privately to easily pass between your own projects, or publicly to allow other developers to use them.

These shared templates are available in Community Content, and showcase creators pushing the boundaries of what is possible in Core.

Materials¶

Core includes a wide variety of materials for different situations, which can be customized in many different ways, from the direction they are applied to tiling in each direction, color tint, and various other parameters specific to each material.

They also have Smart Materials which applies a material uniformly based on the position on the map, allowing you to create seamless transitions between different pieces.

Core is in Alpha¶

Core is still in Open Alpha, which means there are a number of features that are yet to come, like monetization and cross-platform support. As an Open Alpha Creator, you are in a position to build some of the first ground-breaking games in Core and to influence its direction through feedback and creation.

Terminology¶

Cross
CategoryRobloxCore
Editor
PartBasic Shape
ModelGroup
PackageTemplate
ExplorerHierarchy
SceneMain Viewport
TestMultiplayer Preview Mode
ToolboxCommunity Content
ReplicatedStorage/ServerStorageProject Content
Terrain EditorTerrain Generator and Terrain Properties
Spawn LocationSpawn Point
OutputEvent Log
Scripting
ServerScriptServiceServer Context
StarterPlayerClient Context
Roblox LuaCore Lua
Instance.new()World.SpawnAsset()




broken image