Each SimObject is assigned to an object type, which is accessible from the object’s metadata:

from ai2thor.controller import Controller
controller = Controller(scene='FloorPlan1')

for obj in controller.last_event.metadata["objects"]:
    print(obj["objectType"])

The table below provides information about the behavior of every object type that appears in iTHOR. Definitions can be found at the bottom of the page.

Object Types that have a (*) next to them are only referenced after an interaction. For instance,

Apple
becomes
AppleSliced
once the
Slice
action has been applied to the
Apple
.

Object Type
Scenes
Actionable Properties
Material Properties
Default Compatible Receptacles
Contextual Interactions

AlarmClock

Bedrooms (All)PickupableTemperature, Mass, SalientMaterialsBox, Dresser, Desk, SideTable, DiningTable, TVStand, CoffeeTable, CounterTop, Shelf

AluminumFoil

Kitchens (1/30)PickupableTemperature, Mass, SalientMaterials

Apple

Kitchens (All)Pickupable, SliceableTemperature, Mass, SalientMaterialsPot, Pan, Bowl, Microwave, Fridge, Plate, Sink, SinkBasin, DiningTable, TVStand, CoffeeTable, SideTable, Desk, CounterTop, GarbageCan, Dresser

AppleSliced*

Kitchens (All)PickupableTemperature, Mass, SalientMaterials, Inherited: Slice (Apple)Pot, Pan, Bowl, Microwave, Fridge, Plate, Sink, SinkBasin, DiningTable, TVStand, CoffeeTable, SideTable, Desk, CounterTop, GarbageCan, Dresser

ArmChair

Living Rooms (27/30)
Bedrooms (6/30)
Receptacle, MoveableTemperature

BaseballBat

Bedrooms (13/30)PickupableTemperatureBed, DiningTable, TVStand, CoffeeTable, SideTable, Desk, CounterTop

BasketBall

Bedrooms (11/30)PickupableTemperatureSofa, ArmChair, Dresser, Desk, Bed, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop

Bathtub

Bathrooms (21/30)Receptacle (Some)Temperature

BathtubBasin

Bathrooms (19/30)ReceptacleTemperature, Inherited: Bathtub

Bed

Bedrooms (All)Receptacle, DirtyableTemperature

Blinds

Kitchens (5/30)
Living Rooms (1/30)
Bedrooms (27/30)
OpenableTemperature

Book

Kitchens (2/30)
Living Rooms (7/30)
Bedrooms (All)
Openable, PickupableTemperature, Mass, SalientMaterialsSofa, ArmChair, Box, Ottoman, Dresser, Desk, Bed, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer

Boots

Living Rooms (5/30)
Bedrooms (3/30)
PickupableTemperature, Mass, SalientMaterials

Bottle

Kitchens (7/30)Pickupable, Fillable, BreakableTemperature, Mass, SalientMaterialsFridge, Box, Dresser, Desk, Sink, SinkBasin, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, GarbageCanWill break if subjected to enough force. Will fill up with water if moved underneath a running water source.

Bowl

Kitchens (All)
Living Rooms (5/30)
Bedrooms (13/30)
Pickupable, Receptacle, Fillable, Breakable (Some), DirtyableTemperature, Mass, SalientMaterialsMicrowave, Fridge, Dresser, Desk, Sink, SinkBasin, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, ShelfWill automatically break if subjected to enough force. Not all bowls are breakable (Plastic-Unbreakable vs Glass-Breakable vs Ceramic-Breakable). If empty, will fill up with water if moved underneath a running water source. If in the Dirty state, will automatically become Clean if moved under running water.

Box

Living Rooms (All)
Bedrooms (12/30)
Openable, Pickupable, ReceptacleTemperature, Mass, SalientMaterialsSofa, ArmChair, Dresser, Desk, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Ottoman

Bread

Kitchens (All)Pickupable, SliceableTemperature, Mass, SalientMaterialsMicrowave, Fridge, DiningTable, TVStand, CoffeeTable, SideTable, Desk, CounterTop, GarbageCan, Plate

BreadSliced*

Kitchens (All)Pickupable, CookableTemperature, Mass, SalientMaterials, Inherited: Slice (Bread)Microwave, Fridge, DiningTable, TVStand, CoffeeTable, SideTable, Desk, CounterTop, GarbageCan, Toaster, PlateUse PutObject action to place BreadSliced into Toaster objects. If the Toaster is on, the BreadSliced will automatically cook. BreadSliced will also automatically cook if moved over an active StoveBurner object.

ButterKnife

Kitchens (All)PickupableTemperature, Mass, SalientMaterialsPot, Pan, Bowl, Mug, Plate, Cup, Sink, SinkBasin, DiningTable, TVStand, CoffeeTable, SideTable, Desk, CounterTop, Drawer

