diff --git a/projects/player/modules/verona/services/verona-subscription.service.ts b/projects/player/modules/verona/services/verona-subscription.service.ts
index f084e2cf600abbd3d50ec40ad6d588f58d178c4b..48decd2ac7c38e50b67285e68a2db3793b93d87f 100644
--- a/projects/player/modules/verona/services/verona-subscription.service.ts
+++ b/projects/player/modules/verona/services/verona-subscription.service.ts
@@ -27,15 +27,10 @@ export class VeronaSubscriptionService {
       .subscribe((event: Event): void => this.handleMessage((event as MessageEvent).data as VopMessage));
   }
 
-  getResourceURL(): string {
-    return this.resourceURL || 'assets';
-  }
-
   private handleMessage(messageData: VopMessage): void {
     switch (messageData.type) {
       case 'vopStartCommand':
         LogService.debug('player: _vopStartCommand ', messageData);
-        this.resourceURL = (messageData as VopStartCommand).playerConfig?.directDownloadUrl;
         this._vopStartCommand.next(messageData);
         break;
       case 'vopNavigationDeniedNotification':
diff --git a/projects/player/src/app/app.module.ts b/projects/player/src/app/app.module.ts
index aaf2d7d65822aaa0e253b2ae30967c17d3beb73f..04c0e7cbef60efe303876a93099338512cb97b68 100644
--- a/projects/player/src/app/app.module.ts
+++ b/projects/player/src/app/app.module.ts
@@ -8,7 +8,7 @@ import { OverlayModule } from '@angular/cdk/overlay';
 import { SharedModule, APIService } from 'common/shared.module';
 import { KeyInputModule } from 'player/modules/key-input/key-input.module';
 import { UnitMenuModule } from 'player/modules/unit-menu/unit-menu.module';
-import { DeviceService } from './services/device.service';
+import { MetaDataService } from 'player/src/app/services/meta-data.service';
 import { AppComponent } from './app.component';
 import { PageComponent } from './components/page/page.component';
 import { SectionComponent } from './components/section/section.component';
@@ -50,7 +50,6 @@ import { UnitComponent } from './components/unit/unit.component';
 import { PageScrollButtonComponent } from './components/page-scroll-button/page-scroll-button.component';
 import { ExternalAppGroupElementComponent } from
   './components/elements/external-app-group-element/external-app-group-element.component';
-import { VeronaSubscriptionService } from 'player/modules/verona/services/verona-subscription.service';
 
 @NgModule({
   declarations: [
@@ -100,7 +99,7 @@ import { VeronaSubscriptionService } from 'player/modules/verona/services/verona
     UnitMenuModule
   ],
   providers: [
-    { provide: APIService, useExisting: VeronaSubscriptionService }
+    { provide: APIService, useExisting: MetaDataService }
   ]
 })
 
diff --git a/projects/player/src/app/components/unit/unit.component.ts b/projects/player/src/app/components/unit/unit.component.ts
index 3af210012f25e997fe24ab5ba2e4ed9fe1a202aa..c28478c565fa523acec151320dc93d3c46c3e2f5 100644
--- a/projects/player/src/app/components/unit/unit.component.ts
+++ b/projects/player/src/app/components/unit/unit.component.ts
@@ -11,6 +11,7 @@ import { VeronaPostService } from 'player/modules/verona/services/verona-post.se
 import {
   ElementModelElementCodeMappingService
 } from 'player/src/app/services/element-model-element-code-mapping.service';
+import { MetaDataService } from 'player/src/app/services/meta-data.service';
 
 @Component({
   selector: 'aspect-unit',
@@ -22,6 +23,7 @@ export class UnitComponent implements OnInit {
   playerConfig: PlayerConfig = {};
 
   constructor(public unitStateService: UnitStateService,
+              private metaDataService: MetaDataService,
               private veronaPostService: VeronaPostService,
               private veronaSubscriptionService: VeronaSubscriptionService,
               private elementModelElementCodeMappingService: ElementModelElementCodeMappingService,
@@ -45,6 +47,7 @@ export class UnitComponent implements OnInit {
       this.pages = unitDefinition.pages;
       this.playerConfig = message.playerConfig || {};
       LogService.info('player: unitStateElementCodes', this.unitStateService.elementCodes);
+      this.metaDataService.resourceURL = this.playerConfig.directDownloadUrl;
       this.veronaPostService.sessionId = message.sessionId;
       this.veronaPostService.stateReportPolicy = message.playerConfig?.stateReportPolicy || 'none';
       this.unitStateService.elementCodes = message.unitState?.dataParts?.elementCodes ?
diff --git a/projects/player/src/app/services/meta-data.service.ts b/projects/player/src/app/services/meta-data.service.ts
index 3c5a5e4cd45409355fa25c9017937a7e7f3f0c1e..2872536b6be1ee19aab3e73f70295626baeed8b6 100644
--- a/projects/player/src/app/services/meta-data.service.ts
+++ b/projects/player/src/app/services/meta-data.service.ts
@@ -1,11 +1,13 @@
 import { Inject, Injectable } from '@angular/core';
 import { DOCUMENT } from '@angular/common';
+import { VopMetaData } from 'player/modules/verona/models/verona';
 
 @Injectable({
   providedIn: 'root'
 })
 export class MetaDataService {
-  playerMetadata!: any;
+  playerMetadata!: VopMetaData;
+  resourceURL: string | undefined;
 
   constructor(@Inject(DOCUMENT) private document: Document) {
     const playerMetadata: string | null | undefined = document.getElementById('meta_data')?.textContent;
@@ -13,4 +15,8 @@ export class MetaDataService {
       this.playerMetadata = JSON.parse(playerMetadata);
     }
   }
+
+  getResourceURL(): string {
+    return this.resourceURL || 'assets';
+  }
 }