P12 Editor Alpha v0.13.0.0 Release Notes

Important Notes:

  • Originally, the default playback animation duration of all animations in PlayAnimation is 1 second. Now you can adjust the playback duration through the second parameter ( AnimationLength ) of the TS interface (playAnimation)

The log of the editor console only prints TS-related logs

New Features:


UI Editor-Related Optimization

1.UI widget layer optimization

  • The operation box of the selected widget is temporarily set to the top, which is convenient for developers to adjust the selected widget through the operation box next time

  • The level of each widget under the same parent is determined by the Z factor. When the Z factor is the same, it is determined by the top and bottom order of the object list. The widgets located further down in the object list are displayed on the upper level

  • Any child widgets are displayed on top of their parent widgets

As shown in the example above, when the Z coefficient of each widget is 0, according to the order of the object list from bottom to top, the display order of the widgets is red>white>MWCanvas>yellow>green

2.The object list does not expand the child node when copying the parent node in the collapsed state

In order to make it easier for developers to copy and paste nodes, the copied parent node will no longer expand all child nodes.

3.The UI object name in the object list cannot be empty

The name of the UI widget cannot be blank or pure space, and it will revert to the previous name if it does not meet the requirements

4.UI Editor right-click to show Hierarchy List

To facilitate the selection of a widget among multiple overlapping widgets, a new right-click menu - select UI object function is added. When you right-click in the designer, a list of the names of all UI widgets located in the clicked area will appear. Select and click on the list. After the widget, the UI widget will be selected

5.UI Editor: Ctrl+S to quick save

To quick save the modified UI file, use Ctrl+S to quickly save the changes in the UI editor

6.UI Editor: Ctrl+B to hide / show dotted border

To preview the UI style after hiding the dotted border, use Ctrl+B to hide/show the dotted border

7.Added resource list and script list to UI editor

To drag and drop UI textures and scripts into the UI editor, the resource list and script list are added to the UI editor; and after adjusting the size of each window, click View - Restore Default Window settings in the upper right corner to restore the Default window layout

8.Added a new drawing type for pictures - the [Nine-Square Grid]

It is convenient for users to cut the picture and grasp the specific size to zoom, and add the [Nine-Square Grid] picture drawing type


  • Divide a picture into 9 parts, and scale the entire picture while keeping the size of the four corners ( 1, 3, 7, 9 ) unchanged

  • Left margin: Controls the width of the 1, 4, and 7 tiles of the nine-square grid

  • Top margin: controls the height of the 1, 2, and 3 tiles of the nine-square grid

  • Right margin: controls the width of the 3, 6, and 9 tiles of the nine-square grid

  • Bottom margin: Controls the height of the 7, 8, and 9 tiles of the nine-square grid

  • When scaling the image width, tiles 2, 5, and 8 will be scaled according to the width

  • When scaling the image height, tiles 4, 5, and 6 will be scaled according to the height

  • Tile 5 scales both width and height when the image size changes

9.After setting the image, the UI widget scales to the original size of the image

After dragging the image resource into the image property, in addition to replacing the image, the size of the image widget will change to the original size of the image resource

10.Text wrap feature

New feature [horizontal display] for text / input box / button widget

  • Clipping: The characters that exceed the text box will be clipped according to the size of the text box

  • Automatic Text Wrapping: Automatically wrap texts based on the size of the text box and the characters of the text, and supports multi-language text wrapping

  • No Clipping: Do not crop characters that exceed the text box

11.Double-click the text box to edit the text directly

In order to facilitate developers to quickly set the text content of the UI, double-click the widget to modify the corresponding text content, and restore the normal state after losing focus.

12.Scroll box optimization

  • Movement Type

    • Elastic: when the scroll box is pulled to the top or bottom, it can still continue to pull a certain distance and has a rebound effect

    • Restricted: The scroll box cannot continue to be pulled when it is pulled to the top or bottom

  • Coefficient of Elasticity

    • The larger the value, the longer the scroll bar will continue to pull when it is pulled to the top or bottom
  • Enable Inertia

    • If checked, after the player finishes sliding the scroll bar, the scroll bar will move another distance according to the speed at the end of the sliding
  • Scroll Box Color

    • Used for editing the scroll bar color
  • scroll box width

    • Used to edit the width of the scroll bar

【Character Editor】LowPoly-Style character

  • LowPoly style characters are now available for editing!

  • Entrance: In the "Basic - Character Settings" option in the character editor, switch the character to LowPoly Male or LowPoly Female

【Optimization】Removed isListenServer

  • The GamePlay.isListenServer API used for detecting the environment has been removed. Using it will cause errors and failure to compile.