Cabinet

Kitchens (All)
Living Rooms (6/30)
Bedrooms (5/30)
Bathrooms (15/30)
Openable, ReceptacleTemperature

Candle

Living Rooms (3/30)
Bathrooms (All)
Pickupable, ToggleableTemperature, Mass, SalientMaterialsBox, Dresser, Desk, Toilet, Cart, Bathtub, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, DrawerCan be lit using the ToggleObjectOn action. If another source of flame (another Candle or a Stove Burner) touches the wick, the Candle will automatically be lit and turn on. If the wick of the Candle touches a source of water, then the Candle will automatically be put out and turned off.

CD

Bedrooms (All)PickupableTemperature, Mass, SalientMaterialsBox, Ottoman, Dresser, Desk, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, GarbageCan, Safe, Sofa, ArmChair

CellPhone

Kitchens (4/30)
Living Rooms (7/30)
Bedrooms (All)
Pickupable, Toggleable, BreakableTemperature, Mass, SalientMaterialsSofa, ArmChair, Box, Ottoman, Dresser, Desk, Bed, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, SafeWill automatically break if subjected to enough force. When broken, the CellPhone’s screen will appear cracked and the On/Off state will be switched to Off. Broken CellPhones will no longer be able to turn on with ToggleObjectOn.

Chair

Kitchens (12/30)
Living Rooms (20/30)
Bedrooms (22/30)
MoveableTemperature, Mass

Cloth

Bedrooms (5/30)
Bathrooms (All)
Pickupable, DirtyableTemperature, Mass, SalientMaterialsSofa, ArmChair, Box, Ottoman, Dresser, LaundryHamper, Desk, Toilet, Cart, BathtubBasin, Bathtub, Sink, SinkBasin, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, GarbageCanIf in the Dirty state, will automatically become Clean if moved under running water.

CoffeeMachine

Kitchens (All)Toggleable, Receptacle, MoveableTemperature, ChangeTempCoffee Machines are receptacles but only allow objects of type Mug to be placed in them. If a Coffee Machine is On and an empty Mug is placed in it, the Mug will automatically fill with Coffee and have its Temperature changed to Hot

CoffeeTable

Living Rooms (24/30)
Bedrooms (1/30)
Receptacle, MoveableTemperature

CounterTop

Kitchens (All)
Bedrooms (1/30)
Bathrooms (25/30)
ReceptacleTemperature

CreditCard

Kitchens (3/30)
Living Rooms (All)
Bedrooms (All)
PickupableTemperature, Mass, SalientMaterialsSofa, ArmChair, Box, Ottoman, Dresser, Desk, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, Shelf

Cup

Kitchens (All)Pickupable, Receptacle, Fillable, Breakable (Some), DirtyableTemperature, Mass, SalientMaterialsMicrowave, Fridge, Dresser, Desk, Sink, SinkBasin, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, ShelfWill automatically break if subjected to enough force. Not all Cups are breakable (Plastic-Unbreakable vs Glass-Breakable vs Ceramic-Breakable). If empty, will fill up with water if moved underneath a running water source. If in the Dirty state, will automatically become Clean if moved under running water.

Curtains

Kitchens (2/30)
Living Rooms (10/30)
Bedrooms (2/30)
Temperature

Desk

Living Rooms (2/30)
Bedrooms (24/30)
Receptacle, MoveableTemperature

DeskLamp

Living Rooms (13/30)
Bedrooms (All)
Toggleable, MoveableTemperature

Desktop

Bedrooms (2/30)MoveableTemperature, Mass, SalientMaterials

DiningTable

Kitchens (16/30)
Living Rooms (14/30)
Receptacle, MoveableTemperature

DishSponge

Kitchens (All)
Bathrooms (6/30)
PickupableTemperature, Mass, SalientMaterialsPot, Pan, Bowl, Plate, Box, Toilet, Cart, Cart, BathtubBasin, Bathtub, Sink, SinkBasin, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, GarbageCan

DogBed

Living Rooms (2/30)
Bedrooms (1/30)
MoveableTemperature, Mass, SalientMaterials

Drawer

Kitchens (28/30)
Living Rooms (23/30)
Bedrooms (29/30)
Bathrooms (15/30)
Openable, ReceptacleTemperature

Dresser

Living Rooms (10/30)
Bedrooms (11/30)
Bathrooms (2/30)
Receptacle, MoveableTemperature

Dumbbell

Bedrooms (4/30)PickupableTemperature, Mass, SalientMaterials

Egg

