Most props can be manipulated in some way using Prop_ helper functions (and normal Entity_ helper functions).
Very straightforward - a prop which can have illumination switched on and off with Lamp_SetLit. Often connected to additional in-level lights. Can be controlled through Lamp_ helper functions.
A physics-based prop that can be picked up, turned and examined by the player. Make sure the body mass isn't 0!
A physics-based prop that can be grabbed and pushed around (but not picked up).
A turnable wheel, such as a valve wheel. Must have a Hinge joint. Can be controlled through Wheel_ helper functions.
The basic physics-based object; can't be interacted with by default.
An object with a body in it that can be grabbed and slid along a joint e.g. a drawer. Must include a Slider joint. Can be controlled through Slide_ helper functions.
A door that swings.
. Can be controlled through SwingDoor_ helper functions.
A button that can be locked, disabled or enabled. Can be controlled through Button_ helper functions.
An object which, when interacted with, will load a new level. Nearly obsolete now due to level streaming.
An object which can be smoothly moved or rotated between two different points e.g. a ladder that slides into place, or a wall that turns to reveal a secret passage, or a cargo lift. Use MoveObject_ helper functions.
Like a slider, but has multiple positions / states (not used in SOMA).
A door that slides open - use SlideDoor_ helper functions.
Any sort of lever. Needs a Hinge joint. Use Lever_ helper functions.
An object with a GUI surface on e.g. a computer monitor or door panel. Use Terminal_ helper functions, and ImGui_ functions for drawing on the GUI surface - see GUI for more info.
An object which can be picked up, rotated, and has text associated with it e.g. a letter, a book.
Same as terminal, but can be picked up. Used for Datapads, mobile phones and cameras. Use Terminal_ helper functions and see GUI for more info.
Objects which can be picked up by the player and then go into the player's inventory e.g. computer chips, the Omnitool, the stun gun. Used in conjunction with Tool Areas and the Player Tool Module.
A button object which has a moving or rotating component e.g. a pushbutton or a tap. Can be manipulated in different ways. Use MovingButton_ helper functions.
An object which will be used as the 'held in hands' version of a Prop_Tool.
For creating analogue meters, where a needle rotates across a display (can also be used for analogue clocks). Use Meter_ helper functions.
An object which allows one body to be 'torn' away from another by the player. Used for things like emergency covers on boxes.
A physics-based version of the SlideDoor object - allows the player to manually move the door. Use PhysicsSlideDoor_ helper functions.
An object which can be datamined by the player to pull out the last recorded audio. Use Datamine_ helper functions. You can also use Datamine Areas for this.
A slot which you can plug the Omnitool into. Use Omnislot_ and CathTool_ helper methods.
A source of healing energy - the Wau flower. Use EnergySource_ helper methods and use along with the Player Energy user module.
A set of player hands containing a whole bunch of animations for use with the Player Hands user module. Use PlayerHands_ helper methods.
The Omnitool. Use CathTool_ helper methods.
An Omnitool panel i.e. the ones you wave the Omnitool at to get access. Use OmniPanel_ helper methods.