Get ready for some exciting updates! We’re rolling out a brand-new joystick character controller, enhanced Lua scripting capabilities, and a smoother editor experience.
What’s New
Joystick Controller
We’ve added official support for joystick movement. You can now switch the control scheme in your world to use the joystick instead of tap-to-move.
- Added a new
UIThumbstick
control — a 2D onscreen joystick for touch devices - Added
InputAction
,InputActionMap
andInputActionReference
types that give access to keyboard and gamepad controls - Added a new
JoystickCharacterController
component that uses aUIThumbstick
for character movement on mobile clients andInputAction
s for keyboard or gamepad based movement on desktop clients - Added a new
LongPressMiniProfileController
component that opens the miniprofile when a character is long-pressed (edited)
Scriptable Objects
We’re introducing a powerful new Lua script type for creating data-only objects (--!Type(ScriptableObject)
), letting you save and reuse important data as project assets. These ScriptableObject
assets are perfect for managing large datasets that you can easily access again and again without cluttering your project.
Project Validator Improvements
The project validator will now report image files of types that will cause world uploads to fail. The fix button in the validator window will automatically convert those images to .png
Asset Catalog Improvements
- Can now favorite items in the Asset Catalog for easy access later.
- Can now include README files and editor scripts when uploading assets to the Asset Catalog
- Lua scripts can now be uploaded to the Asset Catalog without being tied to a GameObject Prefab
Other Additions
- Added new Player Outfit and NPC Outfit options to the create menu that automatically set the outfit’s skeleton
- Added new World Variant and Scene Variant options to the create menu.
- Added more settings to the default GeneralChat script to disable voice, disable proximity chat, or change the name of the default chat channel
- Added ability to pass in a player when creating a Value (TableValue, StringValue etc.). If a player is passed in, only that player will receive events when the value changes.
- Added fadeIn and loop parameters to Audio:PlayMusic
- Added Highrise > World Settings menu option to access the world settings without going through the project settings
- Increased the table size limit from 255 to 4096 for Events / RemoteFunctions
Bug Fixes
- Fixed audio shaders with multiple clips never playing the last clip
- Fixed Mathf.Sign and Mathf.Round returning incorrect values for negative numbers
- Fixed Tilemap and LODGroup not working in uploaded worlds
- Fixed NavMeshAgent functions not working correctly for virtual players
- Fixed side panel UI in unity not matching the UI in the highrise app
- Fixed cases where a player would be unable to move to a moving anchor
- Fixed Range and Space attributes not working when used in lua scripts
- Fixed Inventory functions causing errors in Unity if the localInventory.txt file is empty or corrupted
- Fixed Payments.GetProduct returning InternalError error code for non-existent products
- Fixed a potential crash when Lua script contains many properties.