【New Feature】Scan QR code to log in to the editor

  • The Editor accesses the Webview login of the account, and the domestic/overseas BC account will be merged in the future.

    • The current web interface does not support account and password login, but supports QR code login and verification code login
  • Log Out Function

    • Added a logout option to the edit interface - project drop-down menu

    • Added a logout button to the project page

    • When you click to log out, go back to the Editor login interface

  • Domestic / overseas editor region switching logic:

    • The upper right corner of the current editor login interface supports region selection

    • When switching region to Mainland China, the editor is the domestic environment; when switching to any region other than Mainland China, the editor switches to the overseas version

【Optimization】Editor Log system optimization

  • Shield the Log that is not related to the developer's TS logic, and only keep the MWTS Log , which will not interfere with the developer

  • Added time information in theLog

  • Log classification optimization: Info, Log, Warning, Error (all four levels are visible in the Log system)

【Optimization】Object number copying optimization

  • When copying an object, if the copied object has a parent-child structure, only the parent object will be numbered, and the child object's name will remain unchanged, and no automatic numbering will be given

【Optimization】MW.exe automatically adds startup parameters, you can double-click to directly open the editor

  • Editor shortcuts do not need to manually add startup parameters, double-click to directly start the editor

【Optimization】The default appearance of the two-dimensional character is updated

  • Updated the default appearance of the two-dimensional style, and replaced the abandoned resources used by the original default image with the latest official resources
Default Male
Default Male
Default Female
Default Female

【Optimization】Project content GUID renaming requirements

  • Change the "GUID" in the project content to "Project content ID"

【Optimization】Ctrl+Right-click to move the shortcut key priority optimization

  • Adjust the shortcut key priority, when using Ctrl+right key+(WASD) to move the object, Ctrl+S does not take effect

【Optimization】Right-click on the project homepage supports opening the file path

  • The "Open File Path" option is added to the right-click menu of the project homepage. After clicking, locate the project location in the file explorer.

【Optimization】Editor tab optimization

  • Optimized the sub-editor, which can be dragged and merged with the main editor and displayed in the form of tabs

【Optimization】After the object is referenced by the straw, the object name is displayed in the property interface

  • The property panel eyedropper widget display is changed from the original object ID to the object name


【New Feature】Prefab now supports manual merges

  • Support for creating merged objects within the prefab editing viewport

  • Prefabs containing merged objects merge properly when used in a scene

  • Prefabs containing merged objects can be dynamically generated and merged normally on the go

【Optimization】Prefab now supports nesting

  • Prefabs now support nesting and have the following application scenarios

    • Drag and mount from the local repository to the prefab structure in the object tree

    • Drag and drop from the local library to the prefab editing viewport

    • Drag and mount from the project content to the prefab structure in the object tree

    • Drag and drop from the project content to the prefab editing viewport

  • Nested execution

    • Import the prefab into the project content, and execute the mount logic on the content under the root node of the prefab

    • When saving a prefab, update the referenced content to the modified prefab (structure, script, UI )

    • Note: If the name is the same when updating the reference, the renaming process will be performed (it will cause the script and UI to fail, and the developer needs to modify it)

【Optimization】Prefab export optimization

  • Developers can choose the corresponding prefab in the outermost folder under the project content - prefab category, and export the prefab from the right-click menu

  • Note: Currently, only folders in the content navigation are supported for export, which will be optimized in the future

【Optimization】Multi-select prefab deletion logic optimization

  • Optimized the multi-select prefab deletion logic in the object tree to solve the problem of disk read and write caused by instantiated objects during original deletion



Reduce some of the consumption of double-end attribute comparison, attribute synchronization, etc., saving about 10% of the original CPU consumption of the server

Added TS script memory monitoring

Add an interface to get the current TS script memory usage in the TS interface

type HeapStatistics = {
/** Total heap size unit: byte /
totalHeapSize: number;
/* Total executable heap size unit: byte /
totalHeapSizeExecutable: number;
/* Used heap size unit: byte /
usedHeapSize: number;
/* Dynamically allocated memory unit: byte /
mallocedMemory: number;
/* Dynamic memory allocation peak unit: byte */
peakMallocedMemory: number;


【Loading process optimization】

Extend the MW-Loading process. After the deserialization scene is completed, add the server synchronization double-end object stage. After the synchronization is completed, the loading page is closed and the game is entered.

  • Solve the black screen problem when deserialization is completed to TS-Loading

  • Resolved the long lags after entering the game


【Character】Default crouching speed change

The maximum movement speed of the character is adjusted to 100 when crouching and walking by default.

【Interface optimization】Optimized bounding box acquisition logic

Optimized the method of obtaining the bounding box of the object. When using getBoundingBoxSize() on the PIE and mobile terminals, the obtained bounding box size is the same;

Subscribe to Project Twelve
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
This entry has been permanently stored onchain and signed by its creator.