Highlights for Version 1.0.221
Welcome to our October 26th patch notes!
The Creator Events system is now Live! This allows creators to schedule events for their games and allow players to see and register for upcoming events.
- Events are created from the new Events section in the Creator Portal (accessed from your profile menu on coregames.com)
- When an event is active, the Game card for the associated event will show the event image and let players know that an active event is running
- Creators can also access a UI Event RSVP button in Core Content. Adding this to a game will allow players to register for events from within the game.
- See the API section for more information about how to set up game code to look for active events
- For players, the PLAY tab now has GAMES, EVENTS, and MY GAMES & EVENTS subtabs
- GAMES works just like it did previously
- EVENTS allows players to browse events in a variety of categories
- MY GAMES & EVENTS contains for personalized information, including recently played games, registered events, bookmarked games, and liked games
- Registering for an event will give players a notification when that event starts
- Go wild with the events you think to create! 2x bonus drop weekends? An event for a new content release? Just an event to come and chat? All of them are possible!
Make sure to watch the patch notes live stream hosted by Team META on the Core Live Twitch channel at 9 AM PST. This time we're also welcoming our Lead Product Manager @mcamp-manticore to tell us more about the new Creator Events feature!
Platform
- New: In the Properties UI, there is now a Play/Stop button for VFX objects if every selected object is a VFX object.
- New: Max Players can now be set per scene, instead of 1 value for every scene in the game.
- New: In the Options UI, there are now options to bind keys to create Client Context and Group, no keys assigned to them by default.
- New: Added an UI Event RSVP Button to Core Content. Add this button to your game to allow players to register for Events.
- New: Component Templates now have an optional folder name, where prerequisites (if any) are placed. This folder will be created if it is not in the scene at the time that the dragged asset is added.
- New: Maximum size of Player Storage and Shared Player Storage keys have been increased from 16kb to 32kb.
- Changed: Reduced the RP Notification UI SFX volume level by 20%
- Changed: New Client Context objects created will now have Camera Collision value to Force Off by default.
- Changed the name of the "Trending Games" list to "Hot Games".
- Fixed: Explosion kit spike effects will now always produce a particle at the lowest LOD.
- Fixed: In Create mode, using the F key to focus on the current selection in viewport was not working sometimes if the Properties UI was not visible at the time.
- Fixed: "Play on start" animations not playing in multiplayer for animated meshes.
- Fixed: An issue where debug gizmos can be shown in Play or Preview mode when they shouldn't be.
- Fixed: Failure to transfer to a game or scene as a party will now bring up a popup dialog with the reason for the failure.
- Fixed: Correctly restoring a scene with unsaved changes when switching to another scene.
- Fixed: "Select Referencing Objects in Hierarchy" sometimes not selecting a script instance in hierarchy, if the asset is default value specified on parameter on script asset itself (without override value in the instance in hierarchy).
- Fixed: Disabled text boxes having editable text in the custom property message box.
- Fixed: Pasting a copied template instance should now paste at the same location as the original instead of at (0,0,0).
- Fixed: An issue where the games lists could remain empty after starting Core.
- Fixed: An issue that could cause an extra bounding box to appear in the editor when Preview Mode is paused.
API
CoreGameEvent
Metadata about a creator-defined event for a game on the Core platform.
Properties
Property Name | Return Type | Description | Tags |
---|---|---|---|
id |
string |
The ID of the event. | Read-Only |
gameId |
string |
The ID of the game this event belongs to. | Read-Only |
name |
string |
The display name of the event. | Read-Only |
referenceName |
string |
The reference name of the event. | Read-Only |
description |
string |
The description of the event. | Read-Only |
state |
CoreGameEventState |
The current state of the event (active, scheduled, etc). | Read-Only |
registeredPlayerCount |
integer |
The number of players currently registered for this event. | Read-Only |
Functions
Function Name | Return Type | Description | Tags |
---|---|---|---|
GetTags() |
Array <string > |
Returns a list of the tags selected when this event was published. | None |
GetStartDateTime() |
CoreDateTime |
Returns the start date and time of the event. | None |
GetEndDateTime() |
CoreDateTime |
Returns the end date and time of the event. | None |
CoreGameEventCollection
Contains a set of results from CorePlatform.GetGameEventCollection() and related functions. Depending on how many events are available, results may be separated into multiple pages. The .hasMoreResults
property may be checked to determine whether more events are available. Those results may be retrieved using the :GetMoreResults()
function.
Properties
Property Name | Return Type | Description | Tags |
---|---|---|---|
hasMoreResults |
boolean |
Returns true if there are more events available to be requested. |
Read-Only |
Functions
Function Name | Return Type | Description | Tags |
---|---|---|---|
GetResults() |
Array <CoreGameEvent > |
Returns the list of events contained in this set of results. This may return an empty table. | None |
GetMoreResults() |
CoreGameEventCollection |
Requests the next set of results for this list of events and returns a new collection containing those results. Returns nil if the hasMoreResults property is false . This function may yield until a result is available, and may raise an error if an error occurs retrieving the information. |
None |
CorePlatform
Class Functions
Class Function Name | Return Type | Description | Tags |
---|---|---|---|
CorePlatform.GetGameEvent(string eventId) |
CoreGameEvent |
Requests metadata for a creator event with the given event ID. Event IDs for specific events may be found in the Creator Events Dashboard. This function may yield until a result is available, and may raise an error if the event ID is invalid or if an error occurs retrieving the information. Results may be cached for later calls. | None |
CorePlatform.GetGameEventCollection(string collectionId, [table parameters]) |
CoreGameEventCollection |
Requests a list of creator events belonging to a given collection. This function may yield until a result is available, and may raise an error if the collection ID is invalid or if an error occurs retrieving the information. Results may be cached for later calls. Supported event collection IDs include: "active", "upcoming", "popular", and "suggested". The following optional parameters are supported: state (CoreGameEventState) : Filters the returned collection to include only events with the specified state. By default, active and upcoming events are returned. |
None |
CorePlatform.GetGameEventsForGame(string gameId, [table parameters]) |
CoreGameEventCollection |
Requests a list of creator events for the specified game. This function may yield until a result is available, and may raise an error if the game ID is invalid or if an error occurs retrieving the information. Results may be cached for later calls. The following optional parameters are supported: state (CoreGameEventState) : Filters the returned events to include only events with the specified state. By default, active and upcoming events are returned. tag (string) : Filters the returned events to include only events with the given tag. |
None |
CorePlatform.IsPlayerRegisteredForGameEvent(Player player, CoreGameEvent event) |
boolean |
Returns true if the given player is registered for the given event, or false if they are not. This function may yield until a result is available, and may raise an error if an error occurs retrieving the information. Results may be cached for later calls, and so may also not be immediately up to date. This function will raise an error if called from a client script with a player other than the local player. |
None |
CorePlatform.GetRegisteredGameEvents(Player player, [table parameters]) |
CoreGameEventCollection |
Requests a list of creator events for which the given player is registered. This function may yield until a result is available, and may raise an error if an error occurs retrieving the information. This function will raise an error if called from a client script with a player other than the local player. Results may be cached for later calls. The following optional parameters are supported: state (CoreGameEventState) : Filters the returned events to include only events with the specified state. By default, active and upcoming events are returned. |
None |
UIEventRSVPButton
A UIControl for a button which allows players to register for an event within a game. Similar to UIButton
, but designed to present a consistent experience for players across all games. Inherits from UIControl.
Properties
Property Name | Return Type | Description | Tags |
---|---|---|---|
isInteractable |
boolean |
Returns whether the button can interact with the cursor (click, hover, etc). | Read-Write |
eventId |
string |
Returns the ID of the event for which this button is currently configured. This ID can be found in the creator dashboard or using the CoreGameEvent.id property of an event returned from various CorePlatform functions. |
Read-Write |
Events
Event Name | Return Type | Description | Tags |
---|---|---|---|
clickedEvent |
Event <UIEventRSVPButton > |
Fired when button is clicked. This triggers on mouse-button up, if both button-down and button-up events happen inside the button hitbox. | None |
pressedEvent |
Event <UIEventRSVPButton > |
Fired when button is pressed. (mouse button down) | None |
releasedEvent |
Event <UIEventRSVPButton > |
Fired when button is released. (mouse button up) | None |
hoveredEvent |
Event <UIEventRSVPButton > |
Fired when button is hovered. | None |
unhoveredEvent |
Event <UIEventRSVPButton > |
Fired when button is unhovered. | None |
UIImage
A UIControl for displaying an image. Inherits from UIControl.
Functions
Function Name | Return Type | Description | Tags |
---|---|---|---|
SetGameEvent(CoreGameEvent event) |
None |
Downloads and sets a game event image as the texture for this UIImage control. | None |
Networked Custom Properties
Custom properties have been modified to allow writable properties in all writable network contexts. To make a writable property, please choose "Enable Dynamic Property" from the right-click context menu. Dynamic properties will turn orange to indicate that they may be written from script. In Lua, you may call CoreObject:SetCustomProperty()
to set any dynamic property. Standard network context rules still apply. e.g. A client script may call SetCustomProperty()
to modify a dynamic property on a client object, but not on a server object.
-
Deprecated
CoreObject:SetNetworkedCustomProperty()
in favor of the newCoreObject:SetCustomProperty()
. -
Deprecated
CoreObject.networkedPropertyChangedEvent
in favor of the newCoreObject.customPropertyChangedEvent
. -
Changed: Right-click context menu "Enable Property Networking" now reads as "Enable Dynamic Property".
-
Changed: Right-click context menu "Disable Property Networking" now reads as "Disable Dynamic Property".
-
New: Added optional arguments for World.SpawnAsset():
-
networkContext
:NetworkContextType.NETWORKED
,NetworkContextType.CLIENT_CONTEXT
,NetworkContextType.SERVER_CONTEXT
,NetworkContextType.STATIC_CONTEXT
-
transform
:Transform
-
scale
:Vector3
ornumber
-
name
:string
-
team
:integer
-
lifeSpan
:number
-
collision
:Collision.INHERIT
,Collision.FORCE_ON
,Collision.FORCE_OFF
-
visibility
:Visibility.INHERIT
,Visibility.FORCE_ON
,Visibility.FORCE_OFF
-
cameraCollision
:Collision.INHERIT
,Collision.FORCE_ON
,Collision.FORCE_OFF
-
color
:Color
-
Optional Array Parameters
We changed handling of optional array parameters to be more predictable when given non-sequential arrays.
Depending on how a non-sequential array is initialized, Lua's length operator sometimes returns a length that includes nil value gaps in the sequence.
Previously, if the length operator indicated an array size that included nil values, Core would raise an error indicating the array parameter was invalid.
Now, Core simply checks each index starting with 1 until it encounters a nil value, similar to the behavior of ipairs()
.
Note that this may change the behavior of existing scripts. For example, the following code used to raise an error:
CoreString.Split("abcdefg", { delimiters = {"b", nil, "de"}})
Now this code will log a warning and continue as if the delimiters array contained only the single element b
.
Learn more on our API documentation.
Miscellaneous
- New: Added
PlayerTransferData.sceneName
. - New: Add support for
CoreObject
parameters in Lua events. - Changed:
Player:TransferToScene(sceneName, {spawnKey})
has been updated to be a server-only call. - Fixed: Custom Property Categories found within Templates have an active 'Delete' option which may lead to a crash.
Core Content
- New: Added 46 3D Objects:
- Clay Form 16
- Clay Form 17
- Clay Form 18
- Clay Form 19
- Clay Form 20
- Pipe - 45-Degree Half
- Pipe - 45-Degree Thick Half
- Pipe - 45-Degree Thin Half
- Pipe - 45-Degree Long Half
- Pipe - 45-Degree Long Thin Half
- Pipe - 45-Degree Long Thick Half
- Pipe - 90-Degree Short Half
- Pipe - 90-Degree Long Half
- Pipe - 90-Degree Short Thick
- Pipe - 90-Degree Short Thin Half
- Pipe - 90-Degree Long Thick Half
- Pipe - 90-Degree Long Thin Half
- Horn - Corkscrew 100cm 02
- Horn - Corkscrew 01
- Helix - 1.0 Pointed
- Helix - 1.0 Pointed Tapered
- Helix - 0.25 Pointed
- Helix - 0.25 Pointed Tapered
- Helix - 0.5 Pointed
- Helix - 0.5 Pointed Tapered
- Helix - 0.75 Pointed
- Helix - 0.75 Pointed Tapered
- Ring - Twisted 01
- Pyramid - 3-Sided Soft 01
- Animated Neon Sign - Candles
- Animated Neon Sign - Candy
- Animated Neon Sign - Cauldron
- Animated Neon Sign - Cloud
- Animated Neon Sign - Bat
- Animated Neon Sign - Zombie Head
- Animated Neon Sign - Ghost
- Animated Neon Sign - Haunted House
- Animated Neon Sign - Kitty
- Animated Neon Sign - Moon
- Animated Neon Sign - Moon and Clouds
- Animated Neon Sign - Pumpkin
- Animated Neon Sign - Dancing Skeleton
- Animated Neon Sign - Spider Web
- Animated Neon Sign - Web
- Animated Neon Sign - Witch
- Animated Neon Sign - Witch Hat
- Animated Neon Sign - Zombie Hand
- New: Added Spiderweb VFX Effect
- Fixed an issue with Human Hand Clap Single 03 SFX > Removed empty sound and increased default volume level slightly