diff --git a/README.md b/README.md
index 3c69e159b33ed533c84662a73549b2b2b3dc5c65..d9aca70427606a7c146f2f0d3d7422d3b8f98626 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ To understand how to use this starter kit, follow the tutorial at [https://worka
 * **tilesets** : All tilesets
 * **public** : Static files
 * **src** : All TypeScript/Javascript scripts
-* **map.json** : Map file
+* **map.(json/tmj)** : Map file
 * **map.png** : Image displayed on README.md and on the map infos in-game
 
 If you want to use more than one map file, just add the new map file in the root folder, your tilesets in the assets folder and a new script if you need it in the src folder (it will be automaticaly optimized in production).
diff --git a/package-lock.json b/package-lock.json
index d7741a01e9c89935d4ad5a48109c5a1fdf371e01..cb178ea88360bebf469bf4945e405cfcfb008f13 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,22 +1,22 @@
 {
   "name": "workadventure-map-starter-kit",
-  "version": "3.1.3",
+  "version": "3.1.4",
   "lockfileVersion": 2,
   "requires": true,
   "packages": {
     "": {
       "name": "workadventure-map-starter-kit",
-      "version": "3.1.3",
+      "version": "3.1.4",
       "license": "MIT",
       "dependencies": {
-        "@workadventure/iframe-api-typings": "^1.11.2",
-        "@workadventure/scripting-api-extra": "^1.3.2"
+        "@workadventure/iframe-api-typings": "^1.12.4",
+        "@workadventure/scripting-api-extra": "^1.3.3"
       },
       "devDependencies": {
         "@types/node": "^17.0.36",
         "typescript": "^4.5.4",
         "vite": "^2.9.13",
-        "wa-map-optimizer-vite": "^1.1.3"
+        "wa-map-optimizer-vite": "^1.1.5"
       }
     },
     "node_modules/@fontsource/press-start-2p": {
@@ -31,31 +31,32 @@
       "dev": true
     },
     "node_modules/@workadventure/iframe-api-typings": {
-      "version": "1.11.2",
-      "resolved": "https://registry.npmjs.org/@workadventure/iframe-api-typings/-/iframe-api-typings-1.11.2.tgz",
-      "integrity": "sha512-mJo7KQar+fPxPPpg87uUX9KKPXZIkc7czAuIAkFrYMLp9lnLHy9HXNYU3LMiQcG0dauTkbDuOrfB99SpgJIlFA==",
+      "version": "1.12.4",
+      "resolved": "https://registry.npmjs.org/@workadventure/iframe-api-typings/-/iframe-api-typings-1.12.4.tgz",
+      "integrity": "sha512-5LQID/MuFehAqmnxqcS2/3oWXIL9P5yPLF4OcQHj0XVEWHLWNOsqx9a/e5LiBrnqt9esbgQRvzb6GI5HqYePfw==",
       "dependencies": {
-        "rxjs": "^6.6.3"
+        "rxjs": "^6.6.3",
+        "zod": "^3.14.3"
       }
     },
     "node_modules/@workadventure/scripting-api-extra": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/@workadventure/scripting-api-extra/-/scripting-api-extra-1.3.2.tgz",
-      "integrity": "sha512-5blkojuQ8wahuuCNSTA2N5EkU+Oj7HcO3IGwrg8qmoxEg+/uw27NW/3ybk3+WbzdJkOVG4ELYwdV6oRMvzXf0A==",
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/@workadventure/scripting-api-extra/-/scripting-api-extra-1.3.3.tgz",
+      "integrity": "sha512-n71TVgXAqJqSCmBJwDe5C+3sAKkED5EmQUXqqQ+93F79+kCknwBVXM6zQ3LMU5OKhGQqBBcpIkthGERaLhkzPQ==",
       "dependencies": {
         "@fontsource/press-start-2p": "^4.5.0",
-        "@workadventure/tiled-map-type-guard": "^1.0.2",
+        "@workadventure/tiled-map-type-guard": "^2.0.4",
         "mustache": "^4.2.0",
         "nes.css": "^2.3.0",
         "play-dtmf": "^0.1.1"
       }
     },
     "node_modules/@workadventure/tiled-map-type-guard": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/@workadventure/tiled-map-type-guard/-/tiled-map-type-guard-1.0.3.tgz",
-      "integrity": "sha512-pUMxBBZHYAFkpnGWZAVAE8+M+Wn9UtzqZhXvBBBbB1gEakHIka7ahdTGfh0DgRaWrVszVXOP3tf49Dhdmn9pDg==",
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@workadventure/tiled-map-type-guard/-/tiled-map-type-guard-2.0.5.tgz",
+      "integrity": "sha512-6qQ5B224nVwfZEwUT2jMFY1uR4czg4wvHB6FU6UEA9TmE7qK0MCph7aqedWifLRkq/Q+9ntAKFmvV6rqfweBcA==",
       "dependencies": {
-        "generic-type-guard": "^3.4.1"
+        "zod": "^3.17.3"
       }
     },
     "node_modules/base64-js": {
@@ -592,18 +593,6 @@
       "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
       "dev": true
     },
-    "node_modules/generic-type-guard": {
-      "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/generic-type-guard/-/generic-type-guard-3.7.0.tgz",
-      "integrity": "sha512-8QH63snnObMeJNTMeRc1uqWa2YABTUXHPrjJ95K1MsLmtzSGaGOpYAk/sPSoZAnTzZq7FY0Xw7GhWVwLyUyMOA==",
-      "engines": {
-        "npm": ">= 7"
-      },
-      "funding": {
-        "type": "individual",
-        "url": "https://github.com/sponsors/mscharley"
-      }
-    },
     "node_modules/github-from-package": {
       "version": "0.0.0",
       "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
@@ -743,9 +732,9 @@
       }
     },
     "node_modules/node-abi": {
-      "version": "3.24.0",
-      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.24.0.tgz",
-      "integrity": "sha512-YPG3Co0luSu6GwOBsmIdGW6Wx0NyNDLg/hriIyDllVsNwnI6UeqaWShxC3lbH4LtEQUgoLP3XR1ndXiDAWvmRw==",
+      "version": "3.25.0",
+      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.25.0.tgz",
+      "integrity": "sha512-p+0xx5ruIQ+8X57CRIMxbTZRT7tU0Tjn2C/aAK68AEMrbGsCo6IjnDdPNhEyyjWCT4bRtzomXchYd3sSgk3BJQ==",
       "dev": true,
       "dependencies": {
         "semver": "^7.3.5"
@@ -1180,9 +1169,9 @@
       }
     },
     "node_modules/wa-map-optimizer": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/wa-map-optimizer/-/wa-map-optimizer-1.2.3.tgz",
