diff --git a/src/components/zone/Zone.vue b/src/components/zone/Zone.vue
index a658291..0ed55ea 100644
--- a/src/components/zone/Zone.vue
+++ b/src/components/zone/Zone.vue
@@ -8,7 +8,7 @@
 import { useAssetStore } from '@/stores/assets'
 import { useGameStore } from '@/stores/game'
 import { useZoneStore } from '@/stores/zone'
-import { onBeforeMount, onBeforeUnmount, ref, watch } from 'vue'
+import { onBeforeMount, onBeforeUnmount, ref } from 'vue'
 import type { Character as CharacterT, Zone as ZoneT, ExtendedCharacter as ExtendedCharacterT } from '@/types'
 import Tiles from '@/components/zone/Tiles.vue'
 import Objects from '@/components/zone/Objects.vue'
@@ -25,6 +25,12 @@ type zoneLoadData = {
   characters: CharacterT[]
 }
 
+gameStore.connection?.emit('zone:character:join', { zoneId: gameStore.character!.zoneId }, (response: zoneLoadData) => {
+  zoneStore.setZone(response.zone)
+  zoneStore.setCharacters(response.characters)
+})
+
+// Event listeners
 /**
  * Fetch assets from the server when a new zone is loaded
  */
@@ -32,12 +38,6 @@ gameStore.connection?.on('zone:character:load_assets', async (zoneId: number) =>
   await assetStore.fetchAssetsByZoneId(zoneId)
 })
 
-gameStore.connection?.emit('zone:character:join', { zoneId: gameStore.character!.zoneId }, (response: zoneLoadData) => {
-  zoneStore.setZone(response.zone)
-  zoneStore.setCharacters(response.characters)
-})
-
-// Event listeners
 gameStore.connection?.on('zone:teleport', (data: zoneLoadData) => {
   if (zoneStore.zone?.id === data.zone.id) return
   zoneStore.setZone(data.zone)
diff --git a/src/screens/Game.vue b/src/screens/Game.vue
index 70ec812..5eec7f1 100644
--- a/src/screens/Game.vue
+++ b/src/screens/Game.vue
@@ -157,10 +157,11 @@ const createScene = (scene: Phaser.Scene) => {
   /**
    * Watch for changes in assets and reload them
    */
-  watch(assetStore.assets, (newAssets) => {
+  watch(() => assetStore.assets, (newAssets) => {
+    console.log('new assets', newAssets)
     newAssets.forEach(() => {
       loadAssets(scene)
-    })
+    }, { deep: true })
 
     scene.load.start()
   })