Kitchens (All)Pickupable, Sliceable, BreakableTemperature, Mass, SalientMaterialsPot, Pan, Bowl, Microwave, Fridge, Plate, Sink, SinkBasin, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, GarbageCanUsing the Slice action or the Break action will change the Egg to an EggCracked object. Dropping or Throwing the Egg with enough force will also automatically Break the egg into an EggCracked.

EggCracked*

Kitchens (All)Pickupable, CookableTemperature, Mass, SalientMaterials, Inherited: Slice (Egg), Inherited: Break (Egg)Pot, Pan, Bowl, Microwave, Fridge, Plate, Sink, SinkBasin, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, GarbageCanPlacing an EggCracked object onto an active StoveBurner will automatically cook it. Placing an EggCracked object into a Microwave, and then turning on the Microwave will automatically cook it.

Faucet

Kitchens (All)
Bathrooms (All)
ToggleableTemperatureCan be turned on with ToggleObjectOn action. When on, a stream of running water will pour out from the faucet spout. If the Faucet is over a Sink or a Bathtub, the interior of the Sink/Bathtub will fill with standing water. For objects that can be automatically cleaned, the stream of water is a Running Water Source

Floor

Kitchens (All)
Living Rooms (All)
Bedrooms (All)
Bathrooms (All)
Temperature

FloorLamp

Living Rooms (All)Toggleable, MoveableTemperature

Footstool

Bedrooms (1/30)
Bathrooms (1/30)
MoveableTemperature

Fork

Kitchens (All)PickupableTemperature, Mass, SalientMaterialsPot, Pan, Bowl, Mug, Plate, Cup, Sink, SinkBasin, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Drawer

Fridge

Kitchens (All)Openable, ReceptacleTemperature, ChangeTempObjects placed in a Fridge will have their temperature automatically changed to Cold

GarbageBag

Kitchens (3/30)
Bedrooms (3/30)
MoveableTemperature, Mass, SalientMaterials

GarbageCan

Kitchens (All)
Living Rooms (All)
Bedrooms (All)
Bathrooms (All)
Receptacle, MoveableTemperature

HandTowel

Bathrooms (All)PickupableTemperature, Mass, SalientMaterialsHandTowelHolder

HandTowelHolder

Bathrooms (All)ReceptacleTemperatureHandTowelHolders are recptacle objects, but only allow HandTowel type objects to be placed on them.

HousePlant

Kitchens (10/30)
Living Rooms (All)
Bedrooms (7/30)
Bathrooms (1/30)
Fillable, MoveableTemperatureWill fill up with water if moved underneath a running water source.

Kettle

Kitchens (15/30)Openable, Pickupable, FillableTemperature, Mass, SalientMaterialsDiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Sink, SinkBasin, Cabinet, StoveBurner, ShelfWill fill up with water if moved underneath a running water source.

KeyChain

Living Rooms (All)
Bedrooms (All)
PickupableTemperature, Mass, SalientMaterialsSofa, ArmChair, Box, Ottoman, Dresser, Desk, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, Safe

Knife

Kitchens (All)PickupableTemperature, Mass, SalientMaterialsPot, Pan, Bowl, Mug, Plate, Sink, SinkBasin, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Drawer

Ladle

Kitchens (10/30)PickupableTemperature, Mass, SalientMaterialsPot, Pan, Bowl, Plate, Sink, SinkBasin, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Drawer

Laptop

Living Rooms (All)
Bedrooms (All)
Openable, Pickupable, Toggleable, BreakableTemperature, Mass, SalientMaterialsSofa, ArmChair, Ottoman, Dresser, Desk, Bed, DiningTable, TVStand, CoffeeTable, SideTable, CounterTopWill automatically break if subjected to enough force. When broken, the Laptop’s screen will appear cracked and the On/Off state will be switched to Off. Broken Laptops will no longer be able to turn on with ToggleObjectOn, but they can still be opened or closed with OpenObject or CloseObject.

LaundryHamper

Bedrooms (8/30)Receptacle, MoveableTemperature

Lettuce

Kitchens (All)Pickupable, SliceableTemperature, Mass, SalientMaterialsPot, Pan, Bowl, Fridge, Plate, Sink, SinkBasin, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, GarbageCan

LettuceSliced*

Kitchens (All)PickupableTemperature, Mass, SalientMaterials, Inherited: Slice (Lettuce)Pot, Pan, Bowl, Fridge, Plate, Sink, SinkBasin, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, GarbageCan

LightSwitch

Kitchens (All)
Living Rooms (All)
Bedrooms (All)
Bathrooms (All)
ToggleableTemperature

Microwave