-      "integrity": "sha512-EyCoiAGUPUJQd986vBbzl0cBmOMoWmT0pKm/nJY0aWA3BaMX/+ABCC0kVBJZy/RU/lF5/88aFAmT3kue21CJQQ==",
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/wa-map-optimizer/-/wa-map-optimizer-1.2.4.tgz",
+      "integrity": "sha512-uK/f4vUmPsffX1zl/DZE4tXZ11h21ze4mhr4TrlqboCIqum8qZuDrz5EmaqL3nfvMCTXR6OAR/Bgk2xIdLx1rw==",
       "dev": true,
       "dependencies": {
         "pngjs": "^6.0.0",
@@ -1191,12 +1180,12 @@
       }
     },
     "node_modules/wa-map-optimizer-vite": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/wa-map-optimizer-vite/-/wa-map-optimizer-vite-1.1.3.tgz",
-      "integrity": "sha512-grni6MI+pf3/r7Z9XiSDCYdLt8ZBsABTmWlMUDaryWSUC98hE3/VNeP/XCTL9DoDn4rh23FJfMMHjrzXlDCXBA==",
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/wa-map-optimizer-vite/-/wa-map-optimizer-vite-1.1.5.tgz",
+      "integrity": "sha512-1NAPBS6hIszhGhvXSXU3nWLhc1iHVIdcqtSGUQYcri5aQyWaHcmxSI6qKfVHsxtpS0Y0hex/ZU6xq5+whBOxpQ==",
       "dev": true,
       "dependencies": {
-        "wa-map-optimizer": "^1.2.3"
+        "wa-map-optimizer": "^1.2.4"
       }
     },
     "node_modules/wrappy": {
@@ -1215,7 +1204,6 @@
       "version": "3.18.0",
       "resolved": "https://registry.npmjs.org/zod/-/zod-3.18.0.tgz",
       "integrity": "sha512-gwTm8RfUCe8l9rDwN5r2A17DkAa8Ez4Yl4yXqc5VqeGaXaJahzYYXbTwvhroZi0SNBqTwh/bKm2N0mpCzuw4bA==",
-      "dev": true,
       "funding": {
         "url": "https://github.com/sponsors/colinhacks"
       }
@@ -1234,31 +1222,32 @@
       "dev": true
     },
     "@workadventure/iframe-api-typings": {
-      "version": "1.11.2",
-      "resolved": "https://registry.npmjs.org/@workadventure/iframe-api-typings/-/iframe-api-typings-1.11.2.tgz",
-      "integrity": "sha512-mJo7KQar+fPxPPpg87uUX9KKPXZIkc7czAuIAkFrYMLp9lnLHy9HXNYU3LMiQcG0dauTkbDuOrfB99SpgJIlFA==",
+      "version": "1.12.4",
+      "resolved": "https://registry.npmjs.org/@workadventure/iframe-api-typings/-/iframe-api-typings-1.12.4.tgz",
+      "integrity": "sha512-5LQID/MuFehAqmnxqcS2/3oWXIL9P5yPLF4OcQHj0XVEWHLWNOsqx9a/e5LiBrnqt9esbgQRvzb6GI5HqYePfw==",
       "requires": {
-        "rxjs": "^6.6.3"
+        "rxjs": "^6.6.3",
+        "zod": "^3.14.3"
       }
     },
     "@workadventure/scripting-api-extra": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/@workadventure/scripting-api-extra/-/scripting-api-extra-1.3.2.tgz",
