# How to realize an app that moves in SRD space - Unreal Engine
:::faq
#For first time SRD developers #Unreal Engine
:::
When developing a Spatial Reaility Display (SRD) application, you may want to provide an experience that allows users to move freely within the space you have created. In this article, we will show you how to convert your existing Unreal Engine project into an SRD application and realize easy movement control with the keyboard. We have prepared the following two patterns, so please refer to the appropriate one and make use of it to develop more attractive contents.
① Simple way to implement viewpoint movement operations
② A method to implement the viewpoint operation following the player's movement, which is already implemented in UnrealiEngine's "player" movement operation.
## A Simple Way to Implement Viewpoint Movement Manipulation This section explains how to freely move the camera viewpoint on the Spatial Reality Display. It is a good idea to migrate "P_MoveSRDMgr" from the Unreal Engine Project file provided as a sample app and set it up in the Unreal Engine application you are developing. The specific steps are as follows ### Procedure 1. Install the Spatial Reality Display Plugin for Unreal Engine. 1. Open the Unreal Engine Project of the sample app. 1. Migrate P_MoveSRDMgr from the sample app to the existing Unreal Engine application. 1. Setup P_MoveSRDMgr in the existing Unreal Engine application. 1. Display and playback in SRD, and control with keyboard. ### Concrete example The procedure is explained with specific examples. **1. Install the Spatial Reality Display Plugin for Unreal Engine.** - Refer to the [Unreal Engine Setup](/Products/Developer-Spatial-Reality-display/en/develop/UnrealEngine/Setup.html) page to install the Spatial Reality Display Plugin for Unreal Engine, including setup of the Spatial Reality Display. - Referring to the [Build Your First App](/Products/Developer-Spatial-Reality-display/en/develop/UnrealEngine/BuildYourFirstApp.html) page, you must have the Spatial Reality Display Plugin enabled in your already existing Unreal Engine application. However, it is not necessary to place the SRDisplay Manager actor anywhere in the level. - Close the already existing Unreal Engine application. **2. Open the Unreal Engine Project of the sample app. ** - Download and open the Unreal Engine Project file for the sample app. - Please see [the description below](#unreal-engine-project-file-for-the-unreal-engine-sample-app) for the Unreal Engine Project file for the Unreal Engine sample app. **3. Migrate P_MoveSRDMgr from the sample app to the existing Unreal Engine application. ** - Open the Unreal Engine Project file of the sample app and find P_MoveSRDMgr in the Content Browser. - **Content > MoveSRDMgr > Blueprints > P_MoveSRDMgr (Blueprint Class)**
- Select P_MoveSRDMgr and choose Migrate.
- The Asset Report will be displayed. Make sure that all are selected and press the OK button.
- Navigate to the destination contents folder (the **Contents** folder of the already existing Unreal Engine application project files) and press the **Select Folder** button.
**4. Setup P_MoveSRDMgr in the existing Unreal Engine application.** - Open an already existing Unreal Engine application. - In the Content Browser, find P_MoveSRDMgr and double-click it to open Blueprint. **Content > MoveSRDMgr > Blueprints > P_MoveSRDMgr (Blueprint Class)** - Remove BP_SRDisplayDebugManager since an error occurs because it uses a function defined on the sample app side.
- Compile.
- Also, in the Content Browser, find BP_SRDisplayDebugManager and force BP_SRDisplayDebugManager to be removed. **Content > Common > SRDisplay > BP_SRDisplayDebugManager (Blueprint Class)**
- Place P_MoveSRDMgr anywhere on the level. Adjust the position, rotation, and scale. - **Caution 1** If you are using an older version of the Spatial Reality Display Plugin for Unreal Engine, you may get a BAD Blueprint due to BP_FaceTrackErrorPlane. If this is the case, please remove the following two parts as done for BP_SRDisplayDebugManager. - Delete BP_FaceTrackErrorPlane in Blueprint of P_MoveSRDMgr. - Please also compile when deleting. - Forcibly delete Content > Common > FaceTrackErrorPlane > BP_FaceTrackErrorPlane. - **Caution 2** P_MoveSRDMgr will stop moving if it hits another object, so place it so that it does not hit another object.
**5. Display and playback in SRD, and control with keyboard.** - Performs VR preview playback. - The W/A/S/D and arrow keys can be used to move the camera viewpoint.
## Unreal Engine Sample Apps and Project Files ### Unreal Engine Sample App A sample app is provided as a Spatial Reality Display compliant application. The sample can be obtained from > We have prepared a sample app for the Spatial Reality Display. You can download the app from here. in the [Samples](/Products/Developer-Spatial-Reality-display/en/develop/UnrealEngine/Samples.html) page. The MoveSRDMgr sample in the sample app is a **sample of camera viewpoint movement**. ### Unreal Engine Project file for the Unreal Engine sample app A sample application, Unreal Engine Project, is also provided. Can be acquired from > 1. Download Sample Projects. in the **Build and Run Sample Projects** section of the [Quickstart](/Products/Developer-Spatial-Reality-display/en/develop/UnrealEngine/quickstart/) page.
## The method to implement the viewpoint operation following the player's movement, which is already implemented in UnrealiEngine's "player" movement operation. When converting an existing Unreal Engine application to a Spatial Reality Display-compliant application, there may be a problem with the camera viewpoint. This is because the viewpoint is changed to "SRDisplayManager" when the application is converted to support Spatial Reality Display. Therefore, the "SRDisplayManager" must be positioned to match the viewpoint of the original application. For example, if the camera viewpoint needs to move with the player's movements, the following procedure can be used. A concrete example is shown in the "MoveSRDMgr" sample. ### Procedure 1. Add SRDisplayManager to the player's Blueprint. This will allow the SRDisplayManager to work in the same way as the player. 1. Adjust the position, rotation, and scale of SRDisplayManager to match the viewpoint of the original application. ### Concrete example Moving the camera viewpoint can be understood by checking the Blueprint of P_MoveSRDMgr, which is the user-operated target of the MoveSRDMgr sample in the sample app. The location of the MoveSRDMgr sample can be found in the Content Browser after launching Unreal Engine Project in the sample app in the Content > MoveSRDMgr folder.
To view the Blueprint of P_MoveSRDMgr, in the Content Browser,
open P_MoveSRDMgr (Blueprint Class) from Content > MoveSRDMgr > Blueprints.
By checking Components in the upper left corner of the Blueprint Editor of P_MoveSRDMgr, you can see that SRDisplayManager has been added to P_MoveSRDMgr as a Child Actor Component. This corresponds to step 1.
By checking Details in the upper right corner of the Blueprint Editor in P_MoveSRDMgr, you can confirm that the position, rotation, scale, etc. of SRDisplayManager have been adjusted. This corresponds to Step 2.
The above will confirm that when the player is operated, the screen will also follow and the space will move within the SRD.
With these Tips, we believe we can realize a way to move within spaces and convey content to customers in an attractive way from various angles. For example, it will be possible to show moving within architectural structures, or to express movement within a space like a metaverse or game content. Please take a look at this page for more information.
When developing a Spatial Reaility Display (SRD) application, you may want to provide an experience that allows users to move freely within the space you have created. In this article, we will show you how to convert your existing Unreal Engine project into an SRD application and realize easy movement control with the keyboard. We have prepared the following two patterns, so please refer to the appropriate one and make use of it to develop more attractive contents.
① Simple way to implement viewpoint movement operations
② A method to implement the viewpoint operation following the player's movement, which is already implemented in UnrealiEngine's "player" movement operation.
## A Simple Way to Implement Viewpoint Movement Manipulation This section explains how to freely move the camera viewpoint on the Spatial Reality Display. It is a good idea to migrate "P_MoveSRDMgr" from the Unreal Engine Project file provided as a sample app and set it up in the Unreal Engine application you are developing. The specific steps are as follows ### Procedure 1. Install the Spatial Reality Display Plugin for Unreal Engine. 1. Open the Unreal Engine Project of the sample app. 1. Migrate P_MoveSRDMgr from the sample app to the existing Unreal Engine application. 1. Setup P_MoveSRDMgr in the existing Unreal Engine application. 1. Display and playback in SRD, and control with keyboard. ### Concrete example The procedure is explained with specific examples. **1. Install the Spatial Reality Display Plugin for Unreal Engine.** - Refer to the [Unreal Engine Setup](/Products/Developer-Spatial-Reality-display/en/develop/UnrealEngine/Setup.html) page to install the Spatial Reality Display Plugin for Unreal Engine, including setup of the Spatial Reality Display. - Referring to the [Build Your First App](/Products/Developer-Spatial-Reality-display/en/develop/UnrealEngine/BuildYourFirstApp.html) page, you must have the Spatial Reality Display Plugin enabled in your already existing Unreal Engine application. However, it is not necessary to place the SRDisplay Manager actor anywhere in the level. - Close the already existing Unreal Engine application. **2. Open the Unreal Engine Project of the sample app. ** - Download and open the Unreal Engine Project file for the sample app. - Please see [the description below](#unreal-engine-project-file-for-the-unreal-engine-sample-app) for the Unreal Engine Project file for the Unreal Engine sample app. **3. Migrate P_MoveSRDMgr from the sample app to the existing Unreal Engine application. ** - Open the Unreal Engine Project file of the sample app and find P_MoveSRDMgr in the Content Browser. - **Content > MoveSRDMgr > Blueprints > P_MoveSRDMgr (Blueprint Class)**
- Select P_MoveSRDMgr and choose Migrate.
- The Asset Report will be displayed. Make sure that all are selected and press the OK button.
- Navigate to the destination contents folder (the **Contents** folder of the already existing Unreal Engine application project files) and press the **Select Folder** button.
**4. Setup P_MoveSRDMgr in the existing Unreal Engine application.** - Open an already existing Unreal Engine application. - In the Content Browser, find P_MoveSRDMgr and double-click it to open Blueprint. **Content > MoveSRDMgr > Blueprints > P_MoveSRDMgr (Blueprint Class)** - Remove BP_SRDisplayDebugManager since an error occurs because it uses a function defined on the sample app side.
- Compile.
- Also, in the Content Browser, find BP_SRDisplayDebugManager and force BP_SRDisplayDebugManager to be removed. **Content > Common > SRDisplay > BP_SRDisplayDebugManager (Blueprint Class)**
- Place P_MoveSRDMgr anywhere on the level. Adjust the position, rotation, and scale. - **Caution 1** If you are using an older version of the Spatial Reality Display Plugin for Unreal Engine, you may get a BAD Blueprint due to BP_FaceTrackErrorPlane. If this is the case, please remove the following two parts as done for BP_SRDisplayDebugManager. - Delete BP_FaceTrackErrorPlane in Blueprint of P_MoveSRDMgr. - Please also compile when deleting. - Forcibly delete Content > Common > FaceTrackErrorPlane > BP_FaceTrackErrorPlane. - **Caution 2** P_MoveSRDMgr will stop moving if it hits another object, so place it so that it does not hit another object.
**5. Display and playback in SRD, and control with keyboard.** - Performs VR preview playback. - The W/A/S/D and arrow keys can be used to move the camera viewpoint.
## Unreal Engine Sample Apps and Project Files ### Unreal Engine Sample App A sample app is provided as a Spatial Reality Display compliant application. The sample can be obtained from > We have prepared a sample app for the Spatial Reality Display. You can download the app from here. in the [Samples](/Products/Developer-Spatial-Reality-display/en/develop/UnrealEngine/Samples.html) page. The MoveSRDMgr sample in the sample app is a **sample of camera viewpoint movement**. ### Unreal Engine Project file for the Unreal Engine sample app A sample application, Unreal Engine Project, is also provided. Can be acquired from > 1. Download Sample Projects. in the **Build and Run Sample Projects** section of the [Quickstart](/Products/Developer-Spatial-Reality-display/en/develop/UnrealEngine/quickstart/) page.
## The method to implement the viewpoint operation following the player's movement, which is already implemented in UnrealiEngine's "player" movement operation. When converting an existing Unreal Engine application to a Spatial Reality Display-compliant application, there may be a problem with the camera viewpoint. This is because the viewpoint is changed to "SRDisplayManager" when the application is converted to support Spatial Reality Display. Therefore, the "SRDisplayManager" must be positioned to match the viewpoint of the original application. For example, if the camera viewpoint needs to move with the player's movements, the following procedure can be used. A concrete example is shown in the "MoveSRDMgr" sample. ### Procedure 1. Add SRDisplayManager to the player's Blueprint. This will allow the SRDisplayManager to work in the same way as the player. 1. Adjust the position, rotation, and scale of SRDisplayManager to match the viewpoint of the original application. ### Concrete example Moving the camera viewpoint can be understood by checking the Blueprint of P_MoveSRDMgr, which is the user-operated target of the MoveSRDMgr sample in the sample app. The location of the MoveSRDMgr sample can be found in the Content Browser after launching Unreal Engine Project in the sample app in the Content > MoveSRDMgr folder.
To view the Blueprint of P_MoveSRDMgr, in the Content Browser,
open P_MoveSRDMgr (Blueprint Class) from Content > MoveSRDMgr > Blueprints.
By checking Components in the upper left corner of the Blueprint Editor of P_MoveSRDMgr, you can see that SRDisplayManager has been added to P_MoveSRDMgr as a Child Actor Component. This corresponds to step 1.
By checking Details in the upper right corner of the Blueprint Editor in P_MoveSRDMgr, you can confirm that the position, rotation, scale, etc. of SRDisplayManager have been adjusted. This corresponds to Step 2.
With these Tips, we believe we can realize a way to move within spaces and convey content to customers in an attractive way from various angles. For example, it will be possible to show moving within architectural structures, or to express movement within a space like a metaverse or game content. Please take a look at this page for more information.