Configuring scenery.json Edit this page on GitHub


The scenery.json needs to have a json array with all the scenery you want to include ingame. The key of every entry is the name of the model ingame. It must be unique.


These are the settings that you can give to your scenery.

model (string) (required)

The name of the model/gameobject in your asset bundle

category (string)

The category of your object

price (decimal) (required)

The price of your item, must be a decimal, 100.0 works, 100 does not.

grid (boolean) (optional)

If this item snaps to a grid, only usable for deco's

heightDelta (decimal) (optional)

The unit step in which this item can be risen with the shift key. Disabled if not provided.

recolorable (boolean) (optional)

If this object is recolorable, please read the recolorable documentation.

gridSubdivision (float) (optional, only works with deco type) The default grid size per tile on where this object is placed on. When placing a deco in-game, press alt + 1/2/3 etc. for an example. Default: 1

snapCenter (boolean) (optional, only works with deco type) If this items snaps to the center of the gridSubdivion, if false, snaps to corners. Default: true

type (string) (required)

The type of your model, can be: - deco - trashbin - seating - seatingAuto - lamp - fence

Difference between seating and seatingAuto

For most seatings, seatingAuto will be enough. This type will create 1 or 2 seats on default positions. If you have a special seat, like a round bench. You need to use the type seating. Make sure that this game object has child game objects of where the seats are. They need to be named Seat1, Seat2 etc.


With some scenery types, you need to specify another set of options. Currently only for seatings and fences. See the example on how to specify these options.

Seating Options

seatCount (decimal) (only required for type seating_auto) Can be 1 or 2, this will create 1/2 seats on default positions.

hasBackRest (boolean) (required) If true, enables the animation of guests that lay their arm on the back rest.

Fence options

hasPost (boolean) (required) If true, you need to specify the post model as well.

flat (string) (required) The name of the model of your flat surface.

post (string) (required if hasPost is true) The name of the model of your post surface.

Recolorable Options

List of maximum 4 hex colors, they represent the default color that is set in the deco window. Please read the recolorable documentation.

"recolorableOptions": {
    "color1": "#ff0000",
    "color2": "#00ff00"


Below you'll find an exemplary scenery.json which uses all available options.

    "Bone Bench": {
        "model": "SM_BoneBench",
        "category": "Preview",
        "type": "seatingAuto",
        "seatingOptions": {
            "seatCount": 2.,
            "hasBackRest": false
        "price": 100.5
    "Brontosaurus": {
        "model": "SM_Brontosaurus",
        "type": "deco",
        "price": 100.5,
        "grid": true,
        "recolorable": true,
        "recolorableOptions": {
            "color1": "ff0000",
            "color2": "ff0000"
    "Dino Poop": {
        "model": "SM_DinoPoop",
        "type": "deco",
        "price": 100.5,
        "snapCenter": false,
        "gridSubdivision": 4.0
    "Dino Rib Cage": {
        "model": "SM_DinoRibCage",
        "type": "deco",
        "price": 100.5,
        "heightDelta": 0.25
    "Egg Trash Can": {
        "model": "SM_EggTrashCan",
        "type": "trashbin",
        "price": 100.5
    "Jurassic Fence Broken": {
        "type": "fence",
        "fenceOptions": {
            "hasPost": true,
            "flat": "SM_JurassicFence_Broken",
            "post": "SM_JurassicFencePost"
        "price": 100.5
    "Jurassic Lamp": {
        "type": "lamp",
        "model": "SM_WoodenFencePost",
        "price": 100.5