Alpha Update 2: January 7th 2020

Highlights

  • Expanded the API with community requests to enable creators to do even more with CORE!
  • More content to play with. Grenades and Curved Pipes! MacGyver anyone?
  • Performance improvements to physics, networking and components.
  • Fixed a ton of bugs!

ManticoreTV Patch Review

Manticore engineer Gabriel sat down with the community to review all the changes in this patch live on stream, you can watch the VoD of it right here!

ManticoreTV is streaming almost every day, don't miss it!

New Features

API

  • Added Player:SetVelocity(Vector3): Sets the velocity of the player to the given value.
  • Added two new functions GetLookWorldRotation() and SetLookWorldRotation() to the Player object:
    • GetLookWorldRotation(): Returns the current rotation of the player's head (rotation at which the player is currently looking). Server/Client
    • SetLookWorldRotation(Rotation newLookRotation): Sets the rotation at which the player should look. Can be used only on a client.
  • Added a Player:GetResources() function which returns a table containing all of the player's resource amounts. Player:GetResourceNames() and Player:GetResourceNamesStartingWith() are now deprecated.

Editor

  • Added ability aim modes to player settings:
    • ViewRelative: Ability aim is calculated from the camera origin along the camera forward direction.
    • LookRelative: Ability aim is calculated from the player camera socket along the player look direction.
  • Added right click context menu to duplicate custom material and template asset in Project Content.
  • Added hierarchy filter /hasCustomParamWithWords= which can show objects with custom parameters. It optionally takes words to match parameter names (ANDed together).
  • Added Max Allowable Slope to Object Generator for restricting spawnable surface by angle between world up vector and surface normal.
  • Added gamepad support for Look at Cursor mode in player movement settings.
  • Added Weapon Trajectory mode property to weapons. It specifies how the weapon calculates the projectile trajectory:
    • MuzzleToLookTarget: The projectile is fired from the muzzle position to the target location.
    • FollowLookVector: The projectile is fired from the closet point on the look vector along the look direction.
    • Custom: The projectile is fired from the muzzle position in the direction specified by the Muzzle Rotation property.
  • Support for creating asset reference parameters by drag-and-dropping assets onto the Properties tab.

Core Content

  • Added Rocket Launcher, Grenade Launcher and Grenades.
  • Thruster VFX now support using color alphas and has expanded gradient controls.
  • You can now find 45-Degree Curved Pipe 3D objects in the BasicShapes folder in CORE!
  • Added a Resource Pickup component. Can be used to give the player resources and/or heal/damage them.
  • Added a Cast Bar component.
  • Added a Resource Display component.

Changes

API

  • Player.resourceChangedEvent now passes the modified Resource as an argument.
  • Player.resourceChangedEvent is now fired after Player.ClearResources() is called.
  • Reimplemented the following Lua functions, with minimal behavior changes:
    • CoreObject:MoveTo()
    • CoreObject:MoveContinuous()
    • CoreObject:Follow()
    • CoreObject:StopMove()
    • CoreObject:RotateTo()
    • CoreObject:RotateContinuous()
    • CoreObject:LookAt()
    • CoreObject:LookAtContinuous()
    • CoreObject:LookAtLocalView()
    • CoreObject:StopRotate()
    • CoreObject:ScaleTo()
    • CoreObject:ScaleContinuous()
    • CoreObject:StopScale()

All of these functions should now behave consistently in all cases. Client behavior should match the server and be smooth. A couple minor behavior changes are as follows:

  • For all arguments that specify local or world space, that is now used only to interpret the values passed in to that function.
  • All transforms now happen in local space.
  • RotateContinuous() has a new overload that takes a Vector3 interpreted as angular velocity.
  • LookAt functions that had an option to lock the pitch component of rotation will now also lock the roll component.
  • Setting the position, rotation, or scale manually will now stop any corresponding operation. For example, if you call MoveTo() and then SetWorldPosition() on the same object before MoveTo() has finished, it will be canceled and the object will remain at the position passed to SetWorldPosition().

Editor

  • All Effects should now properly respect the auto-play flag when effect elements are in a mixed state.
  • Improved Decal performance.
  • Interactable triggers that are in a static or default context now fire an interacted event on both client and server. An interactable trigger in a client context will fire interacted event on the client only. Interactable triggers will not work under a server context and will throw a warning.
  • Framerate is limited to 30FPS while in the main menus to reduce power usage and heat on laptops.
  • Saving a file with a long path will report "File path too long" instead of a generic error message.
  • Improved the look + feel of the terrain creator panel.
  • Toggling World Space or Gizmo Visibility will show notifications.
  • Enabled additional logging from Lua scripts.
  • Improved UI for displaying breakpoints and current line in the Script Editor. Clicking on a line number now selects that line's text. Breakpoints may be toggled on and off by clicking the black gutter to the left of the line numbers.
  • Improved drag select behavior in script editor when dragging outside the window.
  • Changed in-game options screen title and pause menu button to say Preferences.
  • Improved wording of some Lua error messages.
  • The P key no longer automatically binds to the pause menu.
  • Networked events will now throw an error if unsupported types are passed as arguments to Broadcast:().

Core Content

  • Updated all weapons to new default tunings.
  • Physics objects now run on client with server correction, creating much smoother behavior.
  • Reorganized structure in CORE Content so no components are hidden.
  • Moved Inventory (and UI) to community content and fixed major issues (look for Basic Inventory).
  • Removed Spectator Camera until jitters are fixed.

Fixes

API

  • Fix crash when passing nil as Player to Equip().
  • Fixed bug with required scripts accessing the wrong context in single-player preview mode.
  • Fixed an issue that allowed client or static scripts to edit player properties or call functions that modify a player in local preview mode.

Warning: Projects that previously worked in local preview mode may now trigger errors to more closely match expected behavior in a multiplayer environment.

Editor

  • Fixed bug with script editor marking empty scripts as modified when they weren't.
  • Script editors should now open to the start of the script instead of the end.
  • Fix publish template to remember private setting after taking a screenshot.
  • Publishing Release and Description text boxes will show vertical scrollbars when needed.
  • Fix publish review buttons sometimes drawing offscreen.
  • Autosave should no longer get into a state where it spams messages repeatedly. Also, it no longer forces focus of the view window when an autosave message shows up.
  • Fix for destroying objects that are spawned on the same frame and client context object spawning afterwards.
  • Fixed stuck drag-select and orbiting during alt-click terrain edits.
  • Fixed a bug where a player's kill count was incremented when they killed themselves.
  • Fog Layered Density Falloff value now no longer has a trailing space.
  • Fix bug where reparent through drag-and-drop in hierarchy fails for networked objects when desired parent is a network context.
  • Fix bug where hiding the player from themselves still cast a shadow.
  • Fixed bug where player appears inside their mounts in certain combinations of crouch, jump and mount.

Core Content

  • Track #21 "Subtle House Club" in "Electronic Music Score Set" did not play the correct track.
  • Fixed bug where built-in object references on Weapon and Equipment could break when put in a template.
  • Updated effects to properly handle auto-play flag when emitters are being enabled or disabled.
  • Flare billboard object now properly supports team coloring.
  • Fixed invalid default animation string for Ability objects.
  • Assets in the UI Textures section should now show icons of texture assets in CORE Content.
  • The "Repeat" setting should now function on smart audio assets.
  • Fixed submachine gun duplication issue and tuned all the existing weapons.
  • Updated and improved many components based on feedback.