UnrealVersionSelector.exe no longer works with UE4

After the most recent update, trying to open any uproject file associated with UnrealVersionSelector.exe results in ‘Failed to launch editor’.

Using Process Monitor I can see that it is looking for UnrealEditor.exe in the Binaries/Win64 folder when it should be looking for UE4Editor.exe

Hey! Thanks for the information you shared. We’ve been having the same issue since yesterday night, I guess after an Epic Launcher or Unreal update.

We fixed it by renaming the “UE4Editor.exe” to “UnrealEditor.exe” in our Program Files\Epic Games\UE_4.23\Engine\Binaries\Win64.

It looks like the update broke the link between UnrealVersionSelector.exe and UE4Editor.exe because it is not looking for the editor app under the right name…

At this point, either we’re not understanding something right, or the last update wasn’t verified properly before being pushed by Epic.

In any case, so far so good, hopefully nothing else is broken with this.

Cheers!

1 Like

Same problem here. I wonder if anyone going to fix this anytime soon. Or no one cares about people still using UE4 anymore?

You can use cmd for most things like launching your project from the correct editor instead of renaming anything or using windows “open with” which will make ALL PROJECTS open with that editor and risk in place migration….. you’ve been warned.

Also as mentioned in that forum link you can generate your sln via the below cmd since the context pointers are completely hosed.

  1. E:\GitUnrealEngine\Engine\Build\BatchFiles\GenerateProjectFiles.bat “D:\MyProject\MyProject.uproject”
    

Yea, I can confirm, the launcher no longer recognizes any new Projects.

UnrealVersionSelector.exe (1.6 MB)

Fix: Overwrite C:\Program Files (x86)\Epic Games\Launcher\Engine\Binaries\Win64\UnrealVersionSelector.exewith this older version.

also, the menu command for “Generate project files” is back, but it doesnt actually regenerate the files, but youre still able to regenerate using unrealbuildtool.exe

my guess is because the menu entry uses unrealversionselector.exe, which doesnt exist for launcher builds of the engine

here’s a batch script that will regenerate project files, if anybody needs it:

@echo off
echo Regenerating Unreal Engine 4 Project Files...
echo.

REM Get the directory where this batch file is located
set PROJECT_DIR=%~dp0

REM Remove trailing backslash
set PROJECT_DIR=%PROJECT_DIR:~0,-1%

REM Find the .uproject file (first one found)
set UPROJECT_FILE=
for %%f in ("%PROJECT_DIR%\*.uproject") do (
    set UPROJECT_FILE=%%f
    goto :found_project
)

:found_project
REM Check if .uproject file exists
if not defined UPROJECT_FILE (
    echo ERROR: No .uproject file found in the current directory!
    echo Please make sure this batch file is in your project root directory.
    pause
    exit /b 1
)

echo Found project: %UPROJECT_FILE%
echo.

REM Extract engine version from .uproject file
set ENGINE_VERSION=
for /f "tokens=2 delims=:, " %%a in ('findstr /C:"EngineAssociation" "%UPROJECT_FILE%"') do (
    set ENGINE_VERSION=%%a
)

REM Remove quotes from engine version
set ENGINE_VERSION=%ENGINE_VERSION:"=%

if not defined ENGINE_VERSION (
    echo ERROR: Could not determine engine version from .uproject file!
    pause
    exit /b 1
)

echo Engine Version: %ENGINE_VERSION%
echo.

REM Find UE4 installation via registry
for /f "tokens=2*" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\EpicGames\Unreal Engine\%ENGINE_VERSION%" /v "InstalledDirectory" 2^>nul') do set UE4_DIR=%%b

REM If not found in HKLM, try HKCU
if not defined UE4_DIR (
    for /f "tokens=2*" %%a in ('reg query "HKEY_CURRENT_USER\SOFTWARE\EpicGames\Unreal Engine\%ENGINE_VERSION%" /v "InstalledDirectory" 2^>nul') do set UE4_DIR=%%b
)

REM If still not found, try custom engine builds
if not defined UE4_DIR (
    echo WARNING: Engine not found in registry. Checking for custom engine builds...
    
    REM Try to find custom engine association file
    set CUSTOM_ENGINE_FILE=%LOCALAPPDATA%\UnrealEngine\%ENGINE_VERSION%\Engine\Build\Build.version
    
    if exist "%CUSTOM_ENGINE_FILE%" (
        echo Custom engine build detected.
        REM For custom builds, the EngineAssociation is typically a path
        if exist "%ENGINE_VERSION%\Engine\Binaries\Win64\UnrealBuildTool.exe" (
            set UE4_DIR=%ENGINE_VERSION%
        )
    )
)

REM Check if UE4 directory was found
if not defined UE4_DIR (
    echo ERROR: Unreal Engine %ENGINE_VERSION% installation not found!
    echo Please make sure UE %ENGINE_VERSION% is installed.
    echo.
    echo If using a custom engine build, make sure the EngineAssociation
    echo in your .uproject points to the correct engine path.
    pause
    exit /b 1
)

REM Set the path to UnrealBuildTool
set BUILD_TOOL=%UE4_DIR%\Engine\Binaries\DotNET\UnrealBuildTool.exe

REM Check if UnrealBuildTool exists
if not exist "%BUILD_TOOL%" (
    echo ERROR: UnrealBuildTool not found at:
    echo %BUILD_TOOL%
    echo.
    echo Trying alternative location...
    set BUILD_TOOL=%UE4_DIR%\Engine\Binaries\Win64\UnrealBuildTool.exe
    
    if not exist "%BUILD_TOOL%" (
        echo ERROR: UnrealBuildTool still not found!
        pause
        exit /b 1
    )
)

echo Found UE installation at: %UE4_DIR%
echo.
echo Generating project files...
echo.

REM Generate project files using UnrealBuildTool
"%BUILD_TOOL%" -projectfiles -project="%UPROJECT_FILE%" -game -rocket -progress

if %ERRORLEVEL% EQU 0 (
    echo.
    echo ================================
    echo Project files regenerated successfully!
    echo ================================
    echo.
) else (
    echo.
    echo ================================
    echo ERROR: Failed to regenerate project files!
    echo Error code: %ERRORLEVEL%
    echo ================================
    echo.
)

pause
2 Likes