Kitchens (All)Openable, Toggleable, Receptacle, MoveableTemperature, ChangeTempAny objects inside a Microwave while it is turned On will have their temperature changed to Hot. Some object will also automatically cook (Potato, Egg). Microwaves cannot be turned on if they are open, and cannot be opened if they are currently on.

Mirror

Kitchens (2/30)
Living Rooms (3/30)
Bedrooms (All)
Bathrooms (All)
Breakable, DirtyableTemperatureAutomatically breaks if subjected to enough force. For example, if an object thrown at it has enough force, the object may break.

Mug

Kitchens (All)
Bedrooms (16/30)
Pickupable, Receptacle, Fillable, Breakable, DirtyableTemperature, Mass, SalientMaterialsSinkBasin, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, ShelfWill automatically break if subjected to enough force. Not all Mugs are breakable (Plastic-Unbreakable vs Glass-Breakable vs Ceramic-Breakable). If empty, will fill up with water if moved underneath a running water source. If in the Dirty state, will automatically become Clean if moved under running water. If empty and placed in a CoffeeMachine that is on, will automatically fill with Coffee and have temperature changed to Hot

Newspaper

Living Rooms (18/30)PickupableTemperature, Mass, SalientMaterialsSofa, ArmChair, Ottoman, Dresser, Desk, Bed, Toilet, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, GarbageCan

Ottoman

Living Rooms (4/30)Receptacle, MoveableTemperature

Painting

Living Rooms (All)
Bedrooms (13/30)
Bathrooms (1/30)
Temperature

Pan

Kitchens (All)Pickupable, Receptacle, DirtyableTemperature, Mass, SalientMaterialsDiningTable, CounterTop, TVStand, CoffeeTable, SideTable, Sink, SinkBasin, Cabinet, StoveBurner, FridgeIf in the Dirty state, will automatically become Clean if moved under running water.

PaperTowelRoll

Kitchens (10/30)
Bathrooms (4/30)
Pickupable, UsedUpTemperature, Mass, SalientMaterials

Pen

Kitchens (2/30)
Living Rooms (5/30)
Bedrooms (All)
PickupableTemperature, Mass, SalientMaterialsMug, Box, Dresser, Desk, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, GarbageCan

Pencil

Kitchens (2/30)
Living Rooms (4/30)
Bedrooms (All)
PickupableTemperature, Mass, SalientMaterialsMug, Box, Dresser, Desk, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, GarbageCan

PepperShaker

Kitchens (All)PickupableTemperature, Mass, SalientMaterialsDiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Drawer, Cabinet, Shelf

Pillow

Living Rooms (All)
Bedrooms (All)
PickupableTemperature, Mass, SalientMaterialsSofa, ArmChair, Ottoman, Bed

Plate

Kitchens (All)
Living Rooms (10/30)
Pickupable, Receptacle, Breakable (Some), DirtyableTemperature, Mass, SalientMaterialsMicrowave, Fridge, Dresser, Desk, Sink, Sink, SinkBasin, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, ShelfWill automatically break if subjected to enough force. Not all Plates are breakable (Plastic-Unbreakable vs Glass-Breakable vs Ceramic-Breakable). If in the Dirty state, will automatically become Clean if moved under running water.

Plunger

Bathrooms (All)PickupableTemperature, Mass, SalientMaterialsCart, Cabinet

Poster

Bedrooms (6/30)Temperature

Pot

Kitchens (All)Pickupable, Receptacle, Fillable, DirtyableTemperature, Mass, SalientMaterialsStoveBurner, Fridge, Sink, SinkBasin, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, ShelfIf empty, will fill up with water if moved underneath a running water source. If in the Dirty state, will automatically become Clean if moved under running water.

Potato

Kitchens (All)Pickupable, Sliceable, CookableTemperature, Mass, SalientMaterialsPot, Pan, Bowl, Microwave, Fridge, Plate, Sink, SinkBasin, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, GarbageCanWill automatically be Cooked if placed over an active Stove Burner or in a turned on Microwave. When Sliced, will create multiple PotatoSliced objects. Cooking the Potato first and then Slicing it will result in Cooked PotatoSliced objects.

PotatoSliced*

Kitchens (All)Pickupable, CookableTemperature, Mass, SalientMaterials, Inherited: Slice (Potato)Pot, Pan, Bowl, Microwave, Fridge, Plate, Sink, SinkBasin, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, GarbageCanWill automatically be Cooked if placed over an active Stove Burner or in a turned on Microwave.

RemoteControl

Living Rooms (All)
Bedrooms (3/30)
PickupableTemperature, Mass, SalientMaterialsSofa, ArmChair, Box, Ottoman, Dresser, Desk, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer

RoomDecor

Living Rooms (2/30)MoveableTemperature, Mass, SalientMaterials

Safe

