This is a complete beginer guide to using the Core Editor.
In this new guide you'll learn exactly how to understand the Core Games Editor interface, learn basic hotkeys and the tools including:
Before we dive right in, we first need to answer:
What is the Core Editor and how does it work?
The Core Editor is where game creators almost all of their time when creating a game. Unlike other game engines that require creators to have access to several 3rd party tools, the Core Editor provides everything a creator will need out of the box. Allowing creators to produce projects from start to finish, all with an easy to use drag-and-drop interface.
Rather watch a video? Check out my video:
Core Editor Basics
When opening the Core Editor for the first time, you'll be presented with the editor in its default view. While it may be intimidating at first, the editor is quite easy to use once you get familiar with it.
To get started, we'll go over the four main sections of the editor that you'll want to be more familiar with.
We'll be getting to each of these panels more throughout the guide, but just to get a quick understanding:
- Viewport - Shows your game in real-time as you make edits
- Content - While there are multiple different tabs in this region, just note that all game objects you'd like to add or are currently in your game are found here.
- Hierarchy - A full list of all of your game assets in a list. This includes objects, scripts, etc all of which are currently in your game.
- Properties - The properties tab changes based on what object you're selecting. The properties tab allows you to make edits to individual objects in your game.
The viewport allows you to fly around your game, and do everything from positioning, scaling, and rotation of objects currently in the game and even add new objects directly into the viewport by using your mouse.
Movement In The Viewport
To look around your game, simply click on the view-port, then hold the right mouse button to begin controlling the camera by dragging your mouse to wherever you want to love.
While still holding the right mouse button, you can use the following keys to adjust the movement of your camera:
- W - Forward
- S - Backwards
- A - Left
- D - Right
- Q - Down
- E - Up
- Holding Shift - Speeds up your camera movements
- LEFT CTRL - Slows camera movements
Your movement speed can be adjusted, by clicking on the drop-down in the top right of your editor by clicking on Edit Camera Settings.
There are several options that can be adjusted:
- Camera Speed - Adjusts your base movement speed
- Sprint Speed Multiplier - Multiplies your base Camera Speed when holding SHIFT
- Crawl Speed Multiplier - Divides your base Camera Speed when holding CTRL
- Acceleration Rate - The base speed of Camera with Acceleration
- Time Before Acceleration - How long you have to hold a movement key in seconds before the Camera swaps to Acceleration Rate.
While there are other settings, those are the main ones that I've found myself editing while building my games.
Making Changes To Objects In The Viewport
Using the viewport makes editing your game quite easy.
To edit an object within your game, simply click on the object either directly in your viewport, or first select the object within your Hierarchy.
Once an object is selected the Core editor will default to the Translation tool.
There are three different tools you can use:
- Translation - Press W when selecting an object to swap to this tool
- Rotation - Press E to activate the rotate tool.
- Scale - Press R to activate the scale tool.
All of the tools allow you to manipulate your objects, based on their axis. Each color represents the following axis:
- Red = X
- Green = Y
- Blue = Z
The Translation tool, allow you to move an object throughout your game, on either an independent axis by clicking on one of the three colored arrows, or by locking a specific axis by clicking on the appropriate colored square icon.
As you move an object through your game, you can see the position of the object changing in your properties tab for that object.
As the name suggests, this tool allows you to rotate objects, based on which axis you choose.
The scaling tool allows you to size your object, by either selecting a specific axis to stretch the object along that axis or by selecting the white square in the middle to scale the object across all axis at the same time.
To simple make something bigger or smaller, you'll likely want to use the white square, however, when creating new shapes, the scale tool is quite powerful by allowing stretching of an axis.
Snap To Grid
Another useful feature within Core is the Snap To Grid option. To turn this on and off, simply press G to toggle. There is also a drop-down menu that allows you to modify your grid options.
Snap To Grid is useful if for example you are wanting to create a room and have all of the walls turned a 90-degree angle from each other. Snap To Grid makes this extremely easy while activated, but while off it would require very fine adjustments to do this manually.
When you are trying to make very fine adjustments to your objects however, it's usually best to turn this feature off.
2. Content Tabs
As mentioned earlier in this post, the content tabs are where you'll find all of the assets currently in your game, default assets that Core allows us to add to our game and also find different assets that other members of the Core community have shared for free, that you can use within your game.
The tabs in order are:
- Project Content - This is where all your current game assets can be found.
- Core Content - Any default Core asset that can be added to your game.
- Community Content - Assets created by other Core members, that can be used in your game.
Within this tab, you can find all of your game's current assets, such as Templates, Scripts, Materials, and any content that you've imported from the community market.
Assets within this tab, may not already be in your hierarchy, but you still have access to them in your game.
As an example, if you wanted to start every player with a specific starting weapon and that was the only weapon within your game then you simply can set up your game to spawn players into the game with that weapon already.
Core currently doesn't allow creators to import their assets.
What this means is the "default" versions of everything you can add to your game are found in this tab.
Instead of making your 3d models directly you can take different Core Objects and group them to make something new.
This is called kit-bashing and it's how every custom object you will find in Core is created.
Due to Core being a very social game creation platform, we can both share what we create but also import assets that other creators have decided to share right into our game.
This is one of the most powerful features of Core because it instantly expands the uniqueness of assets you can put into your game.
Every object within your game can be found in the hierarchy which makes it quite easy (excluding assets spawns from scripts).
The hierarchy allows you to quickly find something within your game by simply using the search bar up at the top.
When selecting an item within your hierarchy you can then click on your view-port and click the F key to be teleport to where that item is within your game. Note: Any object dragged directly into your hierarchy will start at the 0, 0, 0 position within your game.
Pro Tip: As you're adding new assets to your game, be sure to name them appropriately to better find them later. For example, if you have two different bases, blues base, and reds base, it may be a good idea to make a group for each base's assets and name it appropriately.
Once you have an object selected, by either clicking on it directly in the viewport or the hierarchy, the properties tab, will allow you to adjust the setting of that specific object.
Depending on the object selected the properties tab will have different options, a few options are the same across every object type, such as:
Every object within your game has a location, rotation, and scale. The transform properties allow you to see which values an object currently has and allows you to adjust them directly. All the transform information can be copied to your clipboard which allows you to paste those values onto other objects.
Pro Tip: Depending on if your object is nested (grouped or the child of another object) will determine how transform coordinates are presented. For example: if you have a ball in your game with the Position - 150, 0, 0, and then added another ball to the game non-nested with the same position both balls would be in the same location. However, if you were to make the second ball a child of the first and pasted the position of the first ball into the second, the first ball's current position -150, 0, 0 would become 0, 0,0 for the second ball. Meaning any adjustments to the second ball would be from based on the position of the first ball.
The scene properties tab allows you to adjust rather an object can be seen in your game or not and also if it has collision on or off.
If we took our ball and set visibility to Force Off and started our game, we wouldn't be able to see the ball but we could still collide with it.
Core also allows the ability to create custom properties for your objects. This is useful for adding custom code to your game and having an easy interface to adjust values later on. For example: If you created a "health pack" that increased player's health on pickup, a custom property could be created on the trigger that determined how much health the player would receive on interaction.