-      "integrity": "sha512-5blkojuQ8wahuuCNSTA2N5EkU+Oj7HcO3IGwrg8qmoxEg+/uw27NW/3ybk3+WbzdJkOVG4ELYwdV6oRMvzXf0A==",
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/@workadventure/scripting-api-extra/-/scripting-api-extra-1.3.3.tgz",
+      "integrity": "sha512-n71TVgXAqJqSCmBJwDe5C+3sAKkED5EmQUXqqQ+93F79+kCknwBVXM6zQ3LMU5OKhGQqBBcpIkthGERaLhkzPQ==",
       "requires": {
         "@fontsource/press-start-2p": "^4.5.0",
-        "@workadventure/tiled-map-type-guard": "^1.0.2",
+        "@workadventure/tiled-map-type-guard": "^2.0.4",
         "mustache": "^4.2.0",
         "nes.css": "^2.3.0",
         "play-dtmf": "^0.1.1"
       }
     },
     "@workadventure/tiled-map-type-guard": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/@workadventure/tiled-map-type-guard/-/tiled-map-type-guard-1.0.3.tgz",
-      "integrity": "sha512-pUMxBBZHYAFkpnGWZAVAE8+M+Wn9UtzqZhXvBBBbB1gEakHIka7ahdTGfh0DgRaWrVszVXOP3tf49Dhdmn9pDg==",
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@workadventure/tiled-map-type-guard/-/tiled-map-type-guard-2.0.5.tgz",
+      "integrity": "sha512-6qQ5B224nVwfZEwUT2jMFY1uR4czg4wvHB6FU6UEA9TmE7qK0MCph7aqedWifLRkq/Q+9ntAKFmvV6rqfweBcA==",
       "requires": {
-        "generic-type-guard": "^3.4.1"
+        "zod": "^3.17.3"
       }
     },
     "base64-js": {
@@ -1552,11 +1541,6 @@
       "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
       "dev": true
     },