Kitchens (1/30)
Living Rooms (2/30)
Bedrooms (5/30)
Openable, Receptacle, MoveableTemperature

SaltShaker

Kitchens (All)PickupableTemperature, Mass, SalientMaterialsDiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Drawer, Cabinet, Shelf

ScrubBrush

Bathrooms (All)PickupableTemperature, Mass, SalientMaterials

Shelf

Kitchens (9/30)
Living Rooms (16/30)
Bedrooms (23/30)
Bathrooms (7/30)
ReceptacleTemperature

ShelvingUnit

Kitchens (5/30)
Living Rooms (5/30)
Bedrooms (7/30)
MoveableTemperature, Mass, SalientMaterials

ShowerCurtain

Bathrooms (13/30)OpenableTemperature

ShowerDoor

Bathrooms (17/30)Openable, BreakableTemperatureAutomatically breaks if subjected to enough force. For example, if an object thrown at it has enough force, the object may break.

ShowerGlass

Bathrooms (13/30)BreakableTemperatureAutomatically breaks if subjected to enough force. For example, if an object thrown at it has enough force, the object may break.

ShowerHead

Bathrooms (24/30)ToggleableTemperatureCan be turned on with ToggleObjectOn action. When on, a stream of running water will pour out from the ShowerHead. For objects that can be automatically cleaned, the stream of water is a Running Water Source.

SideTable

Kitchens (3/30)
Living Rooms (27/30)
Bedrooms (23/30)
Bathrooms (5/30)
Receptacle, MoveableTemperature

Sink

Kitchens (All)
Bathrooms (All)
Receptacle (Some)Temperature

SinkBasin

Kitchens (All)
Bathrooms (All)
ReceptacleTemperature, Inherited: Sink

SoapBar

Bathrooms (All)PickupableTemperature, Mass, SalientMaterialsToilet, Cart, Bathtub, BathtubBasin, Sink, SinkBasin, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, GarbageCan

SoapBottle

Kitchens (All)
Bathrooms (All)
Pickupable, UsedUp (Some)Temperature, Mass, SalientMaterialsDresser, Desk, Toilet, Cart, Bathtub, Sink, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, GarbageCan

Sofa

Living Rooms (All)
Bedrooms (1/30)
Receptacle, MoveableTemperature

Spatula

Kitchens (All)PickupableTemperature, Mass, SalientMaterialsPot, Pan, Bowl, Plate, Sink, SinkBasin, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Drawer

Spoon

Kitchens (All)PickupableTemperature, Mass, SalientMaterialsPot, Pan, Bowl, Mug, Plate, Cup, Sink, SinkBasin, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Drawer

SprayBottle

Kitchens (2/30)
Bathrooms (All)
PickupableTemperature, Mass, SalientMaterialsDresser, Desk, Toilet, Cart, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, GarbageCan

Statue

Kitchens (4/30)
Living Rooms (29/30)
Bedrooms (4/30)
Pickupable, BreakableTemperature, Mass, SalientMaterialsBox, Dresser, Desk, Cart, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, SafeWill automatically break if subjected to enough force, for example if dropped from a high enough distance

Stool

Kitchens (14/30)
Living Rooms (2/30)
Bedrooms (1/30)
MoveableTemperature, Mass, SalientMaterials

StoveBurner

Kitchens (All)Toggleable, ReceptacleTemperature, ChangeTempWhile this object type can be turned on/off, the ToggleObjectOn and ToggleObjectOff actions will not work on it directly. All StoveBurners are controlled by the on/off state of a StoveKnob object. Turning on/off the StoveKnob will automatically turn on/off the StoveBurner that it is linked to. Objects placed over an active StoveBurner will have their temperature changed to Hot. Some objects can be automatically cooked over an active StoveBurner (Potato, BreadSliced). StoveBurners are receptacles but only allow objects of type Pot, Pan, and Kettle to be placed on them directly. StoveBurners are also sources of fire and can light Candles if the wick of the candle is moved over the burner

StoveKnob

Kitchens (All)ToggleableTemperatureAll StoveKnobs control the on/off state of themselves and a linked StoveBurner.

TableTopDecor

Bedrooms (1/30)PickupableTemperature, Mass, SalientMaterials

TargetCircle

TemperatureCan only be spawned in via the `SpawnTargetCircles` action (See the Miscellaneous Actions section). `TargetCircles` are a special type of sim object that have no collision, but do return what objects are contained by the circle in the circle's object metadata. This can be used to create target areas to maneuver other sim objects to, allowing for a success or failure flag to see if an object was succesfully moved to a specific target circle's position. There are three sizes of target circles: small, medium, and large. This allows for easier or harder target areas.

