diff --git a/src/components/dialogs/WorldDialog/WorldDialog.vue b/src/components/dialogs/WorldDialog/WorldDialog.vue
index 14304445..c3af29e2 100644
--- a/src/components/dialogs/WorldDialog/WorldDialog.vue
+++ b/src/components/dialogs/WorldDialog/WorldDialog.vue
@@ -232,7 +232,11 @@
{{ t('dialog.world.actions.new_instance') }}
- {{ t('dialog.world.actions.new_instance_and_self_invite') }}
+ {{
+ isGameRunning
+ ? t('dialog.world.actions.new_instance_and_open_in_vrchat')
+ : t('dialog.world.actions.new_instance_and_self_invite')
+ }}
{
const instanceStore = useInstanceStore();
+ const gameStore = useGameStore();
+ const launchStore = useLaunchStore();
const state = reactive({
editInviteMessageDialog: {
visible: false,
@@ -160,6 +164,12 @@ export const useInviteStore = defineStore('Invite', () => {
if (!L.isRealInstance) {
return;
}
+ if (gameStore.isGameRunning && !LINUX) {
+ const secureOrShortName =
+ args.json.shortName || args.json.secureName;
+ launchStore.tryOpenInstanceInVrc(location, secureOrShortName);
+ return;
+ }
instanceRequest
.selfInvite({
instanceId: L.instanceId,
diff --git a/src/views/Favorites/components/FavoritesWorldItem.vue b/src/views/Favorites/components/FavoritesWorldItem.vue
index 1e3f6646..b057641a 100644
--- a/src/views/Favorites/components/FavoritesWorldItem.vue
+++ b/src/views/Favorites/components/FavoritesWorldItem.vue
@@ -51,10 +51,14 @@
:content="$t('view.favorite.private')">
-
+
+
+ {{
+ isGameRunning
+ ? $t('dialog.world.actions.new_instance_and_open_in_vrchat')
+ : $t('dialog.world.actions.new_instance_and_self_invite')
+ }}
+
props.favorite.$selected,