Table of Contents Show
If you need more detailed info and tips or want to quickly look things up, you can do this here.
Try the official Editor Tutorial rooms from Pine Studio! They will give you a good overview. You will find them in your workshop in the game under “Tutorial Rooms”. They will allow you to manipulate them and “play” them to learn the basics. Also there are some video tutorials on level-making.
But if you want to quickly look something up without starting up the Tutorial rooms or searching in a video, you will hopefully be able to find it here. I also added information on how to prevent common errors or bypass common problems.
Every section will first give an overlook, then explain the different setting options and in the end give tips how workarounds or cool features can be achieved with the specific thing. So give for example “Animations” a look, even if you think you know already how they work!
If you have more questions or tips or infos, post them in the comments and they will get added.
The used info here is from devs, from fellow players on the Pine Studio Discord and from personal experience. Thanks to all players who looked over this and gave me additional info to add!
Walls, Floors, Roofs
Walls and floors and roofs in the room expansion view are not customizable as of yet.
The current workaround is to make them transparent and place objects with textures in their place.
It is not possible to make two directly adjacant rooms with this mode. But you will find wall piece items in the item menu.
Physics and Obstacles
Most items have the option to change their physics status.
- STATIC: They will not be interactable for players and do not highlight when looked at in game. They are not affected by gravity.
- PICKABLE: Can be picked up into the player inventory. Can be placed freely or even thrown. Will be affected by the laws of physics.
- DRAGGABLE: Items will be draggable by the player and follow the laws of gravity. Try to make big clutter items in your rooms either be static or draggable, to prevent inventory overspill.
The checkbox IS OBSTACLE determines if players are able to walk through it. Make sure to check that your chests, closets, doors and other means of storage are obstacles! Else players can just walk right into them and pick up their contents.
Important to know is that the natural obstacle box of many items is not big enough. So people will still be able to pick items from your locked chests in some cases. The way to prevent this from happening is to add additional LOGICAL OBJECT OBSTACLES around a chest e.g., to keep your players at a greater distance.
Objects offer you the option to add a “parent”. Objects will show their Parent and their Children when you click them. This mechanism is used to create a hirarchy of objects and to fix objects to each other.
If you move or a parent in the Editor, all children will move in the same way. Later in game only static children or animation children will move with their parent. Draggable and pickable will in game rather behave according to physics.
If you animate a parent, all static and animated children will follow the animation. This is useful to animate things that else could not have an animation due to being a Button or a Slot etc.
Parenting can cause issues with animations, scaling and pickables. Items may be warped when you try to manipulate them in the editor or when they move in game or they expand in your inventory. The cause is that parents can impart their traits of being scaled unto their children, even if the changes happen before the child is added. To fix this remove the parent-child connection and use Empties to parent/connect the items.
Logic items are not paintable, because they will be invisible to your players. However, it can be very useful to colour them for your own organisation and to keep track of groups. The trick to colour them is to make a normal item their parent and then paint the normal item with the fill tool. This will give you more easily distinguishable locks, empties etc.
An item without physical properties. It can be used as a parent for other objects to be able to move them all at once and to organize item groups. Additionally it can be animated and be used as a timer or to animate objects that are not animations themselves. Or to stack animations, since every object can only store one.
If this object gets activated, your players will see the confetti rain dance winning animation.
Fog is global, that means it will always aggect the whole map. It can be changed in colour, in density and in density increase from center(Mode). It either can be set to be active from the start or to be activated with a button or other trigger event.
See the section “Locks”
An obstacle for players. Items can still be grabbed through it under certain circumstances. It is recommended to use obstacles to correct the object hitboxes of containers, to prevent players from being able to grab items out of locked chests etc. if they stand too close to them.
See the section “Slots”
Places a spawnpoint. If there is just one, all players will spawn there. If multiple spawnpoints exist, players will spawn in different ones.
Teleports players if activated. Either only the player who activated it or, if set to “teleport all players”, the whole group.
See section “Triggers”
Locks are used to trigger events (opening chests, winning, animations, etc) if certain requirements are met.
Locks accept input from Dials, Turnables, Buttons, Slots, Triggers and OTHER LOCKS. This is important for all more complext lecel setups.
Remember that Dials and Turnables are able to give input that ranges from 0 to whatever you set, while Button, Slots, Triggers and other Locks only can send 1(active) or 0(inactive) to the lock.
- Inplace: Each password number is assigned to one specific source. So having a lock with 3 password digits that are each linked to a different button will get the input “0-1-0” if the second button gets pressed. If the Password was set to be “0 -1 – 0” the lock will then open. That means send out a signal that can acitivate things. Else it will stay locked until the other two buttons are pressed. It works the same with number spinners and dials, just that instead of 0 and 1 they can send other number values that need to be entered as passwords for the lock. A three digit number lock might have the password “4 – 5 – 2” for example. More on that in the Turnable section.
- Continuous: Whatever signal is sent to the lock, no matter where it comes from, changes the value next in line. The password digits are not assigned to specific sources. Here is only matters that the required password digits are entered in the correct sequence, not from where they come. The lock will check the password after as many digits have been entered as the password has parts. It checks every number combination from then on. Keep in mind further number inputs will overwrite former ones. Imagine the password is “1 – 2 – 3” but someone accidentally enters “1 – 2 – 4”. If they try to fix their mistake by turning the dial back to “3”, the code that the lock recieves will look like this: “3 – 2 – 4”. The “3” did not overwrite the 4, but the lock looped around and overwrote the “1” with the new input.
- Fixed: Works in the same way as continuous with the difference that all lock values will be turned to 0 when as many digit were entered as there are password parts. In the example of the “1 – 2 – 3” code where someone accidentally enters the wrong password “1 – 2 – 4” and tries to correct it by later adding a 3, the lock receives the password input “3 – 0 – 0”. It loops around too, but resets all further number inputs to 0.
Locks need a password, which can consist of one input or several more. To create a new password digit, fill out the empty box. A new empty box for the next digit will appear.
If you want your lock to open to 3 number spinners that you want to show the numbers “1 – 2 – 3” for unlock, you need to enter in the first box “1”, in the second box “2” and the third “3”. Link each spinner to the lock digit it is supposed to refer to (if you are using the Inplace type of lock, which you should for a normal number lock).
If you want Buttons, Slots, Triggers contribute to a lock, keep in mind that they only can send 0 or 1 to the password digits.
DISABLE ON UNLOCK
This box determines if a lock is reusable or no longer can be interacted with once the password conditions were met for the first time.
CHECK PASSWORD DELAY
Can be set to determine how much time has to pass before the lock checks if the input numbers match the set password.
If the password conditions are met, things that you add here will get activated by the lock. The targets can be animations, effects or more locks.
If the password conditions are no longer met, things that are added here will get activated. It can activate animations, but apparently this can not be used to send a 1/0 value to another lock.
Locks that get relocked will turn their status to “0” and send a “passive” 0 to connected locks. That means it will change the input on the connected lock but not cause the lock to check if the password conditions are met
Slots get triggered if you place the correct item in them. Every traditional lock with a key will have to have a slot in place. Remember if you make a door “lock”, to parent the slot to the door, so that it will move with it when the door opens. Else you end up with floating keys!
It can only be occupied by one item at a time.
Here you add each item that will be accepted as the correct key for this slot. Everything can be a key, not just actual key shaped items. Just make sure to not accidentally make your keys static.
If you want to have an animated pickable item be a key, you need to assign it as a key BEFORE turning it into an animation. Then it works, even if animated objects can not be added as keys normally.
Items you add here will be accepted into the slot, but they will not trigger the slot to give out a signal.
Determines if the slot stays usable after being activated once.
UNLOCK SUCCESS KEY
Decides what happens with the correct key after it activated the slot. MERGE means that it will become a static part of the slot, you can not pick it up anymore. PARENT means that the key will stay in the slot and move with it, but it can be picked up again. EJECT will put the key right back into the player inventory the activation process/animation.
If you have several single use keys in your room, it is advisable to simply merge them to the slot after success to avoid inventory clutter or confusion.
UNLOCK FAILED KEY
The same as with success key. Make sure to not accidentally make false keys merge, else it will prevent the slot from ever being opened.
Here you can decide if you want your item to spin like a key, or to do nothing like a properly placed statue or book. Turn Duration and Turn Count determine the turning animation further. You can also make the turn be less than one! This can create lever-like effects sometimes or other interesting stuff. I use less-than-one turn effects in combination with further animation, so that for example a writing pen has a more complex animation consisting of two different movements.
Will determine how your key turns. Make sure to test this! Because the default axis makes some of the actual key assets spin sideways! And that looks quite silly.
If the correct key is placed in the slot, the slot will activate/send a 1 to the items you link here.
If the correct key is removed from the slot, the slot will activate/send a 1 to the items you link here.
Triggers are highly useful Logic Items that check if a certain trigger object is within their boundaries or not. This trigger item also can be players! Also triggers are used for many creative workarounds since they are currently the only way to create a “0” signal.
This means the trigger will no longer activate anymore once it was triggered for the first time.
TRIGGERS BY PLAYER
This will cause the Trigger to cause actions when a player enters or leaves the trigger area. Good for timed animations, for traps or for selective teleport!
Here items can be assigned which will cause the trigger to activate.
Things that get activated when a Trigger Item enters the trigger area. This can also be linked to a lock, to create “pressure plates” on the floor!
Things that get activated when a Trigger Item leaves the trigger area.
As hinted before, the Triggers are used for very creative workarounds. Being able to produce a 0 output and not just a 1, they are utilized for creating basic circuits. For example proper keypad locks or “press levers in this order” functions are not yet implemented. The workarounds consist of animating trigger objects into trigger fields (or the other way around) and out of them again. While having a considerable amount of logic locks sort the output.
Zek The Mad mae a great level tutorial on how to use triggers this way to create a number keypad that requires password numbers to be entered in the right order.
BUG WARNING: Do not use your keyboard to manipulate Triggers. Buttons like “T” for turning an item 90° or the arrow buttons to move it will cause the game to lose all key bindings, only mouse and UI still work. Thanks to Bovine for this warning.
Triggers that target a lock will ignore the lock’s password check delay.
Every item can be a button. Here for example I made a table be a button. In game the curser turns into a cogwheel when hovering over it, indicating that it is interactable.
This determines the endpoint of the movement of the button when gets pressed. It can flip like a switch or be pushed down or spin or be pulled out. That and much more is up to you.
The button can only be pressed once, then is deactivated and no longer pressable.
This determines how slowly or fast the button animation will happen. Again “0 seconds” means the position change will happen instantly. Keep in mind: The button activation signal will be sent at the END of the animation!
This will have the animation “bounce” back to its starting position. If this is unchecked, the button will stay in the same location it was at the end of the animation. Bounce it useful for most buttons, because every press will send an activation signal aka a 1, no matter if it is pushed into the “off” or “on” position. There are workarounds to create a 0 as output, they will be explained in the section “Triggers”.
If checked, the animation AND the activation signal it sends out at the end will be looped forever. The button keeps pushing itself.
Will active the button on its own once when the game starts.
The delay determines how long it takes for the animation to happen at first. The delay does NOT apply if a player presses the button! It only applies for the Autoplay. It also does not apply to loops, just to the first instance the button is automatically pressed.
Determines which items get the activation signal (aka 1) when the button is pressed and the press animation ended.
You can make your “clutter” objects be buttons instead of pickups or draggable. That way your room still offers interaction with items without cluttering the player inventory or messing with your decoration. E.g. a button book can easily be lifted with a click to look under it. Another click puts it back down.
You can make a door a button that will cause the door to animate into an open position when pressed. The button can not be prevented from being pressed though, in case you want the door to be locked. So in this case either do not make the door a button or use the following workaround:
Place a static door. When it gets unlocked (either by key, button, whatever), have the static door animate out of the room in a 0 second long animation and replace it with an identical looking one that is a button and also moves in 0 seconds. You do that by having the lock animate the static door out of the room and an empty that is the parent of the button-door to move it into place.
Buttons can not be activated by animations, other buttons or any other logical object, only by autoplay or players.
Animations are the heart and soul of every good room. Not only will they make it seem more alive, but they are also used in a multitude of workarounds! So keep on reading, even if you think you know your way around animations already.
Used to set the end-point of an animation.
Shows the seconds which it will take the animation to go from start to end-point. An animation with 0 seconds duration will instantly teleport the object.
This will make the animation animate backwards after it completed its path.
This will keep the animation playing once triggered. If bounced, it will move back and forth. If not bounced, the item will teleport to its original position and then repeat the animation.
The animation is triggered as soon as the level is started. Most useful in combination with “loop” for ambience animations.
It will take so many seconds before the animations starts playing, when the animated object is activated for the first time. If the object is activated again, it will not be delayed again! This is sad and I hope it gets fixed.
This allows you to make an animated item also be a pickable. Often it is needed to make pickable items be animated even when they are not intended to move in any way! More on that a bit further down in the tips.
The items/actions that get triggered after the animation reached its endpoint.
0 Seconds animations can be used to swap objects seamlessly! This can be useful if you want a Button to first not work but later open something, for example.
Animations do not obey physics, but will move with their “parent” and act like a static in game. This is why they will help you when your key will not stay in the drawer because of physical obstacles. Or of you want to plaster apickable item to a pickable, or to the wall, or to a moving painting, etc.
Just animate a key, tick the pickable box, do not give it an animation path and place it on the wall. It will stick to it until your player picks it up!
Under some circumstances the item types will carry over to the animation status. E.g. of you have a crate and the lid is pickable and then you set it to be an animation, it will cause no issues if the chest is static or draggable. But it will cause problems in your inventory! Looking at a small chest with an animated lid (even with pickable unchecked) can allow the lid to simply be picked off, since the former “pickable” status carries over. To fix this issue make the lid not be an animation, set it to “static” and then make it an animation again.
Animations can be used as timers! Just place an Empty, make it an animation (no path setting needed) and let the animation take 30 seconds. You now have a 30 seconds timer for things you set to happen “on completion” of it. If you set it on loop, you have a timer that gives out an activation signal every 30 seconds.
Turnables are used as inputs for locks. They can give a range of values as output, starting with 0 and ending with the number of steps you assign -1
This determines along which axis your turnable will turn when moved. Sideways, upwards, etc.
This determines how the mouse movement affects the turnable. Many people set this wrong for their turnables, which will result in you pulling down a number dial, but instead it will move upwards. Keep an eye on this in your rooms!
This determines how many snap positions the turnable will have and how many different signals it will be able to send. A turnable with 4 steps will send out the values 0, 1, 2, 3. Even if the numbers on it are 1, 2, 3, 4. This is important to know when setting up your lock!
The lock(s) this turnable gives information to. If it is an “inplace” lock, make sure to assign the turnable to the correct position of password digits!
Turnables can be everything. A valve, a numbers lock, a stature or even an elephant.
Keep in mind you can retexture your turnables to have custom faces that show numbers, symbols or whatever else you want!
Dials are the most obscure object class as of now. They are rarely used because they are a bit buggy and Turnables basically do the same job. But for some riddles you might need to try your luck with them! They have some unique features. It e.g. allows a turning puzzle piece that does not “snap” into position.
This determines the axis around which the turnable spins. There is no player axis, because the player is supposed to grab a part of the dial and spin it manually in the needed direction. The handling is a bit wonky.
The number of section the dial is split into. Do not enter a 0 here, else the game will try to divide by 0, which leads to errors that will clutter your playerlog.
VALUE OUTPUT RANGE
If you have a dial with the VALUE COUNT 4, it has 4 sections to which you can turn your wheels. The OUTPUT those sections give depends on the VALUE OUTPUT RANGE. This is going to be a bit weird, so do not be alarmed if you feel confused at first. Let’s take our 4-section turnable wheel. The top section output (with me applying a forward spin axis) is 0. The following section outputs will be determined by what you enter as “Range”. If you have 4 sections from your VALUE COUNT of 4 and then enter 8 as the OUTPUT RANGE, the output of the sectors will look like this:
Having a Value Output Range of 12 will give outputs 0, 3, 6, 9.
If you choose numbers that are not equally divertible between the sectors, they will be ignored and the next lower number assumed that works. So e.g. having a Value Output Range of 13 for our 4-sector Dial will still result in the same output as the Value Output Range 12 one. Only Value Output Range 16 will start changing the output values again.
This is really weird stuff, so if you want to use dials, just enter the same numbers for both Value Count and Value Output Range. This should work for nearly all things you plan to do with dials.
SNAP TO POSITION
Seems to be bugged at the moment, but is supposed to work similar as with the turnables.
The lock(s) this dial connects to.
Dials will only output when they are stopped and let go off.
Whenever you can avoid dials, use Turnables instead.
Scaling, Moving and Turning
Scaling can be used to mirror items, if they are pulled beyond their thinnest point.
If you press T items will turn on one axis 90°. Just T is the green axis, shift+T is blue axis and alt+T is the red axis. Thanks to Zek for this.
If you align items via turning and moving you can on top of your screen switch between “global view”, using the axis system of the room, or “local view”, showing you the turning axis and moving directions based on the orientation of the object you selected. This is immensely helpful designs that require several items to not follow the main room axis.
Weird scaling issues of buttons or animations or even pickables that blow up in your inventory can be the result of parenting issues. Scaled parents can affect the scale of their “children”. To prevent that make all the objects be the children of an Empty. Or find other ways to not directly assign the affected object to the scaled object.
You can move objects and animations by 0.25 if you hold ctrl while moving. Thanks to Wolff for this!