TeddyBear

Bedrooms (10/30)PickupableTemperature, Mass, SalientMaterialsBed, Sofa, ArmChair, Ottoman, Dresser, Desk, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Safe

Television

Living Rooms (All)
Bedrooms (3/30)
Toggleable, Breakable, MoveableTemperatureWill automatically break if subjected to enough force. When broken, the Television’s screen will appear cracked and the On/Off state will be switched to Off. Broken Televisions will no longer be able to turn on with ToggleObjectOn.

TennisRacket

Bedrooms (10/30)PickupableTemperature, Mass, SalientMaterialsDresser, Desk, Bed, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop

TissueBox

Living Rooms (9/30)
Bedrooms (4/30)
Bathrooms (9/30)
Pickupable, UsedUp (Some)Temperature, Mass, SalientMaterialsBox, Dresser, Desk, Toilet, Cart, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, GarbageCan

Toaster

Kitchens (All)Toggleable, Receptacle, MoveableTemperature, ChangeTempToasters are receptacles but only allow BreadSliced objects to be placed in them. Any BreadSliced object in a Toaster that is turned on will automatically be Cooked.

Toilet

Bathrooms (All)Openable, ReceptacleTemperature

ToiletPaper

Bathrooms (All)Pickupable, UsedUpTemperature, Mass, SalientMaterialsDresser, Desk, Toilet, ToiletPaperHanger, Cart, Bathtub, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, GarbageCan

ToiletPaperHanger

Bathrooms (All)ReceptacleTemperatureToiletPaperHangers are receptacles but only allow ToiletPaper objects to be placed in them

Tomato

Kitchens (All)Pickupable, SliceableTemperature, Mass, SalientMaterialsDiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Sink, SinkBasin, Pot, Bowl, Fridge, GarbageCan, PlateWhen Sliced, will create multiple TomatoSliced objects.

TomatoSliced*

Kitchens (All)PickupableTemperature, Mass, SalientMaterials, Inherited: Slice (Tomato)DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Sink, SinkBasin, Pot, Bowl, Fridge, GarbageCan, Plate

Towel

Bathrooms (All)PickupableTemperature, Mass, SalientMaterialsTowelHolder

TowelHolder

Bathrooms (All)ReceptacleTemperatureTowelHolders are receptacles but only allow Towel objects to be placed in them.

TVStand

Living Rooms (12/30)Receptacle, MoveableTemperature

VacuumCleaner

Bedrooms (1/30)MoveableTemperature, Mass, SalientMaterials

Vase

Kitchens (6/30)
Living Rooms (18/30)
Bedrooms (3/30)
Pickupable, BreakableTemperature, Mass, SalientMaterialsBox, Dresser, Desk, Cart, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, SafeWill automaticaly break if subjected to enough force.

Watch

Living Rooms (Some)PickupableTemperature, Mass, SalientMaterialsBox, Dresser, Desk, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, Drawer, Safe

WateringCan

Living Rooms (13/30)Pickupable, FillableTemperature, Mass, SalientMaterialsDresser, Desk, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, DrawerIf empty, will automatically fill with water if placed under a running water source.

Window

Kitchens (26/30)
Living Rooms (28/30)
Bedrooms (All)
Bathrooms (19/30)
BreakableTemperatureWill automatically break if subjected to enough force.

WineBottle

Kitchens (10/30)Pickupable, Fillable, BreakableTemperature, Mass, SalientMaterialsFridge, Dresser, Desk, Cabinet, DiningTable, TVStand, CoffeeTable, SideTable, CounterTop, Shelf, GarbageCanWill automatically break if subjected to enough force. If empty, will automatically fill with water if placed under a running water source.

Objects in this framework can have a number of Actionable Properties associated with the object type. Actionable Properties are specific properties that have an Action associated with them. For example, an object that is Openable means that the OpenObject and CloseObject actions can be used to interact with that object. Below is a list of all Actionable Properties and their detailed descriptions.

These objects can be opened or closed using the OpenObject and CloseObject actions. Receptacles that are Openable allow for objects to be placed inside them.

All Openable objects will return openable=True in their object metadata to indicate that they have this property. The object metadata also indicates an Openable object’s current open/closed state. If isOpen=True, the object is open. If isOpen=False, the object is closed.

These objects are able to be picked up or put down into Receptacles objects by the Agent using the PickupObject and PutObject actions. Picked up objects can also be dropped using DropHandObject which will remove the object from the Agent’s hand without needing a target receptacle. Throw is an extension of dropping an object, where an additional force is added to throw object about the scene. Pickupable objects can also be shoved around using the Push and Pull actions. Some Receptacle objects are also pickupable. Any objects placed inside a pickupable receptacle are moved all at once, so complex sequences like (Put Apple on Plate, then Move Plate with Apple to Sink) are possible.

