chore: commit untracked UE/scaffold files (repo cleanup triage 20260707)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
308
scripts/setup/configure_project_settings.sh
Executable file
308
scripts/setup/configure_project_settings.sh
Executable file
@@ -0,0 +1,308 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Script Name: configure_project_settings.sh
|
||||
# Description: Configure all Unreal Engine project settings (Nanite, Lumen, World Partition, Plugins)
|
||||
# Usage: ./configure_project_settings.sh
|
||||
# Author: Dubai Metaverse Team
|
||||
# Date: 2025-11-21
|
||||
# Version: 1.0
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Colors
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
NC='\033[0m'
|
||||
|
||||
# Configuration
|
||||
PROJECT_DIR="${PROJECT_DIR:-$(pwd)}"
|
||||
PROJECT_FILE="$PROJECT_DIR/DubaiMetaverse.uproject"
|
||||
ENGINE_INI="$PROJECT_DIR/Config/DefaultEngine.ini"
|
||||
GAME_INI="$PROJECT_DIR/Config/DefaultGame.ini"
|
||||
LOG_FILE="$PROJECT_DIR/logs/configure_project_settings.log"
|
||||
|
||||
# Create log directory
|
||||
mkdir -p "$(dirname "$LOG_FILE")"
|
||||
|
||||
log() {
|
||||
local level="${1:-INFO}"
|
||||
shift
|
||||
local message="$*"
|
||||
local timestamp=$(date +'%Y-%m-%d %H:%M:%S')
|
||||
echo "[$timestamp] [$level] $message" | tee -a "$LOG_FILE"
|
||||
echo -e "${message}"
|
||||
}
|
||||
|
||||
echo "=========================================="
|
||||
echo "Dubai Metaverse Project Settings Configuration"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
cd "$PROJECT_DIR"
|
||||
|
||||
# Check project file exists
|
||||
if [ ! -f "$PROJECT_FILE" ]; then
|
||||
echo -e "${RED}✗${NC} Project file not found: $PROJECT_FILE"
|
||||
echo " Run: ./scripts/setup/create_ue5_project.sh first"
|
||||
exit 1
|
||||
fi
|
||||
echo -e "${GREEN}✓${NC} Project file found: $PROJECT_FILE"
|
||||
|
||||
# Backup existing config files
|
||||
if [ -f "$ENGINE_INI" ]; then
|
||||
cp "$ENGINE_INI" "$ENGINE_INI.backup.$(date +%Y%m%d_%H%M%S)"
|
||||
echo -e "${BLUE}ℹ${NC} Backed up DefaultEngine.ini"
|
||||
fi
|
||||
|
||||
if [ -f "$GAME_INI" ]; then
|
||||
cp "$GAME_INI" "$GAME_INI.backup.$(date +%Y%m%d_%H%M%S)"
|
||||
echo -e "${BLUE}ℹ${NC} Backed up DefaultGame.ini"
|
||||
fi
|
||||
|
||||
# Create Config directory if it doesn't exist
|
||||
mkdir -p "$PROJECT_DIR/Config"
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "Configuring DefaultEngine.ini"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# Create comprehensive DefaultEngine.ini
|
||||
cat > "$ENGINE_INI" << 'EOF'
|
||||
; Dubai Metaverse - DefaultEngine.ini
|
||||
; Configured automatically by configure_project_settings.sh
|
||||
; Last Updated: 2025-11-21
|
||||
|
||||
[/Script/Engine.RendererSettings]
|
||||
; ============================================
|
||||
; NANITE SETTINGS
|
||||
; ============================================
|
||||
r.Nanite.ProjectEnabled=True
|
||||
|
||||
; ============================================
|
||||
; LUMEN SETTINGS
|
||||
; ============================================
|
||||
r.DefaultFeature.LumenSupport=1
|
||||
r.Lumen.ProjectEnabled=True
|
||||
r.Lumen.DiffuseIndirect.Allow=1
|
||||
r.Lumen.Reflections.Allow=1
|
||||
r.Lumen.ScreenProbeGather.ScreenSpaceBentNormal=1
|
||||
r.Lumen.ScreenProbeGather.TraceMeshSDFs=1
|
||||
r.Lumen.ScreenProbeGather.ScreenTraces=1
|
||||
|
||||
; ============================================
|
||||
; VIRTUAL SHADOW MAPS
|
||||
; ============================================
|
||||
r.Shadow.Virtual.Enable=1
|
||||
r.Shadow.Virtual.OnePassProjection=1
|
||||
|
||||
; ============================================
|
||||
; ANTI-ALIASING
|
||||
; ============================================
|
||||
r.DefaultFeature.AntiAliasing=2
|
||||
r.TemporalAA.Quality=4
|
||||
r.TemporalAA.Upsampling=1
|
||||
|
||||
; ============================================
|
||||
; POST-PROCESS EFFECTS
|
||||
; ============================================
|
||||
r.DefaultFeature.AutoExposure=False
|
||||
r.DefaultFeature.Bloom=True
|
||||
r.DefaultFeature.MotionBlur=True
|
||||
r.MotionBlurQuality=4
|
||||
r.BloomQuality=4
|
||||
|
||||
; ============================================
|
||||
; RENDERING PERFORMANCE
|
||||
; ============================================
|
||||
r.VirtualTextures=True
|
||||
r.VirtualTextures.EnableAutoImport=True
|
||||
r.VirtualTextures.Enable=1
|
||||
|
||||
[/Script/Engine.WorldSettings]
|
||||
; ============================================
|
||||
; WORLD PARTITION
|
||||
; ============================================
|
||||
bEnableWorldPartition=True
|
||||
|
||||
[/Script/Engine.Engine]
|
||||
; ============================================
|
||||
; PROJECT SETTINGS
|
||||
; ============================================
|
||||
+ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/DubaiMetaverse")
|
||||
+ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/DubaiMetaverse")
|
||||
+ActiveClassRedirects=(OldClassName="TP_BlankGameModeBase",NewClassName="DubaiMetaverseGameModeBase")
|
||||
|
||||
[/Script/EngineSettings.GameMapsSettings]
|
||||
; ============================================
|
||||
; DEFAULT MAPS
|
||||
; ============================================
|
||||
GameDefaultMap=/Game/Maps/MainLevel
|
||||
EditorStartupMap=/Game/Maps/MainLevel
|
||||
|
||||
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
|
||||
; ============================================
|
||||
; WINDOWS PLATFORM SETTINGS
|
||||
; ============================================
|
||||
DefaultGraphicsRHI=Default
|
||||
+TargetedRHIs=PCD3D_SM6
|
||||
+TargetedRHIs=PCD3D_SM5
|
||||
|
||||
[/Script/LinuxTargetPlatform.LinuxTargetSettings]
|
||||
; ============================================
|
||||
; LINUX PLATFORM SETTINGS
|
||||
; ============================================
|
||||
DefaultGraphicsRHI=Default
|
||||
|
||||
EOF
|
||||
|
||||
echo -e "${GREEN}✓${NC} DefaultEngine.ini configured with:"
|
||||
echo " - Nanite enabled"
|
||||
echo " - Lumen enabled (GI + Reflections)"
|
||||
echo " - Virtual Shadow Maps enabled"
|
||||
echo " - World Partition enabled"
|
||||
echo " - Post-process effects configured"
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "Configuring DefaultGame.ini"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# Create DefaultGame.ini
|
||||
cat > "$GAME_INI" << 'EOF'
|
||||
; Dubai Metaverse - DefaultGame.ini
|
||||
; Configured automatically by configure_project_settings.sh
|
||||
; Last Updated: 2025-11-21
|
||||
|
||||
[/Script/EngineSettings.GameMapsSettings]
|
||||
; ============================================
|
||||
; DEFAULT MAPS
|
||||
; ============================================
|
||||
GameDefaultMap=/Game/Maps/Main/MainLevel
|
||||
EditorStartupMap=/Game/Maps/Main/MainLevel
|
||||
GlobalDefaultGameMode=/Script/Engine.GameModeBase
|
||||
|
||||
[/Script/Engine.GameEngine]
|
||||
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemUtils.IpNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")
|
||||
|
||||
[/Script/OnlineSubsystem.IpNetDriver]
|
||||
NetDriverClassName="OnlineSubsystemUtils.IpNetDriver"
|
||||
|
||||
EOF
|
||||
|
||||
echo -e "${GREEN}✓${NC} DefaultGame.ini configured"
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "Verifying Plugins in Project File"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# Check and configure plugins in project file
|
||||
REQUIRED_PLUGINS=(
|
||||
"ProceduralContentGeneration"
|
||||
"VirtualProduction"
|
||||
"MovieRenderQueue"
|
||||
"ModelingTools"
|
||||
"GeometryScript"
|
||||
)
|
||||
|
||||
PLUGINS_MISSING=0
|
||||
|
||||
for plugin in "${REQUIRED_PLUGINS[@]}"; do
|
||||
if grep -q "\"Name\": \"$plugin\"" "$PROJECT_FILE"; then
|
||||
if grep -A1 "\"Name\": \"$plugin\"" "$PROJECT_FILE" | grep -q "\"Enabled\": true"; then
|
||||
echo -e "${GREEN}✓${NC} Plugin enabled: $plugin"
|
||||
else
|
||||
echo -e "${YELLOW}⚠${NC} Plugin found but not enabled: $plugin"
|
||||
PLUGINS_MISSING=1
|
||||
fi
|
||||
else
|
||||
echo -e "${RED}✗${NC} Plugin missing: $plugin"
|
||||
PLUGINS_MISSING=1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $PLUGINS_MISSING -eq 1 ]; then
|
||||
echo ""
|
||||
echo -e "${YELLOW}⚠${NC} Some plugins need to be enabled manually:"
|
||||
echo " 1. Launch Unreal Editor"
|
||||
echo " 2. Go to Edit > Plugins"
|
||||
echo " 3. Enable the missing plugins listed above"
|
||||
echo " 4. Restart editor"
|
||||
else
|
||||
echo ""
|
||||
echo -e "${GREEN}✓${NC} All required plugins are enabled"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "Configuration Summary"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# Verify settings
|
||||
echo "Verifying configuration..."
|
||||
|
||||
NANITE_OK=0
|
||||
LUMEN_OK=0
|
||||
WORLDPARTITION_OK=0
|
||||
|
||||
if grep -q "r.Nanite.ProjectEnabled=True" "$ENGINE_INI"; then
|
||||
echo -e "${GREEN}✓${NC} Nanite: Enabled"
|
||||
NANITE_OK=1
|
||||
else
|
||||
echo -e "${RED}✗${NC} Nanite: Not configured"
|
||||
fi
|
||||
|
||||
if grep -q "r.Lumen.ProjectEnabled=True" "$ENGINE_INI"; then
|
||||
echo -e "${GREEN}✓${NC} Lumen: Enabled"
|
||||
LUMEN_OK=1
|
||||
else
|
||||
echo -e "${RED}✗${NC} Lumen: Not configured"
|
||||
fi
|
||||
|
||||
if grep -q "bEnableWorldPartition=True" "$ENGINE_INI"; then
|
||||
echo -e "${GREEN}✓${NC} World Partition: Enabled"
|
||||
WORLDPARTITION_OK=1
|
||||
else
|
||||
echo -e "${RED}✗${NC} World Partition: Not configured"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "Next Steps"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
if [ $NANITE_OK -eq 1 ] && [ $LUMEN_OK -eq 1 ] && [ $WORLDPARTITION_OK -eq 1 ]; then
|
||||
echo -e "${GREEN}✅ All project settings configured successfully!${NC}"
|
||||
echo ""
|
||||
echo "Next steps:"
|
||||
echo "1. Launch Unreal Editor:"
|
||||
echo " ~/UnrealEngine/Engine/Binaries/Linux/UnrealEditor \\"
|
||||
echo " ~/projects/metaverseDubai/DubaiMetaverse.uproject"
|
||||
echo ""
|
||||
echo "2. Verify settings in editor:"
|
||||
echo " - Edit > Project Settings > Engine > Rendering"
|
||||
echo " - Verify Nanite is enabled"
|
||||
echo " - Verify Lumen (Global Illumination and Reflections) is enabled"
|
||||
echo " - World Settings > Enable World Partition"
|
||||
echo ""
|
||||
echo "3. Verify plugins:"
|
||||
echo " - Edit > Plugins"
|
||||
echo " - Verify all required plugins are enabled"
|
||||
echo ""
|
||||
log "INFO" "Configuration complete - All settings verified"
|
||||
exit 0
|
||||
else
|
||||
echo -e "${RED}⚠${NC} Some settings may not be configured correctly"
|
||||
echo " Please review the configuration files manually"
|
||||
log "WARNING" "Configuration incomplete - Some settings missing"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user