# P12 Editor Alpha v0.8.3.1 Release Notes **Published by:** [Project Twelve](https://paragraph.com/@p12/) **Published on:** 2022-10-26 **URL:** https://paragraph.com/@p12/p12-editor-alpha-v0-8-3-1-release-notes ## Content New Features:[Editor] - Object Manager - Drag and drop objects to the top and bottom edges of the panel in the Object Manager bar to perform panel slidingPanel sliding is performed when dragging objects to the top and bottom edges of the object manager panel in the object manager[Editor] - Special character restriction optimizationOptimize the editor with different special character restriction rulesProject name now allows input of (1) Chinese (2) English (3) numbers (4) "-" (5) "_"Object Manager now has no character restrictionsProperty Panel now has no character restrictionsPublish game name now allows input of (1) Chinese (2) English (3) numbers (4) "_" (5) ":" (6) "-" (7) " ?" (8) "!" (9)", "(10)" ("(11)")"[Editor] - Object Manager: Object Manager can now perform searches by object ID [Editor] - Object Manager: Now automatically adds a serial number to the name after copying the object [Editor]-Color Picker logic optimizationOptimize the color palette, real-time changes in the color effect will be changed in the main viewport corresponding to the final effect after clicking OK, click cancel to return to the state before color mixing[WorldRun]-Optimize resource loading Optimized the timing of dynamic resource loading, solving the problem that the main thread takes too long to match the information received after blocking due to resource loading, and improved the game loading speed. [WorldRun]-User TS script compilation optimization Used esbuild to improve compilation speed, improve PIE startup speed [Engine]-Automatic merging of static models New auto-merge static models feature to optimize game performance. [GamePlay]-New overhead UI functionAdded new overhead UI function, through the game function object - World UI, developers can choose UI type - OverheadUI (Overhead UI)Instructions:Drag the world UI function object into the object list and select the header UI type.Set the parameters of the header UI such as maximum visible distance, whether it can be obscured, and whether to turn on near large and far small.Bind the designed UI object to the UI object of the header UI.Finally, we bind the following script to finish the display of the header UI.//Bind character overhead slot player.Character.AttachGameObjectToCharacter(this._UIWdiget, GamePlay.CharacterSocketType.Root); //Set the position offset of the overhead UI this._UIWdige.SetRelativeLocation(new Type.Vector(0, 0, 150)) [GamePlay]-Prefab Features [GamePlay] - New four-wheeled vehicle objectAdd a new game feature object: four-wheeled vehicle, through which developers can quickly create a four-wheeled vehicle with physical characteristics.Instructions:Mount the four-wheeled carrier function object to the vehicle skeleton model sublevel for use.Select the four-wheeled carrier function object, you can modify the base attributes in the property panel.Select the carrier camera, you can modify the properties of the carrier exclusive camera in the property panel.[API]-Extend scale interface to support dynamic setting of character scaling Scaling property in the Property Panel: Related APIplayer.character.scale = new Type.Vector(0.5,0.5,0.5); [API]-New phone vibration interface/* Provided a new interface to support calling the phone vibration function */ GamePlay.isDynamicVibration(true); //Start vibration GamePlay.isDynamicVibration(false); //End vibration [API]-New time dilation interface/* Provided an interface to control the time dilation of specified objects Provided an interface to control the world time dilation, when the world time dilation, all objects will control the impact */ Global.setGlobalTimeDilation(0.5);; //Set world time dilation GamePlay.GetCurrentPlayer().setCustomTimeDilation(0.5); //Set character time dilation [API]-New HTTP web request interface//Request HTTP MWCore.fetch("http://www.baidu.com").then(response => { if (!response.ok) { return Promise.reject(new Error(`Failed to fetch baidu: ${response.status}`)); } console.log(`ResponseCode: ${response.status}`); console.log(`Headers: ${JSON.stringify(Array.from(response.headers.keys()))} ${JSON.stringify(Array.from(response.headers.values()))}`); return response.text(); }).then(content => { console.log(`Content: ${content}`); }); [API]-New effect object interface/* New effect object property setting/getting interface */ get effectRangeType(): effectRangeType; //Get effect type set effectRangeType(inEffectRangeType: effectRangeType); //Set effect type get effectRangeShape(): effectRangeShape; //Get effect shapes set effectRangeShape(inEffectRangeShape: effectRangeShape); //Set effect shapes get circleRadius(): number; //Get the radius of the circle set circleRadius(inCircleRadius: number); //Set the radius of the circle get rectangleWidget(): number; //Get the length of the rectangle set rectangleWidget(inRectangleWidget: number); //Set the length of the rectangle get rectangleHight(): number; //Get the width of the rectangle set rectangleHight(inRectangleHight: number); //Set the width of the rectangle get sectorRadius(): number; //Get the radius of the sector set sectorRadius(inSectorRadius: number); //Set the radius of the sector get sectorAngle(): number; //Get the angle of the sector set sectorAngle(inSectorAngle: number); //Set the angle of the sector get sphereRadius(): number; //Get sphere radius set sphereRadius(inSphereRadius: number); //Set sphere radius get cubeWidget(): number; //Get the length of the cube set cubeWidget(inCubeWidget: number); //Set the length of the cube get cubeHight(): number; //Get the width of the cube set cubeHight(inCubeHight: number); //Get the width of the cube get cubeLength(): number; //Get the height of the cube set cubeLength(inCubeLength: number); //Get the height of the cube get segmentRadius(): number; //get the radius of the segment set segmentRadius(inSegmentRadius: number); //set the radius of the segment get segmentAngle(): number; //Get the sector angle set segmentAngle(inSegmentAngle: number); //Set the sector angle get segmentHight(): number; //Get the height of the sector set segmentHight(inSegmentHight: number); //Set the height of the sector ## Publication Information - [Project Twelve](https://paragraph.com/@p12/): Publication homepage - [All Posts](https://paragraph.com/@p12/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@p12): Subscribe to updates - [Twitter](https://twitter.com/_p12_): Follow on Twitter