-    "generic-type-guard": {
-      "version": "3.7.0",
-      "resolved": "https://registry.npmjs.org/generic-type-guard/-/generic-type-guard-3.7.0.tgz",
-      "integrity": "sha512-8QH63snnObMeJNTMeRc1uqWa2YABTUXHPrjJ95K1MsLmtzSGaGOpYAk/sPSoZAnTzZq7FY0Xw7GhWVwLyUyMOA=="
-    },
     "github-from-package": {
       "version": "0.0.0",
       "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
@@ -1655,9 +1639,9 @@
       "integrity": "sha512-lCFZs9vj3f5RVdbvTL/kSxiYsOARwSeAdJaMNo+bCgmWOO9x8ay7QpT4yQVKHy3r5Dttzd0uqVdpt3fvvx6EpQ=="
     },
     "node-abi": {
-      "version": "3.24.0",
-      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.24.0.tgz",
-      "integrity": "sha512-YPG3Co0luSu6GwOBsmIdGW6Wx0NyNDLg/hriIyDllVsNwnI6UeqaWShxC3lbH4LtEQUgoLP3XR1ndXiDAWvmRw==",
+      "version": "3.25.0",
+      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.25.0.tgz",
+      "integrity": "sha512-p+0xx5ruIQ+8X57CRIMxbTZRT7tU0Tjn2C/aAK68AEMrbGsCo6IjnDdPNhEyyjWCT4bRtzomXchYd3sSgk3BJQ==",
       "dev": true,
       "requires": {
         "semver": "^7.3.5"
@@ -1942,9 +1926,9 @@
       }
     },
     "wa-map-optimizer": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/wa-map-optimizer/-/wa-map-optimizer-1.2.3.tgz",
-      "integrity": "sha512-EyCoiAGUPUJQd986vBbzl0cBmOMoWmT0pKm/nJY0aWA3BaMX/+ABCC0kVBJZy/RU/lF5/88aFAmT3kue21CJQQ==",
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/wa-map-optimizer/-/wa-map-optimizer-1.2.4.tgz",
+      "integrity": "sha512-uK/f4vUmPsffX1zl/DZE4tXZ11h21ze4mhr4TrlqboCIqum8qZuDrz5EmaqL3nfvMCTXR6OAR/Bgk2xIdLx1rw==",
       "dev": true,
       "requires": {
         "pngjs": "^6.0.0",
@@ -1953,12 +1937,12 @@
       }
     },
     "wa-map-optimizer-vite": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/wa-map-optimizer-vite/-/wa-map-optimizer-vite-1.1.3.tgz",
-      "integrity": "sha512-grni6MI+pf3/r7Z9XiSDCYdLt8ZBsABTmWlMUDaryWSUC98hE3/VNeP/XCTL9DoDn4rh23FJfMMHjrzXlDCXBA==",
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/wa-map-optimizer-vite/-/wa-map-optimizer-vite-1.1.5.tgz",
+      "integrity": "sha512-1NAPBS6hIszhGhvXSXU3nWLhc1iHVIdcqtSGUQYcri5aQyWaHcmxSI6qKfVHsxtpS0Y0hex/ZU6xq5+whBOxpQ==",
       "dev": true,
       "requires": {
-        "wa-map-optimizer": "^1.2.3"
+        "wa-map-optimizer": "^1.2.4"
       }
     },
     "wrappy": {
@@ -1976,8 +1960,7 @@
     "zod": {
       "version": "3.18.0",
       "resolved": "https://registry.npmjs.org/zod/-/zod-3.18.0.tgz",
-      "integrity": "sha512-gwTm8RfUCe8l9rDwN5r2A17DkAa8Ez4Yl4yXqc5VqeGaXaJahzYYXbTwvhroZi0SNBqTwh/bKm2N0mpCzuw4bA==",
-      "dev": true
+      "integrity": "sha512-gwTm8RfUCe8l9rDwN5r2A17DkAa8Ez4Yl4yXqc5VqeGaXaJahzYYXbTwvhroZi0SNBqTwh/bKm2N0mpCzuw4bA=="
     }
   }
 }
diff --git a/package.json b/package.json
index b4b0a51758368ee9670d2b3eadd3912540b49fd6..6c9ea8c256c74d98405f96933842a11bdc6ac41d 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "workadventure-map-starter-kit",
-  "version": "3.1.3",
+  "version": "3.1.4",
   "license": "MIT",
   "scripts": {
     "dev": "vite",
@@ -12,10 +12,10 @@
     "@types/node": "^17.0.36",
     "typescript": "^4.5.4",
     "vite": "^2.9.13",
-    "wa-map-optimizer-vite": "^1.1.3"
+    "wa-map-optimizer-vite": "^1.1.5"
   },
   "dependencies": {
-    "@workadventure/iframe-api-typings": "^1.11.2",
-    "@workadventure/scripting-api-extra": "^1.3.2"
+    "@workadventure/iframe-api-typings": "^1.12.4",
+    "@workadventure/scripting-api-extra": "^1.3.3"
   }
 }