-
Notifications
You must be signed in to change notification settings - Fork 2
Getting Started
After launching the Editor, you will be presented with the Start Page.
Start page - Recent Projects tab
By default, you begin in the Recents tab. This shows all Projects you have opened, ordered by last viewed. Alternatively, you can use the All Projects tab by clicking the File image button, below the Clock icon on the left-hand sidebar. This shows every Project you have created. Projects are stored in the projects/ directory.
You can create a new Project by using the + button in the sidebar, or by using File > New from the menu bar at the top of the screen. The Project will be created immediately, without having a configuration step. By default, new Projects will be given the name "New Project <X>", where X is a number. You may change the name of your Project by using the File > Project Settings menu from the menu bar.
The Editor supports opening a Code Editor of your choice upon loading a Project, or through File > Open in Code Editor. This behaviour may be configured through the File > Settings menu.
By default, the Editor will attempt to launch Visual Studio Code as a companion Script Editor whenever you open a project. This behaviour may be disabled, or modified to open any other Text Editor of your choosing, through File > Settings in the menu bar.
New Project - Default view
Ribbon tab visible
Home tab
Tools tab
Plugins tab
Objects are pretty important for any scene. You can use the Explorer to create Objects and add them to your hierarchy:
Clicking the + icon on Workspace (the root of the 3D scene) will open a prompt to insert a new Object, with the Workspace as its hierarchical parent.
Here, a Mesh object has been created, and the S key has been pressed to move the Camera backward to bring it into frame:
Because the Gizmo is enabled in the Home tab, we can see the Move handles obscuring the Mesh. The Gizmo will be disabled so we can get a better look at our Mesh.
We can change certain visual and non-visual properties of the Mesh with the Properties window. For instance, the Tint property controls how the Mesh is colored.
Here, the Camera has also been rotated to get a better view.
Components determine what properties and functionality Objects have. You may have an Object with no Components, however it will not have any functionality:
We can add Components by using the + in the section just below the header of the Properties window.
Certain Components may automatically add other Components that are required for them to function. For instance, PointLight components will add a Transform component upon being inserted.
You can right-click on the icon of the component that appears in the Components section of the Properties window to remove the component from the Object, or view its API:
Documentation Viewer
The Engine can launch multiple Scripts upon startup. You may create Scripts directly within the Editor by using the Scripts window, docked to the same location as the Explorer:
By default, the Editor will create a Main.luau script in the live directory. The live directory contains all Scripts that you wish to run at startup of the game. Using the Play button in the Home tab of the Ribbon bar, or pressing the F5 key to start a playtest, the behaviour of the Main.luau script can be observed: It prints Hello, World! to the Output.
Double-clicking Main.luau in the Scripts window will open it in the built-in Script Editor:
For more information on the Scripting API, see:
Integration with Luau LSP
The Editor has API Definition and Documentation intended for use with Luau LSP. Usage of Definition files (which describe the types and globals available in the Phoenix Engine Luau runtime) requires enabling the New Solver option in Luau LSP settings.
- In Luau LSP settings, change Platform to
standard - Turn on the Enable New Solver option
- Add the file
lsp/api.d.luau, present in the Editor's installation, by absolute path, to the Definition Files list with the Item beingphoenix - Add the file
lsp/api-docs.jsonto the Documentation Files list by absolute path - Use CTRL+Shift+P and search and use the
Luau: Reload Language Serveraction, or use some other method to reload the LSP