All Pickupable objects will return pickupable=True in their object metadata to indicate that they have this property. The object metadata also indicates a Pickupable object’s current state of whether it is currently picked up by the agent or not. If isPickedUp=True the agent is actively holding the object. If isPickedUp=False then the object is not being picked up by the agent.

These are non-static objects that can be moved around the scene by using actions like Push and Pull. They can also be repositioned due to forces from other objects, such as using Throw to toss a Pickupable object at a Moveable object. The key difference between Moveable and Pickupable objects are that Moveable objects are too large to be held in the agent’s hand as Pickupable objects are, so actions like PickupObject will not work on Moveable objects.

All Moveable objects will return moveable=True in their object metadata to indicate that they have this property. The object metadata also indicates if an object is currently in motion. If isMoving=True then the object is actively moving. If isMoving = False the object is not moving. Note that both Moveable and Pickupable objects can be moving, so the isMoving metadata value is not restricted to only Moveable objects.

Interact with these objects using the ToggleObjectOn and ToggleObjectOff actions. All Toggleable objects have a visible state change that occurs when toggled on or off (i.e., laptop screen will be on with an image or blank when off, a lamp will be lit when on and dim when off).

All Toggleable objects will return toggleable=True in their object metadata to indicate that they have this property. The object metadata also indicates if a Toggleable object is currently toggled On or Off. If isToggled=True, the object is turned on. If isToggled=False, the object is turned off.

Receptacle objects allow other objects to be placed on or in them if the other object can physically fit the receptacle. Some receptacles are restricted to specific object types (i.e. ToiletPaper is the only type that can go on a ToiletPaperHanger). Note that any receptacles that are also Pickupable can be moved about the scene with any sim objects they actively contain (ie: Pick up a Plate with an Apple on it to move both the Plate and Apple around the scene simultaneously).

All Receptacle objects will return receptacle=True in their object metadata to indicate they have this property. The object metadata also indicates if a Receptacle object contains any other objects via the receptacleObjectIds metadata string list, which lists all objectIds of any sim objects contained by the Receptacle. Additionally, objects report back any receptacles that they are contained by via the parentReceptacles list of strings in the object metadata.

These objects can be filled with various liquids using the FillObjectWithLiquid action. Fillable objects can be filled with Water, Coffee, or Wine. If an object is filled with one of the liquid types and is rotated greater than 90 degrees from the global upward axis, the object will automatically empty itself because the liquid has “spilled.” Additionally, some fill interactions are context sensitive. For example, placing an empty mug in a coffee maker object that is turned on will automatically fill the mug with coffee. Similarly, moving an empty mug under a running faucet will automatically fill the mug with water.

All Fillable objects will return canFillWithLiquid=True in their object metadata to indicate they have this property. The object metadata also indicates if an object is actively filled with a liquid. If isFilledWithLiquid=True the object is filled by some liquid. If isFilledWithLiquid=False, the object is empty.

These objects can be sliced into smaller pieces using the SliceObject action. This destroys the source object and spawns in multiple “sliced” pieces of the source object in the exact same location. This is a one-way state change, so only a scene reset will revert sliced objects to their whole versions. Sliced objects will still report metadata information even after being destroyed. This allows you to check the last position the source object was before the Slice action finished.

All Sliceable objects will return sliceable=True in their object metadata to indicate if they have this property. The object metadata also indicates if a Sliceable object has been sliced or not. If isSliced=True the object has been sliced and is no longer interactable (although the pieces it spawns are interactable). If isSliced=False the object has not been sliced and is whole.

These objects have a cooked state that can be switched to with the CookObject action. This is a one-way state change, so only a scene reset will revert cooked objects back to their uncooked state. Cookable objects can interact with objects that are heat sources (canChangeTempToHot=True) to automatically change the object to a cooked state. This means interactions like turning on a Microwave with a Potato in it will turn the Potato to the cooked state without using the CookObject action.

All Cookable objects will return cookable=True in their object metadata to indicate that they have this property. The object metadata also indicates if a Cookable object is currently cooked. If isCooked=True, the object is cooked. If isCooked=False, the object is not cooked.

These objects have a broken state that can be switched to with the BreakObject action. This is a one-way state change, so only a scene reset will revert broken objects to their unbroken state. Breakable objects also break automatically if they collide with a high enough force. This force threshold is different between objects because some objects are more fragile than others. This automatic breaking can be toggled off via the MakeObjectsOfTypeUnbreakable action. When some objects break, they will shatter into pieces that will not be interacatble, as the fractured remains of the object are not themselves sim objects. Objects that can shatter like certain Cup or Vase objects made of glass or ceramic will shatter in this way when broken. Other objects may remain interactable in a limited way after they break. A Laptop, for example, when broken will have its screen become cracked. You will still be able to open, close, and pickup the Laptop if it is broken, but you will no longer be able to toggle it on.

All Breakable objects will return breakable=True in their object metadata to indicate that they have this property. The object metadata also indicates if a Breakable object is currently broken. If isBroken=True, the object has broken. If isBroken=False, the object is whole and not broken.

These objects have a clean and Dirtyable state that can be toggled between using the DirtyObject action. This includes objects like Mugs that can have grime on them, or a Bed that has the covers messy or made. Certain Dirtyable objects can contextually be switched to their clean state if they are moved under running water. (a grimy Bowl moved under a Faucet that is toggled on will clean the bowl automatically).

All Dirtyable objects will return dirtyable=True in their object metadata to indicate that they have this property. The object metadata also indicates if a Dirtyable object is currently in the dirty or clean state. If isDirty=True, the object is in its dirty state. if isDirty=False, the object is in its clean state.

These objects can have parts of themselves used up with the UseUpObject action. This is a one-way interaction and can not be reversed unless the scene is reset. This can change the overall look of the object to show that its contents have been “Used Up.” ToiletPaper, TissueBox, and PaperTowelRoll objects are examples of objects that, when used upp, change form in some way.

All UsedUp objects will return canBeUsedUp=True in their object metadata to indicate that they have this property. The object metadata also indicates if a UsedUp object is currently used up or full. If isUsedUp=True, the object has been used up. If isUsedUp=False, the object is full.

Material Properties are properties of objects that don’t have an Action directly associated with them. These properties cannot be directly manipulated- they only update based on contextual interactions with other sim objects or the environment.

All objects have an abstracted Temperature value that can be either Hot, Cold, or Room Temperature.

These objects can change the Temperature value (Hot, Cold, Room Temp) of other sim objects depending on if the ChangeTemp object is a Heat or Cold source. For example, objects placed on a turned on Stove Burner will have their temperature changed to Hot automatically. Similarly, objects placed in a Refrigerator object will have their temperature changed to Cold automatically. Objects removed from either a Hot or Cold source will return to Room Temperature over time.

All Pickupable objects have a mass value in Kilograms. Using actions like Throw will realistically cause behavior that is reliant on different mass (i.e., Throwing a 0.1kg object with 100 newtons of force will fly farther than Throwing a 200kg object with 100 newtons of force). Note the mass of objects that spawn from other objects is persistent (i.e., A source Potato that has a mass of 0.5 kg, when Sliced would result in slices that add up to 0.5 kg total). Note that static objects like counter-tops or cabinets that are built into the “structure” of a scene do not have a Mass value that can be manipulated.

All Pickupable objects have a set of Salient Materials which describe what the object is made up of. Salient materials include: Metal, Wood, Plastic, Glass, Ceramic, Stone, Fabric, Rubber, Food, Paper, Wax, Soap, Sponge, Organic. Check any object’s Metadata to see what Salient Materials it has, as objects in the same object type category can vary in composition (i.e., Bowls can be Plastic, Glass, or Ceramic).

Some sim objects are created from a source sim object after certain actions. For example, PotatoSliced objects are generated after a Potato object has had the Slice action used on it. Inherited objects inerit the objectId of their source object. So if Potato|1|1|1| was sliced, it would result in multiple slices Potato|1|1|1|Slice_1, Potato|1|1|1|Slice_2, etc.

Some objects can also be Inherited if they are intrinsically a part of another object. An example of this would be every Sink object has a SinkBasin object within it. They inherit objectIds from their “parent” object similar to inherited objects that result from actions (i.e., Sink|1|2|3| would contain a SinkBasin sim object called Sink|1|2|3|SinkBasin). This is to differentiate interacting with the Sink or the interior basin of the sink, as sometimes objects want to be placed on the edge/surface of a Sink instead of the actual basin.

Note that the below table lists the Action used and original object type that results in the Inherited object type if the Inherited type is dependant on an action: PotatoSliced results from Slice(Potato). Other Object Types, like the before mentioned SinkBasin, do not require an action are are listed with just their source object that they are a part of: Bathtubs contain a BathtubBasin.

Some objects are able to contextually affect the state or behavior of other objects. For example, turning on a Microwave with a Potato object in it will cause the Potato’s metadata to automatically change the members isCooked to True and ObjectTemperature to Hot. Additionally, some objects might have certain restricted interactions with others. ToiletPaperHanger objects, which are receptacles, can only have ToiletPaper objects placed in them for example.