diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/DbgHelp/dbghelp.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/DbgHelp/dbghelp.dll new file mode 100644 index 0000000000000000000000000000000000000000..daf13306ce98916e5d19f585fcc119d80c81132c Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/DbgHelp/dbghelp.dll differ diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/MsQuic/v220/win64/msquic.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/MsQuic/v220/win64/msquic.dll new file mode 100644 index 0000000000000000000000000000000000000000..a9d4a9529090cbc027cb3d1498ad63f04b68b007 Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/MsQuic/v220/win64/msquic.dll differ diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/NVIDIA/NVaftermath/Win64/GFSDK_Aftermath_Lib.x64.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/NVIDIA/NVaftermath/Win64/GFSDK_Aftermath_Lib.x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..71d01bcc6d3358c878077097996296fdbe24baed Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/NVIDIA/NVaftermath/Win64/GFSDK_Aftermath_Lib.x64.dll differ diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Ogg/Win64/VS2015/libogg_64.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/Ogg/Win64/VS2015/libogg_64.dll new file mode 100644 index 0000000000000000000000000000000000000000..d3829f9f7cdd929142da48e50f239f79cd92d87f Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/Ogg/Win64/VS2015/libogg_64.dll differ diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/OpenXR/win64/openxr_loader.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/OpenXR/win64/openxr_loader.dll new file mode 100644 index 0000000000000000000000000000000000000000..e80826c4c6ff5e9f22876ac946ac0e9f4f6ff61b Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/OpenXR/win64/openxr_loader.dll differ diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Vorbis/Win64/VS2015/libvorbis_64.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/Vorbis/Win64/VS2015/libvorbis_64.dll new file mode 100644 index 0000000000000000000000000000000000000000..79021fd4533664929a27c565823aa12120ecc36b Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/Vorbis/Win64/VS2015/libvorbis_64.dll differ diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Vorbis/Win64/VS2015/libvorbisfile_64.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/Vorbis/Win64/VS2015/libvorbisfile_64.dll new file mode 100644 index 0000000000000000000000000000000000000000..1e70ae5b9bddee9b3c76938a89a2b17536ad1315 Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/Vorbis/Win64/VS2015/libvorbisfile_64.dll differ diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_api_dump.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_api_dump.dll new file mode 100644 index 0000000000000000000000000000000000000000..0d8c39d4546636c55ade58c65dfdffa5a75f4a9c Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_api_dump.dll differ diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_api_dump.json b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_api_dump.json new file mode 100644 index 0000000000000000000000000000000000000000..822203b305f87f11c27db2df7455603d5fd3baf9 --- /dev/null +++ b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_api_dump.json @@ -0,0 +1,315 @@ +{ + "file_format_version": "1.2.0", + "layer": { + "name": "VK_LAYER_LUNARG_api_dump", + "type": "GLOBAL", + "library_path": ".\\VkLayer_api_dump.dll", + "api_version": "1.3.290", + "implementation_version": "2", + "description": "LunarG API dump layer", + "introduction": "The API Dump utility layer prints API calls, parameters, and values to the identified output stream.", + "url": "https://vulkan.lunarg.com/doc/sdk/latest/windows/api_dump_layer.html", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ], + "instance_extensions": [ + { + "name": "VK_EXT_layer_settings", + "spec_version": "2" + } + ], + "device_extensions": [ + { + "name": "VK_EXT_tooling_info", + "spec_version": "1", + "entrypoints": [ + "vkGetPhysicalDeviceToolPropertiesEXT" + ] + } + ], + "features": { + "presets": [ + { + "label": "Console Output", + "description": "Output API dump to stdout", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ], + "status": "STABLE", + "settings": [ + { + "key": "output_format", + "value": "text" + }, + { + "key": "log_filename", + "value": "stdout" + }, + { + "key": "file", + "value": false + } + ] + }, + { + "label": "Text Output", + "description": "Output API dump to a text file", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ], + "status": "STABLE", + "settings": [ + { + "key": "output_format", + "value": "text" + }, + { + "key": "log_filename", + "value": "${VK_LOCAL}/vk_apidump.txt" + }, + { + "key": "file", + "value": true + } + ] + }, + { + "label": "HTML Output", + "description": "Output API dump to a HTML file", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ], + "status": "STABLE", + "settings": [ + { + "key": "output_format", + "value": "html" + }, + { + "key": "log_filename", + "value": "${VK_LOCAL}/vk_apidump.html" + }, + { + "key": "file", + "value": true + } + ] + }, + { + "label": "JSON Output", + "description": "Output API dump to a JSON file", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ], + "status": "STABLE", + "settings": [ + { + "key": "output_format", + "value": "json" + }, + { + "key": "log_filename", + "value": "${VK_LOCAL}/vk_apidump.json" + }, + { + "key": "file", + "value": true + } + ] + } + ], + "settings": [ + { + "key": "output_range", + "env": "VK_APIDUMP_OUTPUT_RANGE", + "label": "Output Range", + "description": "Comma separated list of frames to output or a range of frames with a start, count, and optional interval separated by a dash. A count of 0 will output every frame after the start of the range. Example: \"5-8-2\" will output frame 5, continue until frame 13, dumping every other frame. Example: \"3,8-2\" will output frames 3, 8, and 9.", + "type": "STRING", + "default": "0-0" + }, + { + "key": "output_format", + "env": "VK_APIDUMP_OUTPUT_FORMAT", + "label": "Output Format", + "description": "Specifies the format used for output; can be HTML, JSON, or Text (default -- outputs plain text)", + "type": "ENUM", + "flags": [ + { + "key": "text", + "label": "Text", + "description": "Plain text" + }, + { + "key": "html", + "label": "HTML", + "description": "HTML" + }, + { + "key": "json", + "label": "JSON", + "description": "Json" + } + ], + "default": "text" + }, + { + "key": "file", + "label": "Output to File", + "description": "Setting this to true indicates that output should be written to file instead of stdout", + "type": "BOOL", + "default": false, + "settings": [ + { + "key": "log_filename", + "env": "VK_APIDUMP_LOG_FILENAME", + "label": "Log Filename", + "description": "Specifies the file to dump to when output files are enabled", + "type": "SAVE_FILE", + "filter": "*.txt,*.html,*.json", + "default": "stdout", + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "file", + "value": true + } + ] + } + } + ] + }, + { + "key": "flush", + "env": "VK_APIDUMP_FLUSH", + "label": "Log Flush After Write", + "description": "Setting this to true causes IO to be flushed after each API call that is written", + "type": "BOOL", + "default": true + }, + { + "key": "name_size", + "label": "Name Size", + "description": "The number of characters the name of a variable should consume, assuming more are not required", + "type": "INT", + "default": 32, + "range": { + "min": 1 + }, + "unit": "chars" + }, + { + "key": "show_types", + "label": "Show Types", + "description": "Dump types in addition to values", + "type": "BOOL", + "default": true, + "settings": [ + { + "key": "type_size", + "label": "Type Size", + "description": "The number of characters the name of a type should consume, assuming more are not required", + "type": "INT", + "default": 0, + "range": { + "min": 0 + }, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "show_types", + "value": true + } + ] + } + } + ] + }, + { + "key": "timestamp", + "env": "VK_APIDUMP_TIMESTAMP", + "label": "Show Timestamp", + "description": "Show the timestamp of function calls since start in microseconds", + "type": "BOOL", + "default": false + }, + { + "key": "show_shader", + "label": "Show Shader", + "description": "Dump the shader binary code in pCode", + "type": "BOOL", + "default": false + }, + { + "key": "detailed", + "env": "VK_APIDUMP_DETAILED", + "label": "Show Parameter Details", + "description": "Dump parameter details in addition to API calls", + "type": "BOOL", + "default": true + }, + { + "key": "no_addr", + "env": "VK_APIDUMP_NO_ADDR", + "label": "Hide Addresses", + "description": "Dump \"address\" in place of hex addresses", + "type": "BOOL", + "default": false + }, + { + "key": "use_spaces", + "label": "Use Spaces", + "description": "Setting this to true causes all tab characters to be replaced with spaces", + "type": "BOOL", + "default": true, + "settings": [ + { + "key": "indent_size", + "label": "Indent Size", + "description": "Specifies the number of spaces that a tab is equal to", + "type": "INT", + "default": 4, + "range": { + "min": 1, + "max": 16 + }, + "unit": "chars", + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "use_spaces", + "value": true + } + ] + } + } + ] + }, + { + "key": "show_thread_and_frame", + "label": "Show Thread and Frame", + "description": "Show the thread and frame of each function called", + "type": "BOOL", + "default": true + } + ] + } + } +} diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_gfxreconstruct.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_gfxreconstruct.dll new file mode 100644 index 0000000000000000000000000000000000000000..6244c46d644babcca66a0b50475010e0e9de777e Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_gfxreconstruct.dll differ diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_gfxreconstruct.json b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_gfxreconstruct.json new file mode 100644 index 0000000000000000000000000000000000000000..168aca3ac6e75290f3a201b48fd22a290e4d3395 --- /dev/null +++ b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_gfxreconstruct.json @@ -0,0 +1,478 @@ +{ + "file_format_version": "1.2.0", + "layer": { + "name": "VK_LAYER_LUNARG_gfxreconstruct", + "type": "GLOBAL", + "library_path": ".\\VkLayer_gfxreconstruct.dll", + "api_version": "1.3.290", + "implementation_version": "4194309", + "description": "GFXReconstruct Capture Layer Version 1.0.5", + "introduction": "The GFXReconstruct Capture Layer intercepts Vulkan API calls and logs them to a capture file. Other tools in the GFXReconstruct suite can inspect, modify, or replay capture files generated by this component.", + "platforms": [ "WINDOWS", "LINUX", "ANDROID" ], + "url": "https://vulkan.lunarg.com/doc/sdk/latest/windows/capture_tools.html", + "status": "STABLE", + "device_extensions": [ + { + "name": "VK_EXT_tooling_info", + "spec_version": "1", + "entrypoints": [ "vkGetPhysicalDeviceToolPropertiesEXT" ] + } + ], + "features": { + "presets": [ + { + "label": "Initialization", + "description": "Capture the first two frames.", + "platforms": [ "WINDOWS", "LINUX" ], + "settings": [ + { + "key": "capture_trigger", + "value": "" + }, + { + "key": "capture_frames", + "value": "1-2" + } + ] + }, + { + "label": "Range", + "description": "Capture a range of frames between presses of the F5 key.", + "platforms": [ "WINDOWS", "LINUX" ], + "settings": [ + { + "key": "capture_trigger", + "value": "F5" + }, + { + "key": "capture_frames", + "value": "" + } + ] + } + ], + "settings": [ + { + "key": "capture_trigger", + "env": "GFXRECON_CAPTURE_TRIGGER", + "label": "Hotkey Capture Trigger", + "description": "Specify a hotkey (any one of F1-F12, TAB, CONTROL) that will be used to start/stop capture. Example: F3 will set the capture trigger to F3 hotkey. One capture file will be generated for each pair of start/stop hotkey presses. Default is: Empty string (hotkey capture trigger is disabled).", + "platforms" : [ "WINDOWS", "LINUX" ], + "type": "ENUM", + "flags": [ + { + "key": "", + "label": "None", + "description": "" + }, + { + "key": "F1", + "label": "F1", + "description": "F1 Key" + }, + { + "key": "F2", + "label": "F2", + "description": "F2 Key" + }, + { + "key": "F3", + "label": "F3", + "description": "F3 Key" + }, + { + "key": "F4", + "label": "F4", + "description": "F4 Key" + }, + { + "key": "F5", + "label": "F5", + "description": "F5 Key" + }, + { + "key": "F6", + "label": "F6", + "description": "F6 Key" + }, + { + "key": "F7", + "label": "F7", + "description": "F7 Key" + }, + { + "key": "F8", + "label": "F8", + "description": "F8 Key" + }, + { + "key": "F9", + "label": "F9", + "description": "F9 Key" + }, + { + "key": "F10", + "label": "F10", + "description": "F10 Key" + }, + { + "key": "F11", + "label": "F11", + "description": "F11 Key" + }, + { + "key": "F12", + "label": "F12", + "description": "F12 Key" + }, + { + "key": "TAB", + "label": "TAB", + "description": "TAB Key" + }, + { + "key": "CONTROL", + "label": "CONTROL", + "description": "CONTROL Key" + } + ], + "default": "" + }, + { + "key": "capture_trigger_frames", + "env": "GFXRECON_CAPTURE_TRIGGER_FRAMES", + "label": "Hotkey Capture Frame Limit", + "description": "Specify a limit on the number of frames to be captured via hotkey. Example: 1 will capture exactly one frame when the trigger key is pressed. Default is: Empty string (no limit)", + "type": "STRING", + "default": "" + }, + { + "key": "capture_frames", + "env": "GFXRECON_CAPTURE_FRAMES", + "label": "Capture Specific Frames", + "description": "Specify one or more comma-separated frame ranges to capture. Each range will be written to its own file. A frame range can be specified as a single value, to specify a single frame to capture, or as two hyphenated values, to specify the first and last frame to capture. Frame ranges should be specified in ascending order and cannot overlap. Note that frame numbering is 1-based (i.e. the first frame is frame 1). Example: 200,301-305 will create two capture files, one containing a single frame and one containing five frames. Default is: Empty string (all frames are captured).", + "type": "STRING", + "default": "" + }, + { + "key": "capture_file", + "env": "GFXRECON_CAPTURE_FILE", + "label": "Capture File Name", + "description": "Path to use when creating the capture file. Default is: gfxrecon_capture.gfxr", + "type": "SAVE_FILE", + "filter": "*.gfxr", + "default": "gfxrecon_capture.gfxr", + "settings": [ + { + "key": "capture_file_timestamp", + "env": "GFXRECON_CAPTURE_FILE_TIMESTAMP", + "label": "Capture File Name with Timestamp", + "description": "Add a timestamp (yyyymmddThhmmss) postfix to the capture file name.", + "type": "BOOL", + "default": true + }, + { + "key": "capture_file_flush", + "env": "GFXRECON_CAPTURE_FILE_FLUSH", + "label": "Capture File Flush After Write", + "description": "Flush output stream after each packet is written to the capture file. Default is: false.", + "type": "BOOL", + "default": false + } + ] + }, + { + "key": "capture_compression_type", + "env": "GFXRECON_CAPTURE_COMPRESSION_TYPE", + "label": "Compression Format", + "description": "Compression format to use with the capture file. Valid values are: LZ4, ZLIB, ZSTD, and NONE. Default is: LZ4", + "type": "ENUM", + "flags": [ + { + "key": "LZ4", + "label": "LZ4", + "description": "Fastest compression algorithm that favors performance over compression ratio." + }, + { + "key": "ZLIB", + "label": "ZLIB", + "description": "Widely used compression algorithm with better compression ratio than LZ4 but worse performance." + }, + { + "key": "ZSTD", + "label": "ZSTD", + "description": "Newer compression algorithm with better compression ratio and performance than ZLIB, though not as fast as LZ4." + }, + { + "key": "NONE", + "label": "NONE", + "description": "No compression" + } + ], + "default": "LZ4" + }, + { + "key": "memory_tracking_mode", + "env": "GFXRECON_MEMORY_TRACKING_MODE", + "label": "Memory Tracking Mode", + "description": "Specifies the memory tracking mode to use for detecting modifications to mapped Vulkan memory objects. Available options are: page_guard, assisted, and unassisted.", + "type": "ENUM", + "flags": [ + { + "key": "page_guard", + "label": "page_guard", + "description": "Tracks modifications to individual memory pages, which are written to the capture file on calls to vkFlushMappedMemoryRanges, vkUnmapMemory, and vkQueueSubmit. Tracking modifications requires allocating shadow memory for all mapped memory." + }, + { + "key": "assisted", + "label": "assisted", + "description": "Expects the application to call vkFlushMappedMemoryRanges after memory is modified; the memory ranges specified to the vkFlushMappedMemoryRanges call will be written to the capture file during the call." + }, + { + "key": "unassisted", + "label": "unassisted", + "description": "Writes the full content of mapped memory to the capture file on calls to vkUnmapMemory and vkQueueSubmit. It is very inefficient and may be unusable with real-world applications that map large amounts of memory." + } + ], + "default": "page_guard", + "settings": [ + { + "key": "page_guard_copy_on_map", + "env": "GFXRECON_PAGE_GUARD_COPY_ON_MAP", + "label": "Page Guard Copy on Map", + "description": "When the page_guard memory tracking mode is enabled, copies the content of the mapped memory to the shadow memory immediately after the memory is mapped.", + "type": "BOOL", + "default": true, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "memory_tracking_mode", + "value": "page_guard" + } + ] + } + }, + { + "key": "page_guard_separate_read", + "env": "GFXRECON_PAGE_GUARD_SEPARATE_READ", + "label": "Page Guard Separate Read Tracking", + "description": "When the page_guard memory tracking mode is enabled, copies the content of pages accessed for read from mapped memory to shadow memory on each read. Can overwrite unprocessed shadow memory content when an application is reading from and writing to the same page.", + "type": "BOOL", + "default": true, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "memory_tracking_mode", + "value": "page_guard" + } + ] + } + }, + { + "key": "page_guard_external_memory", + "env": "GFXRECON_PAGE_GUARD_EXTERNAL_MEMORY", + "label": "Page Guard External Memory", + "description": "When the page_guard memory tracking mode is enabled, use the VK_EXT_external_memory_host extension to eliminate the need for shadow memory allocations. For each memory allocation from a host visible memory type, the capture layer will create an allocation from system memory, which it can monitor for write access, and provide that allocation to vkAllocateMemory as external memory. Only available on Windows.", + "platforms": [ "WINDOWS" ], + "type": "BOOL", + "default": false, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "memory_tracking_mode", + "value": "page_guard" + } + ] + } + }, + { + "key": "page_guard_persistent_memory", + "env": "GFXRECON_PAGE_GUARD_PERSISTENT_MEMORY", + "label": "Page Guard Persistent Memory", + "description": "When the page_guard memory tracking mode is enabled, this option changes the way that the shadow memory used to detect modifications to mapped memory is allocated. The default behavior is to allocate and copy the mapped memory range on map and free the allocation on unmap. When this option is enabled, an allocation with a size equal to that of the object being mapped is made once on the first map and is not freed until the object is destroyed. This option is intended to be used with applications that frequently map and unmap large memory ranges, to avoid frequent allocation and copy operations that can have a negative impact on performance. This option is ignored when GFXRECON_PAGE_GUARD_EXTERNAL_MEMORY is enabled.", + "type": "BOOL", + "default": false, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "memory_tracking_mode", + "value": "page_guard" + }, + { + "key": "page_guard_external_memory", + "value": false + } + ] + } + }, + { + "key": "page_guard_align_buffer_sizes", + "env": "GFXRECON_PAGE_GUARD_ALIGN_BUFFER_SIZES", + "label": "Page Guard Align Buffer Sizes", + "description": "When the page_guard memory tracking mode is enabled, this option overrides the Vulkan API calls that report buffer memory properties to report that buffer sizes and alignments must be a multiple of the system page size. This option is intended to be used with applications that perform CPU writes and GPU writes/copies to different buffers that are bound to the same page of mapped memory, which may result in data being lost when copying pages from the page_guard shadow allocation to the real allocation. This data loss can result in visible corruption during capture. Forcing buffer sizes and alignments to a multiple of the system page size prevents multiple buffers from being bound to the same page, avoiding data loss from simultaneous CPU writes to the shadow allocation and GPU writes to the real allocation for different buffers bound to the same page. This option is only available for the Vulkan API.", + "type": "BOOL", + "default": true, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "memory_tracking_mode", + "value": "page_guard" + }, + { + "key": "page_guard_external_memory", + "value": false + } + ] + } + }, + { + "key": "page_guard_unblock_sigsegv", + "env": "GFXRECON_PAGE_GUARD_UNBLOCK_SIGSEGV", + "label": "Page Guard unblock SIGSEGV from thread's signal mask", + "description": "When the page_guard memory tracking mode is enabled, this option overrides enables SIGSEGV in thread's signal mask in the case that it has been disabled.", + "type": "BOOL", + "default": false, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "memory_tracking_mode", + "value": "page_guard" + }, + { + "key": "page_guard_external_memory", + "value": false + } + ] + } + } + ] + }, + { + "key": "log", + "label": "Log", + "description": "Control log messages.", + "type": "GROUP", + "settings": [ + { + "key": "log_level", + "env": "GFXRECON_LOG_LEVEL", + "label": "Level", + "description": "Specify the minimum severity level of messages to log. Options are: debug, info, warning, error, and fatal. The specified level and all higher levels will be enabled for logging. For example, choosing the warning level will also enable the error and fatal levels.", + "type": "ENUM", + "flags": [ + { + "key": "debug", + "label": "debug, info, warning, error, fatal", + "description": "" + }, + { + "key": "info", + "label": "info, warning, error, fatal", + "description": "" + }, + { + "key": "warning", + "label": "warning, error, fatal", + "description": "" + }, + { + "key": "error", + "label": "error, fatal", + "description": "" + }, + { + "key": "fatal", + "label": "fatal", + "description": "" + } + ], + "default": "info" + }, + { + "key": "log_detailed", + "env": "GFXRECON_LOG_DETAILED", + "label": "Log Name and Line Number", + "description": "Include name and line number from the file responsible.", + "type": "BOOL", + "default": false + }, + { + "key": "log_allow_indents", + "env": "GFXRECON_LOG_ALLOW_INDENTS", + "label": "Log Name and Line Number", + "description": "Apply additional indentation formatting to log messages.", + "type": "BOOL", + "default": false + }, + { + "key": "log_output_to_console", + "env": "GFXRECON_LOG_OUTPUT_TO_CONSOLE", + "label": "Log Output to Console / stdout", + "description": "Log messages will be written to stdout.", + "type": "BOOL", + "default": true + }, + { + "key": "log_break_on_error", + "env": "GFXRECON_LOG_BREAK_ON_ERROR", + "label": "Trigger Debug Break on Error", + "description": "Trigger a debug break when logging an error.", + "type": "BOOL", + "default": false + }, + { + "key": "log_output_to_os_debug_string", + "env": "GFXRECON_LOG_OUTPUT_TO_OS_DEBUG_STRING", + "label": "Log Output to Debug Console", + "description": "Windows only option. Log messages will be written to the Debug Console with OutputDebugStringA", + "platforms": [ "WINDOWS" ], + "type": "BOOL", + "default": false + }, + { + "key": "log_file", + "env": "GFXRECON_LOG_FILE", + "label": "Log File", + "description": "When set, log messages will be written to a file at the specified path. Default is: Empty string (file logging disabled).", + "type": "SAVE_FILE", + "filter": "*.txt", + "default": "", + "settings": [ + { + "key": "log_file_flush_after_write", + "env": "GFXRECON_LOG_FILE_FLUSH_AFTER_WRITE", + "label": "Log File Flush After Write", + "description": "Flush the log file to disk after each write when true.", + "type": "BOOL", + "default": false + }, + { + "key": "log_file_keep_open", + "env": "GFXRECON_LOG_FILE_KEEP_OPEN", + "label": "Log File Keep Open", + "description": "Keep the log file open between log messages when true, or close and reopen the log file for each message when false.", + "type": "BOOL", + "default": true + }, + { + "key": "log_file_create_new", + "env": "GFXRECON_LOG_FILE_CREATE_NEW", + "label": "Log File Overwrite", + "description": "Specifies that log file initialization should overwrite an existing file when true, or append to an existing file when false.", + "type": "BOOL", + "default": true + } + ] + } + ] + } + ] + } + } +} diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_profiles.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_profiles.dll new file mode 100644 index 0000000000000000000000000000000000000000..14e92c5fe3035306add8154ca809ef22ea4ee1a8 Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_profiles.dll differ diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_profiles.json b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_profiles.json new file mode 100644 index 0000000000000000000000000000000000000000..cd4903f2eec7883fa0c422cef01506a8ebce86cc --- /dev/null +++ b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_profiles.json @@ -0,0 +1,1280 @@ +{ + "file_format_version": "1.2.1", + "layer": { + "name": "VK_LAYER_KHRONOS_profiles", + "type": "GLOBAL", + "library_path": ".\\VkLayer_khronos_profiles.dll", + "api_version": "1.3.290", + "implementation_version": "1.3.0", + "status": "STABLE", + "description": "Khronos Profiles layer", + "introduction": "The Khronos Profiles layer helps test across a wide range of hardware capabilities without requiring a physical copy of every device.", + "url": "https://vulkan.lunarg.com/doc/sdk/latest/windows/profiles_layer.html", + "instance_extensions": [ + { + "name": "VK_EXT_layer_settings", + "spec_version": "2" + } + ], + "device_extensions": [ + { + "name": "VK_EXT_tooling_info", + "spec_version": "1", + "entrypoints": [ + "vkGetPhysicalDeviceToolPropertiesEXT" + ] + } + ], + "features": { + "presets": [ + { + "label": "Force Physical Device Only", + "description": "Use the Profiles layer to force a specific physical device", + "platforms": [ "WINDOWS", "LINUX", "MACOS" ], + "status": "STABLE", + "settings": [ + { + "key": "force_device", + "value": "FORCE_DEVICE_WITH_NAME" + }, + { + "key": "profile_emulation", + "value": false + }, + { + "key": "simulate_capabilities", + "value": [] + }, + { + "key": "emulate_portability", + "value": false + } + ] + }, + { + "label": "Emulate a Vulkan Conformant Profile", + "description": "Emulate a Conformant Vulkan Profile", + "platforms": [ "WINDOWS", "LINUX", "MACOS" ], + "status": "STABLE", + "settings": [ + { + "key": "force_device", + "value": "FORCE_DEVICE_OFF" + }, + { + "key": "profile_emulation", + "value": true + }, + { + "key": "profile_dirs", + "value": "${VULKAN_CONTENT}/VK_LAYER_KHRONOS_profiles" + }, + { + "key": "profile_name", + "value": "VP_LUNARG_desktop_baseline_2023" + }, + { + "key": "simulate_capabilities", + "value": [ "SIMULATE_API_VERSION_BIT", "SIMULATE_FEATURES_BIT", "SIMULATE_PROPERTIES_BIT" ] + }, + { + "key": "emulate_portability", + "value": false + } + ] + }, + { + "label": "Emulate a Vulkan Portability Profile", + "description": "Emulate a Vulkan Profile with Vulkan Portability", + "platforms": [ "WINDOWS", "LINUX", "MACOS" ], + "status": "STABLE", + "settings": [ + { + "key": "force_device", + "value": "FORCE_DEVICE_OFF" + }, + { + "key": "profile_emulation", + "value": true + }, + { + "key": "profile_dirs", + "value": "${VULKAN_CONTENT}/VK_LAYER_KHRONOS_profiles" + }, + { + "key": "profile_name", + "value": "VP_LUNARG_desktop_baseline_2023" + }, + { + "key": "simulate_capabilities", + "value": [ "SIMULATE_API_VERSION_BIT", "SIMULATE_FEATURES_BIT", "SIMULATE_PROPERTIES_BIT" ] + }, + { + "key": "emulate_portability", + "value": true + }, + { + "key": "vertexAttributeAccessBeyondStride", + "value": true + }, + { + "key": "separateStencilMaskRef", + "value": true + }, + { + "key": "mutableComparisonSamplers", + "value": true + }, + { + "key": "multisampleArrayImage", + "value": true + }, + { + "key": "imageViewFormatSwizzle", + "value": true + }, + { + "key": "imageViewFormatReinterpretation", + "value": true + }, + { + "key": "events", + "value": true + }, + { + "key": "constantAlphaColorBlendFactors", + "value": true + } + ] + } + ], + "settings": [ + { + "key": "force_device", + "label": "Force Device", + "description": "On system with multiple physical devices, force the use of one specific physical device.", + "status": "STABLE", + "type": "ENUM", + "default": "FORCE_DEVICE_OFF", + "platforms": [ "WINDOWS", "LINUX", "MACOS" ], + "flags": [ + { + "key": "FORCE_DEVICE_OFF", + "label": "Off", + "description": "Let the Vulkan Loader list all the Physical Device." + }, + { + "key": "FORCE_DEVICE_WITH_UUID", + "label": "Using Device UUID", + "description": "Force the Physical Device identified by the device UUID.", + "settings": [ + { + "key": "force_device_uuid", + "label": "Device UUID", + "description": "Device UUID of the forced physical devices", + "status": "STABLE", + "platforms": [ "WINDOWS", "LINUX", "MACOS" ], + "type": "STRING", + "default": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "force_device", + "value": "FORCE_DEVICE_WITH_UUID" + } + ] + } + } + ] + }, + { + "key": "FORCE_DEVICE_WITH_NAME", + "label": "Using Device Name", + "description": "Force the Physical Device identified by the device UUID.", + "settings": [ + { + "key": "force_device_name", + "label": "Device Name", + "description": "Device Name of the forced physical devices", + "status": "STABLE", + "platforms": [ "WINDOWS", "LINUX", "MACOS" ], + "type": "ENUM", + "flags": [], + "default": "${VP_PHYSICAL_DEVICES}", + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "force_device", + "value": "FORCE_DEVICE_WITH_NAME" + } + ] + } + } + ] + } + ] + }, + { + "key": "profile_emulation", + "label": "Emulate a Vulkan Profile", + "description": "Emulate a Vulkan Profile on the Developer System", + "status": "STABLE", + "type": "BOOL", + "default": true, + "settings": [ + { + "key": "profile_dirs", + "label": "Loading Directory", + "description": "Select the location all the profiles.", + "type": "LOAD_FOLDER", + "format": "PROFILE", + "default": "", + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "profile_emulation", + "value": true + } + ] + } + }, + { + "key": "profile_name", + "label": "Name", + "description": "Name of the profile specified by the profile file to use.", + "type": "ENUM", + "flags": [], + "default": "${VP_DEFAULT}", + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "profile_emulation", + "value": true + } + ] + } + }, + { + "key": "profile_validation", + "label": "Schema Validation", + "description": "Validate the profile files against the Vulkan SDK profile schema if the file is found.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX", "MACOS" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "profile_emulation", + "value": true + } + ] + } + } + ] + }, + { + "key": "simulate_capabilities", + "label": "Simulate Profile Capabilities", + "description": "Control of the simulated capabilities of the Vulkan physical device from the selected Vulkan Profile.", + "status": "STABLE", + "type": "FLAGS", + "flags": [ + { + "key": "SIMULATE_API_VERSION_BIT", + "label": "Version", + "description": "The Vulkan device will report the API version from the selected Profile. It also overrides the `api-version` set in VkPhysicalDeviceProperties." + }, + { + "key": "SIMULATE_FEATURES_BIT", + "label": "Features", + "description": "The Vulkan device will report the features from the selected Profile.", + "settings": [ + { + "key": "default_feature_values", + "label": "Unspecified Features", + "description": "Feature values when not specified in the select Vulkan profiles.", + "status": "STABLE", + "type": "ENUM", + "default": "DEFAULT_FEATURE_VALUES_DEVICE", + "flags": [ + { + "key": "DEFAULT_FEATURE_VALUES_DEVICE", + "label": "Use Device Values", + "description": "When a feature is not mentionned in the select Vulkan profiles, set is to the physical device value." + }, + { + "key": "DEFAULT_FEATURE_VALUES_FALSE", + "label": "Use False", + "description": "When a feature is not mentionned in the select Vulkan profiles, set it to false." + } + ] + } + ] + }, + { + "key": "SIMULATE_PROPERTIES_BIT", + "label": "Properties", + "description": "The Vulkan device will report the properties from the selected Profile." + }, + { + "key": "SIMULATE_EXTENSIONS_BIT", + "label": "Device Extensions", + "description": "The Vulkan device will report the extensions from the selected Profile." + }, + { + "key": "SIMULATE_FORMATS_BIT", + "label": "Formats", + "description": "The Vulkan device will report the formats from the selected Profile." + } + ], + "default": [ "SIMULATE_API_VERSION_BIT", "SIMULATE_FEATURES_BIT", "SIMULATE_PROPERTIES_BIT" ] + }, + { + "key": "emulate_portability", + "label": "Emulate VK_KHR_portability_subset", + "description": "Emulate the VK_KHR_portability_subset extension on the device.", + "status": "STABLE", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "type": "BOOL", + "default": true, + "settings": [ + { + "key": "constantAlphaColorBlendFactors", + "label": "constantAlphaColorBlendFactors", + "description": "Indicates whether this implementation supports constant alpha Blend Factors used as source or destination color Blending.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + } + }, + { + "key": "events", + "label": "events", + "description": "Indicates whether this implementation supports synchronization using Events", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + } + }, + { + "key": "imageViewFormatReinterpretation", + "label": "imageViewFormatReinterpretation", + "description": "Indicates whether this implementation supports a VkImageView being created with a texel format containing a different number of components, or a different number of bits in each component, than the texel format of the underlying VkImage.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + } + }, + { + "key": "imageViewFormatSwizzle", + "label": "imageViewFormatSwizzle", + "description": "Indicates whether this implementation supports remapping format components using VkImageViewCreateInfo::components.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + } + }, + { + "key": "imageView2DOn3DImage", + "label": "imageView2DOn3DImage", + "description": "Indicates whether this implementation supports a VkImage being created with the VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT flag set, permitting a 2D or 2D array image view to be created on a 3D VkImage.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + } + }, + { + "key": "multisampleArrayImage", + "label": "multisampleArrayImage", + "description": "Indicates whether this implementation supports a VkImage being created as a 2D array with multiple samples per texel.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + } + }, + { + "key": "mutableComparisonSamplers", + "label": "mutableComparisonSamplers", + "description": "Indicates whether this implementation allows descriptors with comparison samplers to be updated.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + } + }, + { + "key": "pointPolygons", + "label": "pointPolygons", + "description": "Indicates whether this implementation supports Rasterization using a point Polygon Mode.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + } + }, + { + "key": "samplerMipLodBias", + "label": "samplerMipLodBias", + "description": "Indicates whether this implementation supports setting a mipmap LOD bias value when creating a sampler.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + } + }, + { + "key": "separateStencilMaskRef", + "label": "separateStencilMaskRef", + "description": "Indicates whether this implementation supports separate front and back Stencil Test reference values.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + } + }, + { + "key": "shaderSampleRateInterpolationFunctions", + "label": "shaderSampleRateInterpolationFunctions", + "description": "Indicates whether this implementation supports fragment shaders which use the InterpolationFunction capability.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + } + }, + { + "key": "tessellationIsolines", + "label": "tessellationIsolines", + "description": "Indicates whether this implementation supports isoline output from the Tessellation stage of a graphics pipeline. This member is only meaningful if tessellationShader are supported.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + } + }, + { + "key": "triangleFans", + "label": "triangleFans", + "description": "Indicates whether this implementation supports Triangle Fans primitive topology.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + } + }, + { + "key": "vertexAttributeAccessBeyondStride", + "label": "vertexAttributeAccessBeyondStride", + "description": "Indicates whether this implementation supports accessing a vertex input attribute beyond the stride of the corresponding vertex input binding.", + "type": "BOOL", + "default": false, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "emulate_portability", + "value": true + } + ] + }, + "settings": [ + { + "key": "minVertexInputBindingStrideAlignment", + "label": "minVertexInputBindingStrideAlignment", + "description": "Indicates whether this implementation supports accessing a vertex input attribute beyond the stride of the corresponding vertex input binding.", + "type": "INT", + "default": 4, + "platforms": [ "WINDOWS", "LINUX" ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "vertexAttributeAccessBeyondStride", + "value": false + } + ] + } + } + ] + } + ] + }, + { + "key": "exclude_device_extensions", + "label": "Exclude Device Extensions", + "description": "Removes the listed device extensions from being reported by the Vulkan physical device.", + "status": "STABLE", + "type": "LIST", + "list": [ + "VK_KHR_16bit_storage", + "VK_KHR_8bit_storage", + "VK_KHR_acceleration_structure", + "VK_KHR_bind_memory2", + "VK_KHR_buffer_device_address", + "VK_KHR_copy_commands2", + "VK_KHR_create_renderpass2", + "VK_KHR_dedicated_allocation", + "VK_KHR_deferred_host_operations", + "VK_KHR_depth_stencil_resolve", + "VK_KHR_descriptor_update_template", + "VK_KHR_device_group", + "VK_KHR_display_swapchain", + "VK_KHR_draw_indirect_count", + "VK_KHR_driver_properties", + "VK_KHR_dynamic_rendering", + "VK_KHR_external_fence", + "VK_KHR_external_fence_fd", + "VK_KHR_external_fence_win32", + "VK_KHR_external_memory", + "VK_KHR_external_memory_fd", + "VK_KHR_external_memory_win32", + "VK_KHR_external_semaphore", + "VK_KHR_external_semaphore_fd", + "VK_KHR_external_semaphore_win32", + "VK_KHR_format_feature_flags2", + "VK_KHR_fragment_shading_rate", + "VK_KHR_get_memory_requirements2", + "VK_KHR_image_format_list", + "VK_KHR_imageless_framebuffer", + "VK_KHR_incremental_present", + "VK_KHR_maintenance1", + "VK_KHR_maintenance2", + "VK_KHR_maintenance3", + "VK_KHR_maintenance4", + "VK_KHR_multiview", + "VK_KHR_performance_query", + "VK_KHR_pipeline_executable_properties", + "VK_KHR_pipeline_library", + "VK_KHR_portability_subset", + "VK_KHR_present_id", + "VK_KHR_present_wait", + "VK_KHR_push_descriptor", + "VK_KHR_ray_query", + "VK_KHR_ray_tracing_pipeline", + "VK_KHR_relaxed_block_layout", + "VK_KHR_sampler_mirror_clamp_to_edge", + "VK_KHR_sampler_ycbcr_conversion", + "VK_KHR_separate_depth_stencil_layouts", + "VK_KHR_shader_atomic_int64", + "VK_KHR_shader_clock", + "VK_KHR_shader_draw_parameters", + "VK_KHR_shader_float16_int8", + "VK_KHR_shader_float_controls", + "VK_KHR_shader_integer_dot_product", + "VK_KHR_shader_non_semantic_info", + "VK_KHR_shader_subgroup_extended_types", + "VK_KHR_shader_subgroup_uniform_control_flow", + "VK_KHR_shader_terminate_invocation", + "VK_KHR_shared_presentable_image", + "VK_KHR_spirv_1_4", + "VK_KHR_storage_buffer_storage_class", + "VK_KHR_swapchain", + "VK_KHR_swapchain_mutable_format", + "VK_KHR_synchronization2", + "VK_KHR_timeline_semaphore", + "VK_KHR_uniform_buffer_standard_layout", + "VK_KHR_variable_pointers", + "VK_KHR_video_decode_queue", + "VK_KHR_video_encode_queue", + "VK_KHR_video_queue", + "VK_KHR_vulkan_memory_model", + "VK_KHR_win32_keyed_mutex", + "VK_KHR_workgroup_memory_explicit_layout", + "VK_KHR_zero_initialize_workgroup_memory", + "VK_EXT_4444_formats", + "VK_EXT_astc_decode_mode", + "VK_EXT_blend_operation_advanced", + "VK_EXT_border_color_swizzle", + "VK_EXT_buffer_device_address", + "VK_EXT_calibrated_timestamps", + "VK_EXT_color_write_enable", + "VK_EXT_conditional_rendering", + "VK_EXT_conservative_rasterization", + "VK_EXT_custom_border_color", + "VK_EXT_debug_marker", + "VK_EXT_depth_clip_control", + "VK_EXT_depth_clip_enable", + "VK_EXT_depth_range_unrestricted", + "VK_EXT_descriptor_indexing", + "VK_EXT_device_memory_report", + "VK_EXT_discard_rectangles", + "VK_EXT_display_control", + "VK_EXT_extended_dynamic_state", + "VK_EXT_extended_dynamic_state2", + "VK_EXT_external_memory_dma_buf", + "VK_EXT_external_memory_host", + "VK_EXT_filter_cubic", + "VK_EXT_fragment_density_map", + "VK_EXT_fragment_density_map2", + "VK_EXT_fragment_shader_interlock", + "VK_EXT_full_screen_exclusive", + "VK_EXT_global_priority", + "VK_EXT_global_priority_query", + "VK_EXT_hdr_metadata", + "VK_EXT_host_query_reset", + "VK_EXT_image_drm_format_modifier", + "VK_EXT_image_robustness", + "VK_EXT_image_view_min_lod", + "VK_EXT_index_type_uint8", + "VK_EXT_inline_uniform_block", + "VK_EXT_line_rasterization", + "VK_EXT_load_store_op_none", + "VK_EXT_memory_budget", + "VK_EXT_memory_priority", + "VK_EXT_multi_draw", + "VK_EXT_pageable_device_local_memory", + "VK_EXT_pci_bus_info", + "VK_EXT_physical_device_drm", + "VK_EXT_pipeline_creation_cache_control", + "VK_EXT_pipeline_creation_feedback", + "VK_EXT_post_depth_coverage", + "VK_EXT_primitive_topology_list_restart", + "VK_EXT_private_data", + "VK_EXT_provoking_vertex", + "VK_EXT_queue_family_foreign", + "VK_EXT_rgba10x6_formats", + "VK_EXT_robustness2", + "VK_EXT_sample_locations", + "VK_EXT_sampler_filter_minmax", + "VK_EXT_scalar_block_layout", + "VK_EXT_separate_stencil_usage", + "VK_EXT_shader_atomic_float", + "VK_EXT_shader_atomic_float2", + "VK_EXT_shader_demote_to_helper_invocation", + "VK_EXT_shader_image_atomic_int64", + "VK_EXT_shader_stencil_export", + "VK_EXT_shader_subgroup_ballot", + "VK_EXT_shader_subgroup_vote", + "VK_EXT_shader_viewport_index_layer", + "VK_EXT_subgroup_size_control", + "VK_EXT_texel_buffer_alignment", + "VK_EXT_texture_compression_astc_hdr", + "VK_EXT_tooling_info", + "VK_EXT_transform_feedback", + "VK_EXT_validation_cache", + "VK_EXT_vertex_attribute_divisor", + "VK_EXT_vertex_input_dynamic_state", + "VK_EXT_video_decode_h264", + "VK_EXT_video_decode_h265", + "VK_EXT_video_encode_h264", + "VK_EXT_video_encode_h265", + "VK_EXT_ycbcr_2plane_444_formats", + "VK_EXT_ycbcr_image_arrays", + "VK_AMD_buffer_marker", + "VK_AMD_device_coherent_memory", + "VK_AMD_display_native_hdr", + "VK_AMD_draw_indirect_count", + "VK_AMD_gcn_shader", + "VK_AMD_gpu_shader_half_float", + "VK_AMD_gpu_shader_int16", + "VK_AMD_memory_overallocation_behavior", + "VK_AMD_mixed_attachment_samples", + "VK_AMD_negative_viewport_height", + "VK_AMD_pipeline_compiler_control", + "VK_AMD_rasterization_order", + "VK_AMD_shader_ballot", + "VK_AMD_shader_core_properties", + "VK_AMD_shader_core_properties2", + "VK_AMD_shader_explicit_vertex_parameter", + "VK_AMD_shader_fragment_mask", + "VK_AMD_shader_image_load_store_lod", + "VK_AMD_shader_info", + "VK_AMD_shader_trinary_minmax", + "VK_AMD_texture_gather_bias_lod", + "VK_ANDROID_external_memory_android_hardware_buffer", + "VK_ARM_rasterization_order_attachment_access", + "VK_FUCHSIA_buffer_collection", + "VK_FUCHSIA_external_memory", + "VK_FUCHSIA_external_semaphore", + "VK_GGP_frame_token", + "VK_GOOGLE_decorate_string", + "VK_GOOGLE_display_timing", + "VK_GOOGLE_hlsl_functionality1", + "VK_GOOGLE_user_type", + "VK_HUAWEI_invocation_mask", + "VK_HUAWEI_subpass_shading", + "VK_IMG_filter_cubic", + "VK_IMG_format_pvrtc", + "VK_INTEL_performance_query", + "VK_INTEL_shader_integer_functions2", + "VK_NV_acquire_winrt_display", + "VK_NV_clip_space_w_scaling", + "VK_NV_compute_shader_derivatives", + "VK_NV_cooperative_matrix", + "VK_NV_corner_sampled_image", + "VK_NV_coverage_reduction_mode", + "VK_NV_dedicated_allocation", + "VK_NV_dedicated_allocation_image_aliasing", + "VK_NV_device_diagnostic_checkpoints", + "VK_NV_device_diagnostics_config", + "VK_NV_device_generated_commands", + "VK_NV_external_memory", + "VK_NV_external_memory_rdma", + "VK_NV_external_memory_win32", + "VK_NV_fill_rectangle", + "VK_NV_fragment_coverage_to_color", + "VK_NV_fragment_shader_barycentric", + "VK_NV_fragment_shading_rate_enums", + "VK_NV_framebuffer_mixed_samples", + "VK_NV_geometry_shader_passthrough", + "VK_NV_glsl_shader", + "VK_NV_inherited_viewport_scissor", + "VK_NV_mesh_shader", + "VK_NV_ray_tracing", + "VK_NV_ray_tracing_motion_blur", + "VK_NV_representative_fragment_test", + "VK_NV_sample_mask_override_coverage", + "VK_NV_scissor_exclusive", + "VK_NV_shader_image_footprint", + "VK_NV_shader_sm_builtins", + "VK_NV_shader_subgroup_partitioned", + "VK_NV_shading_rate_image", + "VK_NV_viewport_array2", + "VK_NV_viewport_swizzle", + "VK_NV_win32_keyed_mutex", + "VK_QCOM_render_pass_shader_resolve", + "VK_QCOM_render_pass_store_ops", + "VK_QCOM_render_pass_transform", + "VK_QCOM_rotated_copy_commands", + "VK_VALVE_mutable_descriptor_type", + "VK_QCOM_fragment_density_map_offset", + "VK_NV_linear_color_attachment", + "VK_KHR_global_priority" + ], + "default": [] + }, + { + "key": "exclude_formats", + "label": "Exclude Formats", + "description": "Removes the format feature flags from being reported by the Vulkan physical device.", + "status": "STABLE", + "type": "LIST", + "list": [ + "VK_FORMAT_R4G4_UNORM_PACK8", + "VK_FORMAT_R4G4B4A4_UNORM_PACK16", + "VK_FORMAT_B4G4R4A4_UNORM_PACK16", + "VK_FORMAT_R5G6B5_UNORM_PACK16", + "VK_FORMAT_B5G6R5_UNORM_PACK16", + "VK_FORMAT_R5G5B5A1_UNORM_PACK16", + "VK_FORMAT_B5G5R5A1_UNORM_PACK16", + "VK_FORMAT_A1R5G5B5_UNORM_PACK16", + "VK_FORMAT_R8_UNORM", + "VK_FORMAT_R8_SNORM", + "VK_FORMAT_R8_USCALED", + "VK_FORMAT_R8_SSCALED", + "VK_FORMAT_R8_UINT", + "VK_FORMAT_R8_SINT", + "VK_FORMAT_R8_SRGB", + "VK_FORMAT_R8G8_UNORM", + "VK_FORMAT_R8G8_SNORM", + "VK_FORMAT_R8G8_USCALED", + "VK_FORMAT_R8G8_SSCALED", + "VK_FORMAT_R8G8_UINT", + "VK_FORMAT_R8G8_SINT", + "VK_FORMAT_R8G8_SRGB", + "VK_FORMAT_R8G8B8_UNORM", + "VK_FORMAT_R8G8B8_SNORM", + "VK_FORMAT_R8G8B8_USCALED", + "VK_FORMAT_R8G8B8_SSCALED", + "VK_FORMAT_R8G8B8_UINT", + "VK_FORMAT_R8G8B8_SINT", + "VK_FORMAT_R8G8B8_SRGB", + "VK_FORMAT_B8G8R8_UNORM", + "VK_FORMAT_B8G8R8_SNORM", + "VK_FORMAT_B8G8R8_USCALED", + "VK_FORMAT_B8G8R8_SSCALED", + "VK_FORMAT_B8G8R8_UINT", + "VK_FORMAT_B8G8R8_SINT", + "VK_FORMAT_B8G8R8_SRGB", + "VK_FORMAT_R8G8B8A8_UNORM", + "VK_FORMAT_R8G8B8A8_SNORM", + "VK_FORMAT_R8G8B8A8_USCALED", + "VK_FORMAT_R8G8B8A8_SSCALED", + "VK_FORMAT_R8G8B8A8_UINT", + "VK_FORMAT_R8G8B8A8_SINT", + "VK_FORMAT_R8G8B8A8_SRGB", + "VK_FORMAT_B8G8R8A8_UNORM", + "VK_FORMAT_B8G8R8A8_SNORM", + "VK_FORMAT_B8G8R8A8_USCALED", + "VK_FORMAT_B8G8R8A8_SSCALED", + "VK_FORMAT_B8G8R8A8_UINT", + "VK_FORMAT_B8G8R8A8_SINT", + "VK_FORMAT_B8G8R8A8_SRGB", + "VK_FORMAT_A8B8G8R8_UNORM_PACK32", + "VK_FORMAT_A8B8G8R8_SNORM_PACK32", + "VK_FORMAT_A8B8G8R8_USCALED_PACK32", + "VK_FORMAT_A8B8G8R8_SSCALED_PACK32", + "VK_FORMAT_A8B8G8R8_UINT_PACK32", + "VK_FORMAT_A8B8G8R8_SINT_PACK32", + "VK_FORMAT_A8B8G8R8_SRGB_PACK32", + "VK_FORMAT_A2R10G10B10_UNORM_PACK32", + "VK_FORMAT_A2R10G10B10_SNORM_PACK32", + "VK_FORMAT_A2R10G10B10_USCALED_PACK32", + "VK_FORMAT_A2R10G10B10_SSCALED_PACK32", + "VK_FORMAT_A2R10G10B10_UINT_PACK32", + "VK_FORMAT_A2R10G10B10_SINT_PACK32", + "VK_FORMAT_A2B10G10R10_UNORM_PACK32", + "VK_FORMAT_A2B10G10R10_SNORM_PACK32", + "VK_FORMAT_A2B10G10R10_USCALED_PACK32", + "VK_FORMAT_A2B10G10R10_SSCALED_PACK32", + "VK_FORMAT_A2B10G10R10_UINT_PACK32", + "VK_FORMAT_A2B10G10R10_SINT_PACK32", + "VK_FORMAT_R16_UNORM", + "VK_FORMAT_R16_SNORM", + "VK_FORMAT_R16_USCALED", + "VK_FORMAT_R16_SSCALED", + "VK_FORMAT_R16_UINT", + "VK_FORMAT_R16_SINT", + "VK_FORMAT_R16_SFLOAT", + "VK_FORMAT_R16G16_UNORM", + "VK_FORMAT_R16G16_SNORM", + "VK_FORMAT_R16G16_USCALED", + "VK_FORMAT_R16G16_SSCALED", + "VK_FORMAT_R16G16_UINT", + "VK_FORMAT_R16G16_SINT", + "VK_FORMAT_R16G16_SFLOAT", + "VK_FORMAT_R16G16B16_UNORM", + "VK_FORMAT_R16G16B16_SNORM", + "VK_FORMAT_R16G16B16_USCALED", + "VK_FORMAT_R16G16B16_SSCALED", + "VK_FORMAT_R16G16B16_UINT", + "VK_FORMAT_R16G16B16_SINT", + "VK_FORMAT_R16G16B16_SFLOAT", + "VK_FORMAT_R16G16B16A16_UNORM", + "VK_FORMAT_R16G16B16A16_SNORM", + "VK_FORMAT_R16G16B16A16_USCALED", + "VK_FORMAT_R16G16B16A16_SSCALED", + "VK_FORMAT_R16G16B16A16_UINT", + "VK_FORMAT_R16G16B16A16_SINT", + "VK_FORMAT_R16G16B16A16_SFLOAT", + "VK_FORMAT_R32_UINT", + "VK_FORMAT_R32_SINT", + "VK_FORMAT_R32_SFLOAT", + "VK_FORMAT_R32G32_UINT", + "VK_FORMAT_R32G32_SINT", + "VK_FORMAT_R32G32_SFLOAT", + "VK_FORMAT_R32G32B32_UINT", + "VK_FORMAT_R32G32B32_SINT", + "VK_FORMAT_R32G32B32_SFLOAT", + "VK_FORMAT_R32G32B32A32_UINT", + "VK_FORMAT_R32G32B32A32_SINT", + "VK_FORMAT_R32G32B32A32_SFLOAT", + "VK_FORMAT_R64_UINT", + "VK_FORMAT_R64_SINT", + "VK_FORMAT_R64_SFLOAT", + "VK_FORMAT_R64G64_UINT", + "VK_FORMAT_R64G64_SINT", + "VK_FORMAT_R64G64_SFLOAT", + "VK_FORMAT_R64G64B64_UINT", + "VK_FORMAT_R64G64B64_SINT", + "VK_FORMAT_R64G64B64_SFLOAT", + "VK_FORMAT_R64G64B64A64_UINT", + "VK_FORMAT_R64G64B64A64_SINT", + "VK_FORMAT_R64G64B64A64_SFLOAT", + "VK_FORMAT_B10G11R11_UFLOAT_PACK32", + "VK_FORMAT_E5B9G9R9_UFLOAT_PACK32", + "VK_FORMAT_D16_UNORM", + "VK_FORMAT_X8_D24_UNORM_PACK32", + "VK_FORMAT_D32_SFLOAT", + "VK_FORMAT_S8_UINT", + "VK_FORMAT_D16_UNORM_S8_UINT", + "VK_FORMAT_D24_UNORM_S8_UINT", + "VK_FORMAT_D32_SFLOAT_S8_UINT", + "VK_FORMAT_BC1_RGB_UNORM_BLOCK", + "VK_FORMAT_BC1_RGB_SRGB_BLOCK", + "VK_FORMAT_BC1_RGBA_UNORM_BLOCK", + "VK_FORMAT_BC1_RGBA_SRGB_BLOCK", + "VK_FORMAT_BC2_UNORM_BLOCK", + "VK_FORMAT_BC2_SRGB_BLOCK", + "VK_FORMAT_BC3_UNORM_BLOCK", + "VK_FORMAT_BC3_SRGB_BLOCK", + "VK_FORMAT_BC4_UNORM_BLOCK", + "VK_FORMAT_BC4_SNORM_BLOCK", + "VK_FORMAT_BC5_UNORM_BLOCK", + "VK_FORMAT_BC5_SNORM_BLOCK", + "VK_FORMAT_BC6H_UFLOAT_BLOCK", + "VK_FORMAT_BC6H_SFLOAT_BLOCK", + "VK_FORMAT_BC7_UNORM_BLOCK", + "VK_FORMAT_BC7_SRGB_BLOCK", + "VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK", + "VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK", + "VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK", + "VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK", + "VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK", + "VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK", + "VK_FORMAT_EAC_R11_UNORM_BLOCK", + "VK_FORMAT_EAC_R11_SNORM_BLOCK", + "VK_FORMAT_EAC_R11G11_UNORM_BLOCK", + "VK_FORMAT_EAC_R11G11_SNORM_BLOCK", + "VK_FORMAT_ASTC_4x4_UNORM_BLOCK", + "VK_FORMAT_ASTC_4x4_SRGB_BLOCK", + "VK_FORMAT_ASTC_5x4_UNORM_BLOCK", + "VK_FORMAT_ASTC_5x4_SRGB_BLOCK", + "VK_FORMAT_ASTC_5x5_UNORM_BLOCK", + "VK_FORMAT_ASTC_5x5_SRGB_BLOCK", + "VK_FORMAT_ASTC_6x5_UNORM_BLOCK", + "VK_FORMAT_ASTC_6x5_SRGB_BLOCK", + "VK_FORMAT_ASTC_6x6_UNORM_BLOCK", + "VK_FORMAT_ASTC_6x6_SRGB_BLOCK", + "VK_FORMAT_ASTC_8x5_UNORM_BLOCK", + "VK_FORMAT_ASTC_8x5_SRGB_BLOCK", + "VK_FORMAT_ASTC_8x6_UNORM_BLOCK", + "VK_FORMAT_ASTC_8x6_SRGB_BLOCK", + "VK_FORMAT_ASTC_8x8_UNORM_BLOCK", + "VK_FORMAT_ASTC_8x8_SRGB_BLOCK", + "VK_FORMAT_ASTC_10x5_UNORM_BLOCK", + "VK_FORMAT_ASTC_10x5_SRGB_BLOCK", + "VK_FORMAT_ASTC_10x6_UNORM_BLOCK", + "VK_FORMAT_ASTC_10x6_SRGB_BLOCK", + "VK_FORMAT_ASTC_10x8_UNORM_BLOCK", + "VK_FORMAT_ASTC_10x8_SRGB_BLOCK", + "VK_FORMAT_ASTC_10x10_UNORM_BLOCK", + "VK_FORMAT_ASTC_10x10_SRGB_BLOCK", + "VK_FORMAT_ASTC_12x10_UNORM_BLOCK", + "VK_FORMAT_ASTC_12x10_SRGB_BLOCK", + "VK_FORMAT_ASTC_12x12_UNORM_BLOCK", + "VK_FORMAT_ASTC_12x12_SRGB_BLOCK", + "VK_FORMAT_G8B8G8R8_422_UNORM", + "VK_FORMAT_B8G8R8G8_422_UNORM", + "VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM", + "VK_FORMAT_G8_B8R8_2PLANE_420_UNORM", + "VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM", + "VK_FORMAT_G8_B8R8_2PLANE_422_UNORM", + "VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM", + "VK_FORMAT_R10X6_UNORM_PACK16", + "VK_FORMAT_R10X6G10X6_UNORM_2PACK16", + "VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16", + "VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16", + "VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16", + "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16", + "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16", + "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16", + "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16", + "VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16", + "VK_FORMAT_R12X4_UNORM_PACK16", + "VK_FORMAT_R12X4G12X4_UNORM_2PACK16", + "VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16", + "VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16", + "VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16", + "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16", + "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16", + "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16", + "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16", + "VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16", + "VK_FORMAT_G16B16G16R16_422_UNORM", + "VK_FORMAT_B16G16R16G16_422_UNORM", + "VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM", + "VK_FORMAT_G16_B16R16_2PLANE_420_UNORM", + "VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM", + "VK_FORMAT_G16_B16R16_2PLANE_422_UNORM", + "VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM", + "VK_FORMAT_G8_B8R8_2PLANE_444_UNORM", + "VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16", + "VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16", + "VK_FORMAT_G16_B16R16_2PLANE_444_UNORM", + "VK_FORMAT_A4R4G4B4_UNORM_PACK16", + "VK_FORMAT_A4B4G4R4_UNORM_PACK16", + "VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK", + "VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK", + "VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK", + "VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK", + "VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK", + "VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK", + "VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK", + "VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK", + "VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK", + "VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK", + "VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK", + "VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK", + "VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK", + "VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK", + "VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG", + "VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG", + "VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG", + "VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG", + "VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG", + "VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG", + "VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG", + "VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG" + ], + "default": [] + }, + { + "key": "debug_actions", + "label": "Debug Actions", + "description": "This indicates what action is to be taken when a layer wants to report information", + "status": "STABLE", + "type": "FLAGS", + "platforms": [ "WINDOWS", "LINUX", "MACOS" ], + "flags": [ + { + "key": "DEBUG_ACTION_STDOUT_BIT", + "label": "Log to stdout", + "description": "Log messages using the stdout." + }, + { + "key": "DEBUG_ACTION_OUTPUT_BIT", + "label": "Log to OutputDebugString", + "description": "Log messages using the Windows OutputDebugString for Vulkan Studio output display.", + "platforms": [ "WINDOWS" ] + }, + { + "key": "DEBUG_ACTION_FILE_BIT", + "label": "Log to File", + "description": "Log messages to a file.", + "settings": [ + { + "key": "debug_filename", + "label": "Log Filename", + "description": "Specifies the output filename", + "type": "SAVE_FILE", + "default": "profiles_layer_log.txt", + "dependence": { + "mode": "ANY", + "settings": [ + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_STDOUT_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_OUTPUT_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_BREAKPOINT_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_STDOUT_BIT", "DEBUG_ACTION_OUTPUT_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_STDOUT_BIT", "DEBUG_ACTION_BREAKPOINT_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_OUTPUT_BIT", "DEBUG_ACTION_BREAKPOINT_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_STDOUT_BIT", "DEBUG_ACTION_OUTPUT_BIT", "DEBUG_ACTION_BREAKPOINT_BIT" ] + } + ] + } + }, + { + "key": "debug_file_clear", + "label": "Clear Log at Launch", + "description": "Discard the content of the log file between each layer run", + "type": "BOOL", + "default": true, + "dependence": { + "mode": "ANY", + "settings": [ + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_STDOUT_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_OUTPUT_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_BREAKPOINT_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_STDOUT_BIT", "DEBUG_ACTION_OUTPUT_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_STDOUT_BIT", "DEBUG_ACTION_BREAKPOINT_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_OUTPUT_BIT", "DEBUG_ACTION_BREAKPOINT_BIT" ] + }, + { + "key": "debug_actions", + "value": [ "DEBUG_ACTION_FILE_BIT", "DEBUG_ACTION_STDOUT_BIT", "DEBUG_ACTION_OUTPUT_BIT", "DEBUG_ACTION_BREAKPOINT_BIT" ] + } + ] + } + } + ], + "platforms": [ "WINDOWS", "LINUX", "MACOS" ], + "expanded": true + }, + { + "key": "DEBUG_ACTION_BREAKPOINT_BIT", + "label": "Break", + "description": "Trigger a breakpoint if a debugger is in use." + } + ], + "default": [ "DEBUG_ACTION_STDOUT_BIT" ] + }, + { + "key": "debug_fail_on_error", + "label": "Fail on Error", + "description": "If the device doesn't support the capabilities of the selected Profile, the layer fail to load. When enabled, vkEnumeratePhysicalDevices will fail when the selected Profile is not supported.", + "status": "STABLE", + "type": "BOOL", + "platforms": [ "WINDOWS", "LINUX", "MACOS" ], + "default": false + }, + { + "key": "debug_reports", + "label": "Message Types", + "description": "This is a comma-delineated list of options telling the layer what types of messages it should report back", + "status": "STABLE", + "type": "FLAGS", + "platforms": [ "WINDOWS", "LINUX", "MACOS" ], + "flags": [ + { + "key": "DEBUG_REPORT_NOTIFICATION_BIT", + "label": "Notification", + "description": "Report notifications." + }, + { + "key": "DEBUG_REPORT_WARNING_BIT", + "label": "Warning", + "description": "Report warnings from using the API in a manner which may lead to undefined behavior or to warn the user of common trouble spots. A warning does NOT necessarily signify illegal application behavior." + }, + { + "key": "DEBUG_REPORT_ERROR_BIT", + "label": "Error", + "description": "Report errors in API usage." + }, + { + "key": "DEBUG_REPORT_DEBUG_BIT", + "label": "Debug", + "description": "Report debug information for the Profiles Layer development.", + "view": "ADVANCED" + } + ], + "default": [ + "DEBUG_REPORT_NOTIFICATION_BIT", + "DEBUG_REPORT_WARNING_BIT", + "DEBUG_REPORT_ERROR_BIT" + ] + } + ] + } + } +} diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_synchronization2.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_synchronization2.dll new file mode 100644 index 0000000000000000000000000000000000000000..e8c12ebae042c703e352734203cc3cffe970bbfb Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_synchronization2.dll differ diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_synchronization2.json b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_synchronization2.json new file mode 100644 index 0000000000000000000000000000000000000000..85eeb3b057c832b1e00377aaa58db420bc4e161e --- /dev/null +++ b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_synchronization2.json @@ -0,0 +1,49 @@ +{ + "file_format_version": "1.2.0", + "layer": { + "name": "VK_LAYER_KHRONOS_synchronization2", + "type": "GLOBAL", + "library_path": ".\\VkLayer_khronos_synchronization2.dll", + "api_version": "1.3.290", + "implementation_version": "1", + "description": "Khronos Synchronization2 layer", + "introduction": "The VK_LAYER_KHRONOS_synchronization2 extension layer implements the VK_KHR_synchronization2 extension.", + "url": "https://vulkan.lunarg.com/doc/sdk/latest/windows/synchronization2_layer.html", + "status": "STABLE", + "platforms": [ "WINDOWS", "LINUX", "MACOS", "ANDROID" ], + "instance_extensions": [ + { + "name": "VK_EXT_layer_settings", + "spec_version": "2" + } + ], + "device_extensions": [ + { + "name": "VK_KHR_synchronization2", + "spec_version": "1", + "entrypoints": [ + "vkCmdSetEvent2KHR", + "vkCmdResetEvent2KHR", + "vkCmdWaitEvents2KHR", + "vkCmdPipelineBarrier2KHR", + "vkCmdWriteTimestamp2KHR", + "vkQueueSubmit2KHR", + "vkCmdWriteBufferMarker2AMD", + "vkGetQueueCheckpointData2NV" + ] + } + ], + "features": { + "settings": [ + { + "key": "force_enable", + "env": "VK_SYNCHRONIZATION2_FORCE_ENABLE", + "label": "Force Enable", + "description": "Force the layer to be active even if the underlying driver also implements the synchonization2 extension.", + "type": "BOOL", + "default": false + } + ] + } + } +} diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_validation.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_validation.dll new file mode 100644 index 0000000000000000000000000000000000000000..6e6e57345f30d4f4a7d5bfc08ac395070a290a93 Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_validation.dll differ diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_validation.json b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_validation.json new file mode 100644 index 0000000000000000000000000000000000000000..faaa993f9731c18521a46fba6bb31d168cff1ba2 --- /dev/null +++ b/build_vr_big_map/Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_validation.json @@ -0,0 +1,1759 @@ +{ + "file_format_version": "1.2.0", + "layer": { + "name": "VK_LAYER_KHRONOS_validation", + "type": "GLOBAL", + "library_path": ".\\VkLayer_khronos_validation.dll", + "api_version": "1.3.290", + "implementation_version": "1", + "description": "Khronos Validation Layer", + "introduction": "The main, comprehensive Khronos validation layer.\n\nVulkan is an Explicit API, enabling direct control over how GPUs actually work. By design, minimal error checking is done inside a Vulkan driver. Applications have full control and responsibility for correct operation. Any errors in how Vulkan is used can result in a crash. \n\nThe Khronos Valiation Layer can be enabled to assist development by enabling developers to verify their applications correctly use the Vulkan API.", + "platforms": [ + "WINDOWS", + "LINUX", + "ANDROID", + "MACOS" + ], + "url": "https://vulkan.lunarg.com/doc/sdk/latest/windows/khronos_validation_layer.html", + "instance_extensions": [ + { + "name": "VK_EXT_debug_report", + "spec_version": "9" + }, + { + "name": "VK_EXT_debug_utils", + "spec_version": "1" + }, + { + "name": "VK_EXT_layer_settings", + "spec_version": "2" + }, + { + "name": "VK_EXT_validation_features", + "spec_version": "2" + } + ], + "device_extensions": [ + { + "name": "VK_EXT_debug_marker", + "spec_version": "4", + "entrypoints": [ + "vkDebugMarkerSetObjectTagEXT", + "vkDebugMarkerSetObjectNameEXT", + "vkCmdDebugMarkerBeginEXT", + "vkCmdDebugMarkerEndEXT", + "vkCmdDebugMarkerInsertEXT" + ] + }, + { + "name": "VK_EXT_validation_cache", + "spec_version": "1", + "entrypoints": [ + "vkCreateValidationCacheEXT", + "vkDestroyValidationCacheEXT", + "vkGetValidationCacheDataEXT", + "vkMergeValidationCachesEXT" + ] + }, + { + "name": "VK_EXT_tooling_info", + "spec_version": "1", + "entrypoints": [ + "vkGetPhysicalDeviceToolPropertiesEXT" + ] + } + ], + "features": { + "presets": [ + { + "label": "Standard", + "description": "Good default validation setup that balance validation coverage and performance.", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ], + "status": "STABLE", + "settings": [ + { + "key": "validate_core", + "value": true + }, + { + "key": "check_image_layout", + "value": true + }, + { + "key": "check_command_buffer", + "value": true + }, + { + "key": "check_object_in_use", + "value": true + }, + { + "key": "check_query", + "value": true + }, + { + "key": "check_shaders", + "value": true + }, + { + "key": "check_shaders_caching", + "value": true + }, + { + "key": "unique_handles", + "value": true + }, + { + "key": "object_lifetime", + "value": true + }, + { + "key": "stateless_param", + "value": true + }, + { + "key": "thread_safety", + "value": false + }, + { + "key": "validate_sync", + "value": false + }, + { + "key": "validate_gpu_based", + "value": "GPU_BASED_NONE" + }, + { + "key": "validate_best_practices", + "value": false + }, + { + "key": "report_flags", + "value": [ + "error" + ] + } + ] + }, + { + "label": "Reduced-Overhead", + "description": "Disables some checks in the interest of better performance.", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS" + ], + "status": "STABLE", + "settings": [ + { + "key": "validate_core", + "value": true + }, + { + "key": "check_image_layout", + "value": false + }, + { + "key": "check_command_buffer", + "value": false + }, + { + "key": "check_object_in_use", + "value": false + }, + { + "key": "check_query", + "value": false + }, + { + "key": "check_shaders", + "value": true + }, + { + "key": "check_shaders_caching", + "value": true + }, + { + "key": "unique_handles", + "value": false + }, + { + "key": "object_lifetime", + "value": true + }, + { + "key": "stateless_param", + "value": true + }, + { + "key": "thread_safety", + "value": false + }, + { + "key": "validate_sync", + "value": false + }, + { + "key": "validate_gpu_based", + "value": "GPU_BASED_NONE" + }, + { + "key": "validate_best_practices", + "value": false + }, + { + "key": "report_flags", + "value": [ + "error" + ] + } + ] + }, + { + "label": "Best Practices", + "description": "Provides warnings on valid API usage that is potential API misuse.", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ], + "status": "STABLE", + "settings": [ + { + "key": "validate_core", + "value": false + }, + { + "key": "check_image_layout", + "value": false + }, + { + "key": "check_command_buffer", + "value": false + }, + { + "key": "check_object_in_use", + "value": false + }, + { + "key": "check_query", + "value": false + }, + { + "key": "check_shaders", + "value": false + }, + { + "key": "check_shaders_caching", + "value": false + }, + { + "key": "unique_handles", + "value": false + }, + { + "key": "object_lifetime", + "value": false + }, + { + "key": "stateless_param", + "value": false + }, + { + "key": "thread_safety", + "value": false + }, + { + "key": "validate_sync", + "value": false + }, + { + "key": "validate_gpu_based", + "value": "GPU_BASED_NONE" + }, + { + "key": "validate_best_practices", + "value": true + }, + { + "key": "report_flags", + "value": [ + "error", + "warn", + "perf" + ] + } + ] + }, + { + "label": "Synchronization", + "description": "Identify resource access conflicts due to missing or incorrect synchronization operations between actions reading or writing the same regions of memory.", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ], + "status": "STABLE", + "settings": [ + { + "key": "validate_core", + "value": false + }, + { + "key": "check_image_layout", + "value": false + }, + { + "key": "check_command_buffer", + "value": false + }, + { + "key": "check_object_in_use", + "value": false + }, + { + "key": "check_query", + "value": false + }, + { + "key": "check_shaders", + "value": false + }, + { + "key": "check_shaders_caching", + "value": false + }, + { + "key": "unique_handles", + "value": true + }, + { + "key": "object_lifetime", + "value": false + }, + { + "key": "stateless_param", + "value": false + }, + { + "key": "thread_safety", + "value": true + }, + { + "key": "validate_sync", + "value": true + }, + { + "key": "validate_gpu_based", + "value": "GPU_BASED_NONE" + }, + { + "key": "validate_best_practices", + "value": false + }, + { + "key": "report_flags", + "value": [ + "error" + ] + } + ] + }, + { + "label": "GPU-Assisted", + "description": "Check for API usage errors at shader execution time.", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "status": "STABLE", + "settings": [ + { + "key": "validate_core", + "value": false + }, + { + "key": "check_image_layout", + "value": false + }, + { + "key": "check_command_buffer", + "value": false + }, + { + "key": "check_object_in_use", + "value": false + }, + { + "key": "check_query", + "value": false + }, + { + "key": "check_shaders", + "value": false + }, + { + "key": "check_shaders_caching", + "value": false + }, + { + "key": "unique_handles", + "value": false + }, + { + "key": "object_lifetime", + "value": false + }, + { + "key": "stateless_param", + "value": false + }, + { + "key": "thread_safety", + "value": false + }, + { + "key": "validate_sync", + "value": false + }, + { + "key": "validate_gpu_based", + "value": "GPU_BASED_GPU_ASSISTED" + }, + { + "key": "gpuav_reserve_binding_slot", + "value": true + }, + { + "key": "validate_best_practices", + "value": false + }, + { + "key": "report_flags", + "value": [ + "error" + ] + } + ] + }, + { + "label": "Debug Printf", + "description": "Debug shader code by \"printing\" any values of interest to the debug callback or stdout.", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "status": "STABLE", + "settings": [ + { + "key": "validate_core", + "value": false + }, + { + "key": "check_image_layout", + "value": false + }, + { + "key": "check_command_buffer", + "value": false + }, + { + "key": "check_object_in_use", + "value": false + }, + { + "key": "check_query", + "value": false + }, + { + "key": "check_shaders", + "value": false + }, + { + "key": "check_shaders_caching", + "value": false + }, + { + "key": "unique_handles", + "value": false + }, + { + "key": "object_lifetime", + "value": false + }, + { + "key": "stateless_param", + "value": false + }, + { + "key": "thread_safety", + "value": false + }, + { + "key": "validate_sync", + "value": false + }, + { + "key": "validate_gpu_based", + "value": "GPU_BASED_DEBUG_PRINTF" + }, + { + "key": "validate_best_practices", + "value": false + }, + { + "key": "report_flags", + "value": [ + "error" + ] + } + ] + } + ], + "settings": [ + { + "key": "validation_control", + "label": "Validation Areas", + "description": "Control of the Validation layer validation", + "type": "GROUP", + "expanded": true, + "settings": [ + { + "key": "fine_grained_locking", + "env": "VK_LAYER_FINE_GRAINED_LOCKING", + "label": "Fine Grained Locking", + "description": "Enable fine grained locking for Core Validation, which should improve performance in multithreaded applications. This setting allows the optimization to be disabled for debugging.", + "type": "BOOL", + "default": true, + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ] + }, + { + "key": "validate_core", + "label": "Core", + "description": "The main, heavy-duty validation checks. This may be valuable early in the development cycle to reduce validation output while correcting parameter/object usage errors.", + "type": "BOOL", + "default": true, + "settings": [ + { + "key": "check_image_layout", + "label": "Image Layout", + "description": "Check that the layout of each image subresource is correct whenever it is used by a command buffer. These checks are very CPU intensive for some applications.", + "type": "BOOL", + "default": true, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_core", + "value": true + } + ] + } + }, + { + "key": "check_command_buffer", + "label": "Command Buffer State", + "description": "Check that all Vulkan objects used by a command buffer have not been destroyed. These checks can be CPU intensive for some applications.", + "type": "BOOL", + "default": true, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_core", + "value": true + } + ] + } + }, + { + "key": "check_object_in_use", + "label": "Object in Use", + "description": "Check that Vulkan objects are not in use by a command buffer when they are destroyed.", + "type": "BOOL", + "default": true, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_core", + "value": true + } + ] + } + }, + { + "key": "check_query", + "label": "Query", + "description": "Checks for commands that use VkQueryPool objects.", + "type": "BOOL", + "default": true, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_core", + "value": true + } + ] + } + }, + { + "key": "check_shaders", + "label": "Shader", + "description": "Shader checks. These checks can be CPU intensive during application start up, especially if Shader Validation Caching is also disabled.", + "type": "BOOL", + "default": true, + "expanded": true, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_core", + "value": true + } + ] + }, + "settings": [ + { + "key": "check_shaders_caching", + "label": "Caching", + "description": "Enable caching of shader validation results.", + "type": "BOOL", + "default": true, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_core", + "value": true + }, + { + "key": "check_shaders", + "value": true + } + ] + } + } + ] + } + ] + }, + { + "key": "unique_handles", + "label": "Handle Wrapping", + "description": "Handle wrapping checks. Disable this feature if you are exerience crashes when creating new extensions or developing new Vulkan objects/structures.", + "type": "BOOL", + "default": true, + "status": "STABLE", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ] + }, + { + "key": "object_lifetime", + "label": "Object Lifetime", + "description": "Object tracking checks. This may not always be necessary late in a development cycle.", + "type": "BOOL", + "default": true, + "status": "STABLE", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ] + }, + { + "key": "stateless_param", + "label": "Stateless Parameter", + "description": "Stateless parameter checks. This may not always be necessary late in a development cycle.", + "type": "BOOL", + "default": true, + "status": "STABLE", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ] + }, + { + "key": "thread_safety", + "label": "Thread Safety", + "description": "Thread checks. In order to not degrade performance, it might be best to run your program with thread-checking disabled most of the time, enabling it occasionally for a quick sanity check or when debugging difficult application behaviors.", + "type": "BOOL", + "default": true, + "status": "STABLE", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ] + }, + { + "key": "validate_sync", + "label": "Synchronization", + "description": "Check for resource access conflicts caused by missing or incorrectly used synchronization operations.", + "url": "${LUNARG_SDK}/synchronization_usage.html", + "type": "BOOL", + "default": false, + "expanded": true, + "status": "STABLE", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ], + "settings": [ + { + "key": "syncval_submit_time_validation", + "label": "Submit time validation", + "description": "Enable synchronization validation on the boundary between submitted command buffers. This also validates accesses from presentation operations. This option can incur a significant performance cost.", + "type": "BOOL", + "default": true, + "status": "STABLE", + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_sync", + "value": true + } + ] + } + }, + { + "key": "syncval_shader_accesses_heuristic", + "label": "Shader accesses heuristic", + "description": "Takes into account memory accesses performed by the shader based on SPIR-V static analysis. Warning: can produce false-positives, can ignore certain types of accesses.", + "type": "BOOL", + "default": false, + "status": "STABLE", + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_sync", + "value": true + } + ] + } + } + ] + }, + { + "key": "validate_gpu_based", + "label": "GPU Base", + "description": "Setting an option here will enable specialized areas of validation", + "type": "ENUM", + "default": "GPU_BASED_NONE", + "expanded": true, + "status": "STABLE", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "flags": [ + { + "key": "GPU_BASED_NONE", + "label": "None", + "description": "No GPU-based validation." + }, + { + "key": "GPU_BASED_DEBUG_PRINTF", + "label": "Debug Printf", + "description": "Enables processing of debug printf instructions in shaders and sending debug strings to the debug callback.", + "url": "${LUNARG_SDK}/debug_printf.html", + "status": "STABLE", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "settings": [ + { + "key": "printf_to_stdout", + "label": "Redirect Printf messages to stdout", + "description": "Enable redirection of Debug Printf messages from the debug callback to stdout", + "type": "BOOL", + "default": true, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_gpu_based", + "value": "GPU_BASED_DEBUG_PRINTF" + } + ] + } + }, + { + "key": "printf_verbose", + "label": "Printf verbose", + "description": "Set the verbosity of debug printf messages", + "type": "BOOL", + "default": false, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_gpu_based", + "value": "GPU_BASED_DEBUG_PRINTF" + } + ] + } + }, + { + "key": "printf_buffer_size", + "label": "Printf buffer size", + "description": "Set the size in bytes of the buffer used by debug printf", + "type": "INT", + "default": 1024, + "range": { + "min": 128, + "max": 1048576 + }, + "unit": "bytes", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_gpu_based", + "value": "GPU_BASED_DEBUG_PRINTF" + } + ] + } + } + ] + }, + { + "key": "GPU_BASED_GPU_ASSISTED", + "label": "GPU-Assisted", + "description": "Check for API usage errors at shader execution time.", + "url": "${LUNARG_SDK}/gpu_validation.html", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "settings": [ + { + "key": "gpuav_shader_instrumentation", + "label": "Shader instrumentation", + "description": "Instrument shaders to validate descriptors, descriptor indexing, buffer device addresses and ray queries. Warning: will considerably slow down shader executions.", + "type": "BOOL", + "default": true, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_gpu_based", + "value": "GPU_BASED_GPU_ASSISTED" + } + ] + }, + "settings": [ + { + "key": "gpuav_descriptor_checks", + "label": "Descriptors indexing", + "description": "Enable descriptors and buffer out of bounds validation when using descriptor indexing", + "type": "BOOL", + "default": true, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "gpuav_shader_instrumentation", + "value": true + } + ] + }, + "settings": [ + { + "key": "gpuav_warn_on_robust_oob", + "label": "Generate warning on out of bounds accesses even if buffer robustness is enabled", + "description": "Warn on out of bounds accesses even if robustness is enabled", + "type": "BOOL", + "default": true, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "gpuav_shader_instrumentation", + "value": true + } + ] + } + } + ] + }, + { + "key": "gpuav_buffer_address_oob", + "label": "Out of bounds buffer device addresses", + "type": "BOOL", + "default": true, + "description": "Check for ", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "gpuav_shader_instrumentation", + "value": true + } + ] + }, + "settings": [ + { + "key": "gpuav_max_buffer_device_addresses", + "label": "Maximum number of buffer device addresses in use at one time", + "description": "", + "type": "INT", + "default": 10000, + "range": { + "min": 100, + "max": 10000000 + }, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "gpuav_shader_instrumentation", + "value": true + } + ] + } + } + ] + }, + { + "key": "gpuav_validate_ray_query", + "label": "RayQuery SPIR-V Instructions", + "description": "Enable shader instrumentation on OpRayQueryInitializeKHR", + "type": "BOOL", + "default": true, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "gpuav_shader_instrumentation", + "value": true + } + ] + } + }, + { + "key": "gpuav_cache_instrumented_shaders", + "label": "Cache instrumented shaders rather than instrumenting them on every run", + "description": "Enable instrumented shader caching", + "type": "BOOL", + "default": true, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "gpuav_shader_instrumentation", + "value": true + } + ] + } + }, + { + "key": "gpuav_select_instrumented_shaders", + "label": "Enable instrumenting shaders selectively", + "description": "Select which shaders to instrument passing a VkValidationFeaturesEXT struct with GPU-AV enabled in the VkShaderModuleCreateInfo pNext", + "type": "BOOL", + "default": false, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "gpuav_shader_instrumentation", + "value": true + } + ] + } + } + ] + }, + { + "key": "gpuav_buffers_validation", + "label": "Buffer content validation", + "description": "Validate buffers containing parameters used in indirect Vulkan commands, or used in copy commands", + "type": "BOOL", + "default": true, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_gpu_based", + "value": "GPU_BASED_GPU_ASSISTED" + } + ] + }, + "settings": [ + { + "key": "gpuav_indirect_draws_buffers", + "label": "Indirect draws parameters", + "type": "BOOL", + "default": true, + "description": "Validate buffers containing draw parameters used in indirect draw commands", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "gpuav_buffers_validation", + "value": true + } + ] + } + }, + { + "key": "gpuav_indirect_dispatches_buffers", + "label": "Indirect dispatches parameters", + "type": "BOOL", + "default": true, + "description": "Validate buffers containing dispatch parameters used in indirect dispatch commands", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "gpuav_buffers_validation", + "value": true + } + ] + } + }, + { + "key": "gpuav_indirect_trace_rays_buffers", + "label": "Indirect trace rays parameters", + "type": "BOOL", + "default": true, + "description": "Validate buffers containing ray tracing parameters used in indirect ray tracing commands", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "gpuav_buffers_validation", + "value": true + } + ] + } + }, + { + "key": "gpuav_buffer_copies", + "label": "Buffer copies", + "type": "BOOL", + "default": true, + "description": "Validate copies involving a VkBuffer. Right now only validates copy buffer to image.", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "gpuav_buffers_validation", + "value": true + } + ] + } + } + ] + }, + { + "key": "gpuav_advanced_settings", + "label": "Advanced Settings", + "description": "GPU-AV advanced settings", + "type": "GROUP", + "view": "ADVANCED", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_gpu_based", + "value": "GPU_BASED_GPU_ASSISTED" + } + ] + }, + "settings": [ + { + "key": "gpuav_reserve_binding_slot", + "label": "Reserve Descriptor Set Binding Slot", + "type": "BOOL", + "default": true, + "description": "Specifies that the validation layers reserve a descriptor set binding slot for their own use. The layer reports a value for VkPhysicalDeviceLimits::maxBoundDescriptorSets that is one less than the value reported by the device. If the device supports the binding of only one descriptor set, the validation layer does not perform GPU-assisted validation.", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_gpu_based", + "value": "GPU_BASED_GPU_ASSISTED" + } + ] + } + }, + { + "key": "gpuav_vma_linear_output", + "label": "Linear Memory Allocation Mode", + "description": "Use VMA linear memory allocations for GPU-AV output buffers instead of finding best place for new allocations among free regions to optimize memory usage. Enabling this setting reduces performance cost but disabling this method minimizes memory usage.", + "type": "BOOL", + "default": true, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_gpu_based", + "value": "GPU_BASED_GPU_ASSISTED" + } + ] + } + } + ] + }, + { + "key": "gpuav_debug_settings", + "label": "Developer Debug Settings", + "description": "GPU-AV debug settings", + "type": "GROUP", + "view": "ADVANCED", + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_gpu_based", + "value": "GPU_BASED_GPU_ASSISTED" + } + ] + }, + "settings": [ + { + "key": "gpuav_debug_disable_all", + "label": "Disable all of GPU-AV", + "description": "Acts as a VkValidationFeatureDisableEXT to override the VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT passed by the user", + "type": "BOOL", + "default": false, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_gpu_based", + "value": "GPU_BASED_GPU_ASSISTED" + } + ] + } + }, + { + "key": "gpuav_debug_validate_instrumented_shaders", + "label": "Validate instrumented shaders", + "description": "Run spirv-val after doing shader instrumentation", + "type": "BOOL", + "default": false, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_gpu_based", + "value": "GPU_BASED_GPU_ASSISTED" + } + ] + } + }, + { + "key": "gpuav_debug_dump_instrumented_shaders", + "label": "Dump instrumented shaders", + "description": "Will dump the instrumented shaders (before and after) to working directory", + "type": "BOOL", + "default": false, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_gpu_based", + "value": "GPU_BASED_GPU_ASSISTED" + } + ] + } + }, + { + "key": "gpuav_debug_max_instrumented_count", + "label": "Limit how many time a pass can instrument the SPIR-V", + "description": "Zero is same as unlimited", + "type": "INT", + "default": 0, + "range": { + "min": 0 + }, + "platforms": [ + "WINDOWS", + "LINUX" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_gpu_based", + "value": "GPU_BASED_GPU_ASSISTED" + } + ] + } + } + ] + } + ] + } + ] + }, + { + "key": "validate_best_practices", + "label": "Best Practices", + "description": "Outputs warnings related to common misuse of the API, but which are not explicitly prohibited by the specification.", + "url": "${LUNARG_SDK}/best_practices.html", + "type": "BOOL", + "default": false, + "expanded": true, + "status": "STABLE", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ], + "settings": [ + { + "key": "validate_best_practices_arm", + "label": "ARM-specific best practices", + "description": "Outputs warnings for spec-conforming but non-ideal code on ARM GPUs.", + "type": "BOOL", + "default": false, + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_best_practices", + "value": true + } + ] + } + }, + { + "key": "validate_best_practices_amd", + "label": "AMD-specific best practices", + "description": "Outputs warnings for spec-conforming but non-ideal code on AMD GPUs.", + "type": "BOOL", + "default": false, + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_best_practices", + "value": true + } + ] + } + }, + { + "key": "validate_best_practices_img", + "label": "IMG-specific best practices", + "description": "Outputs warnings for spec-conforming but non-ideal code on Imagination GPUs.", + "type": "BOOL", + "default": false, + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_best_practices", + "value": true + } + ] + } + }, + { + "key": "validate_best_practices_nvidia", + "label": "NVIDIA-specific best practices", + "description": "Outputs warnings for spec-conforming but non-ideal code on NVIDIA GPUs.", + "type": "BOOL", + "default": false, + "platforms": [ + "WINDOWS", + "LINUX", + "ANDROID" + ], + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "validate_best_practices", + "value": true + } + ] + } + } + ] + } + ] + }, + { + "key": "debug_action", + "label": "Debug Action", + "description": "Specifies what action is to be taken when a layer reports information", + "type": "FLAGS", + "flags": [ + { + "key": "VK_DBG_LAYER_ACTION_LOG_MSG", + "label": "Log Message", + "description": "Log a txt message to stdout or to a log filename.", + "settings": [ + { + "key": "log_filename", + "label": "Log Filename", + "description": "Specifies the output filename", + "type": "SAVE_FILE", + "default": "stdout", + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "debug_action", + "value": [ + "VK_DBG_LAYER_ACTION_LOG_MSG" + ] + } + ] + } + } + ] + }, + { + "key": "VK_DBG_LAYER_ACTION_CALLBACK", + "label": "Callback", + "description": "Call user defined callback function(s) that have been registered via the VK_EXT_debug_report extension. Since application must register callback, this is a NOOP for the settings file.", + "view": "HIDDEN" + }, + { + "key": "VK_DBG_LAYER_ACTION_DEBUG_OUTPUT", + "label": "Debug Output", + "description": "Log a txt message using the Windows OutputDebugString function.", + "platforms": [ + "WINDOWS" + ] + }, + { + "key": "VK_DBG_LAYER_ACTION_BREAK", + "label": "Break", + "description": "Trigger a breakpoint if a debugger is in use." + } + ], + "default": [ + "VK_DBG_LAYER_ACTION_LOG_MSG" + ] + }, + { + "key": "report_flags", + "label": "Message Severity", + "description": "Comma-delineated list of options specifying the types of messages to be reported", + "type": "FLAGS", + "flags": [ + { + "key": "info", + "label": "Info", + "description": "Report informational messages." + }, + { + "key": "warn", + "label": "Warning", + "description": "Report warnings from using the API in a manner which may lead to undefined behavior or to warn the user of common trouble spots. A warning does NOT necessarily signify illegal application behavior." + }, + { + "key": "perf", + "label": "Performance", + "description": "Report usage of the API that may cause suboptimal performance." + }, + { + "key": "error", + "label": "Error", + "description": "Report errors in API usage." + }, + { + "key": "debug", + "label": "Debug", + "description": "For layer development. Report messages for debugging layer behavior.", + "view": "HIDDEN" + } + ], + "default": [ + "error" + ] + }, + { + "key": "enable_message_limit", + "label": "Limit Duplicated Messages", + "description": "Enable limiting of duplicate messages.", + "type": "BOOL", + "default": true, + "settings": [ + { + "key": "duplicate_message_limit", + "env": "VK_LAYER_DUPLICATE_MESSAGE_LIMIT", + "label": "Max Duplicated Messages", + "description": "Maximum number of times any single validation message should be reported.", + "type": "INT", + "default": 10, + "range": { + "min": 1 + }, + "dependence": { + "mode": "ALL", + "settings": [ + { + "key": "enable_message_limit", + "value": true + } + ] + } + } + ] + }, + { + "key": "message_id_filter", + "label": "Mute Message VUIDs", + "description": "List of VUIDs and VUID identifers which are to be IGNORED by the validation layer", + "type": "LIST", + "env": "VK_LAYER_MESSAGE_ID_FILTER", + "default": [] + }, + { + "key": "message_format", + "label": "Message Format", + "description": "Specifies how error messages are reported", + "type": "GROUP", + "expanded": true, + "settings": [ + { + "key": "message_format_display_application_name", + "label": "Display Application Name", + "description": "Useful when running multiple instances to know which instance the message is from.", + "type": "BOOL", + "default": false, + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ] + } + ] + }, + { + "key": "disables", + "label": "Disables", + "description": "Specify areas of validation to be disabled", + "type": "FLAGS", + "env": "VK_LAYER_DISABLES", + "flags": [ + { + "key": "VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT", + "label": "Thread Safety", + "description": "Thread checks. In order to not degrade performance, it might be best to run your program with thread-checking disabled most of the time, enabling it occasionally for a quick sanity check or when debugging difficult application behaviors." + }, + { + "key": "VK_VALIDATION_FEATURE_DISABLE_API_PARAMETERS_EXT", + "label": "Stateless Parameter", + "description": "Stateless parameter checks. This may not always be necessary late in a development cycle." + }, + { + "key": "VK_VALIDATION_FEATURE_DISABLE_OBJECT_LIFETIMES_EXT", + "label": "Object Lifetime", + "description": "Object tracking checks. This may not always be necessary late in a development cycle." + }, + { + "key": "VK_VALIDATION_FEATURE_DISABLE_CORE_CHECKS_EXT", + "label": "Core", + "description": "The main, heavy-duty validation checks. This may be valuable early in the development cycle to reduce validation output while correcting parameter/object usage errors." + }, + { + "key": "VK_VALIDATION_FEATURE_DISABLE_UNIQUE_HANDLES_EXT", + "label": "Handle Wrapping", + "description": "Handle wrapping checks. Disable this feature if you are exerience crashes when creating new extensions or developing new Vulkan objects/structures." + }, + { + "key": "VK_VALIDATION_FEATURE_DISABLE_SHADERS_EXT", + "label": "Shader Validation", + "description": "Shader checks. These checks can be CPU intensive during application start up, especially if Shader Validation Caching is also disabled.", + "view": "ADVANCED" + }, + { + "key": "VALIDATION_CHECK_DISABLE_COMMAND_BUFFER_STATE", + "label": "Command Buffer State", + "description": "Check that all Vulkan objects used by a command buffer have not been destroyed. These checks can be CPU intensive for some applications.", + "view": "ADVANCED" + }, + { + "key": "VALIDATION_CHECK_DISABLE_IMAGE_LAYOUT_VALIDATION", + "label": "Image Layout", + "description": "Check that the layout of each image subresource is correct whenever it is used by a command buffer. These checks are very CPU intensive for some applications.", + "view": "ADVANCED" + }, + { + "key": "VALIDATION_CHECK_DISABLE_QUERY_VALIDATION", + "label": "Query", + "description": "Checks for commands that use VkQueryPool objects.", + "view": "ADVANCED" + }, + { + "key": "VALIDATION_CHECK_DISABLE_OBJECT_IN_USE", + "label": "Object in Use", + "description": "Check that Vulkan objects are not in use by a command buffer when they are destroyed.", + "view": "ADVANCED" + }, + { + "key": "VK_VALIDATION_FEATURE_DISABLE_SHADER_VALIDATION_CACHE_EXT", + "label": "Shader Validation Caching", + "description": "Disable caching of shader validation results.", + "view": "ADVANCED" + } + ], + "default": [ + "VK_VALIDATION_FEATURE_DISABLE_THREAD_SAFETY_EXT" + ] + }, + { + "key": "enables", + "label": "Enables", + "description": "Setting an option here will enable specialized areas of validation", + "type": "FLAGS", + "env": "VK_LAYER_ENABLES", + "flags": [ + { + "key": "VK_VALIDATION_FEATURE_ENABLE_SYNCHRONIZATION_VALIDATION_EXT", + "label": "Synchronization", + "description": "This feature reports resource access conflicts due to missing or incorrect synchronization operations between actions (Draw, Copy, Dispatch, Blit) reading or writing the same regions of memory.", + "url": "${LUNARG_SDK}/synchronization_usage.html", + "status": "STABLE", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ] + }, + { + "key": "VK_VALIDATION_FEATURE_ENABLE_DEBUG_PRINTF_EXT", + "label": "Debug Printf", + "description": "Enables processing of debug printf instructions in shaders and sending debug strings to the debug callback.", + "url": "${LUNARG_SDK}/debug_printf.html", + "status": "STABLE", + "platforms": [ + "WINDOWS", + "LINUX" + ] + }, + { + "key": "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_EXT", + "label": "GPU-Assisted", + "description": "Check for API usage errors at shader execution time.", + "url": "${LUNARG_SDK}/gpu_validation.html", + "platforms": [ + "WINDOWS", + "LINUX" + ] + }, + { + "key": "VK_VALIDATION_FEATURE_ENABLE_GPU_ASSISTED_RESERVE_BINDING_SLOT_EXT", + "label": "Reserve Descriptor Set Binding Slot", + "description": "Specifies that the validation layers reserve a descriptor set binding slot for their own use. The layer reports a value for VkPhysicalDeviceLimits::maxBoundDescriptorSets that is one less than the value reported by the device. If the device supports the binding of only one descriptor set, the validation layer does not perform GPU-assisted validation.", + "platforms": [ + "WINDOWS", + "LINUX" + ] + }, + { + "key": "VK_VALIDATION_FEATURE_ENABLE_BEST_PRACTICES_EXT", + "label": "Best Practices", + "description": "Activating this feature enables the output of warnings related to common misuse of the API, but which are not explicitly prohibited by the specification.", + "url": "${LUNARG_SDK}/best_practices.html", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ] + }, + { + "key": "VALIDATION_CHECK_ENABLE_VENDOR_SPECIFIC_ARM", + "label": "ARM-specific best practices", + "description": "Activating this feature enables the output of warnings related to ARM-specific misuse of the API, but which are not explicitly prohibited by the specification.", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS", + "ANDROID" + ] + }, + { + "key": "VALIDATION_CHECK_ENABLE_VENDOR_SPECIFIC_AMD", + "label": "AMD-specific best practices", + "description": "Adds check for spec-conforming but non-ideal code on AMD GPUs.", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS" + ] + }, + { + "key": "VALIDATION_CHECK_ENABLE_VENDOR_SPECIFIC_IMG", + "label": "IMG-specific best practices", + "description": "Adds check for spec-conforming but non-ideal code on Imagination GPUs.", + "platforms": [ + "WINDOWS", + "LINUX", + "MACOS" + ] + }, + { + "key": "VALIDATION_CHECK_ENABLE_VENDOR_SPECIFIC_NVIDIA", + "label": "NVIDIA-specific best practices", + "description": "Activating this feature enables the output of warnings related to NVIDIA-specific misuse of the API, but which are not explicitly prohibited by the specification.", + "platforms": [ + "WINDOWS", + "LINUX", + "ANDROID" + ] + }, + { + "key": "VALIDATION_CHECK_ENABLE_VENDOR_SPECIFIC_ALL", + "label": "Hardware specific best practices", + "description": "Activating this feature enables all vendor specific best practices.", + "platforms": [ + "WINDOWS", + "LINUX", + "ANDROID" + ] + } + ], + "default": [] + } + ] + } + } +} diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Windows/WinPixEventRuntime/x64/WinPixEventRuntime.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/Windows/WinPixEventRuntime/x64/WinPixEventRuntime.dll new file mode 100644 index 0000000000000000000000000000000000000000..decb67447a2221fdd4a3928d9b8fb95038387b0b Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/Windows/WinPixEventRuntime/x64/WinPixEventRuntime.dll differ diff --git a/build_vr_big_map/Engine/Binaries/ThirdParty/Windows/XAudio2_9/x64/xaudio2_9redist.dll b/build_vr_big_map/Engine/Binaries/ThirdParty/Windows/XAudio2_9/x64/xaudio2_9redist.dll new file mode 100644 index 0000000000000000000000000000000000000000..43fd59f530f879e2368e30a2a383e8fdd2624c76 Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/ThirdParty/Windows/XAudio2_9/x64/xaudio2_9redist.dll differ diff --git a/build_vr_big_map/Engine/Binaries/Win64/EOSSDK-Win64-Shipping.dll b/build_vr_big_map/Engine/Binaries/Win64/EOSSDK-Win64-Shipping.dll new file mode 100644 index 0000000000000000000000000000000000000000..7798ed9b56de4f505adecb2d328cf8a6237bb16b Binary files /dev/null and b/build_vr_big_map/Engine/Binaries/Win64/EOSSDK-Win64-Shipping.dll differ diff --git a/build_vr_big_map/Engine/Config/StagedBuild_vr_great_ryc.ini b/build_vr_big_map/Engine/Config/StagedBuild_vr_great_ryc.ini new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/build_vr_big_map/Engine/Content/Renderer/TessellationTable.bin b/build_vr_big_map/Engine/Content/Renderer/TessellationTable.bin new file mode 100644 index 0000000000000000000000000000000000000000..b0ce275e8d7392e58685a4e3b5d8b7d2afbca85d Binary files /dev/null and b/build_vr_big_map/Engine/Content/Renderer/TessellationTable.bin differ diff --git a/build_vr_big_map/Engine/Content/Slate/Cursor/invisible.cur b/build_vr_big_map/Engine/Content/Slate/Cursor/invisible.cur new file mode 100644 index 0000000000000000000000000000000000000000..0b2a2a425cb6baa1049a20864987d879dd31450b Binary files /dev/null and b/build_vr_big_map/Engine/Content/Slate/Cursor/invisible.cur differ diff --git a/build_vr_big_map/Engine/Content/SlateDebug/Fonts/LastResort.tps b/build_vr_big_map/Engine/Content/SlateDebug/Fonts/LastResort.tps new file mode 100644 index 0000000000000000000000000000000000000000..1e9b8837c41871098a58ca9690bd2137e91b8b85 --- /dev/null +++ b/build_vr_big_map/Engine/Content/SlateDebug/Fonts/LastResort.tps @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<TpsData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <Name>Last Resort Font</Name> + <Location>/Engine/Content/SlateDebug/Fonts/LastResort.ttf</Location> + <Date>2016-06-10T14:17:31.3888811-04:00</Date> + <Function>The Last Resort font is a collection of glyphs to represent types of Unicode characters</Function> + <Justification>These glyphs are designed to allow users to recognize an encoded value in scenarios where the desired font doesn’t provide a character</Justification> + <Eula>http://www.unicode.org/policies/lastresortfont_eula.html</Eula> + <RedistributeTo> + <EndUserGroup>Licensees</EndUserGroup> + <EndUserGroup>Git</EndUserGroup> + <EndUserGroup>P4</EndUserGroup> + </RedistributeTo> + <LicenseFolder>/Engine/Source/ThirdParty/Licenses/LastResortFont_License.txt</LicenseFolder> +</TpsData> \ No newline at end of file diff --git a/build_vr_big_map/Engine/Content/SlateDebug/Fonts/LastResort.ttf b/build_vr_big_map/Engine/Content/SlateDebug/Fonts/LastResort.ttf new file mode 100644 index 0000000000000000000000000000000000000000..58348ffd32858c00ac655b9358dda50e7c0c3a38 Binary files /dev/null and b/build_vr_big_map/Engine/Content/SlateDebug/Fonts/LastResort.ttf differ diff --git a/build_vr_big_map/Engine/Extras/GPUDumpViewer/GPUDumpViewer.html b/build_vr_big_map/Engine/Extras/GPUDumpViewer/GPUDumpViewer.html new file mode 100644 index 0000000000000000000000000000000000000000..f23c5f8660464b6093caefd283017df9451a455b --- /dev/null +++ b/build_vr_big_map/Engine/Extras/GPUDumpViewer/GPUDumpViewer.html @@ -0,0 +1,6619 @@ +<!-- Copyright Epic Games, Inc. All Rights Reserved. --> +<html> +<title>GPU Dump Viewer</title> + +<script type="text/javascript"> + + +// -------------------------------------------------------------------- CONSTANTS + +const k_current_dir = "./"; + +const k_style_scroll_width = 8; +const k_style_padding_size = 10; +const k_style_main_div_margin = 15; + +const k_null_json_ptr = "00000000000000000000"; + +const k_texture_zoom_local_storage = 'texture_zoom'; + + +// -------------------------------------------------------------------- GLOBALS + +var g_dump_service = {}; +var g_infos = {}; +var g_dump_cvars = {}; +var g_passes = []; +var g_descs = {}; + +var g_view = null; + + +// -------------------------------------------------------------------- GLOBALS + +class IView +{ + constructor() + { + + } + + setup_html(parent) + { + parent.innerHTML = ''; + } + + resize(ctx) + { + + } + + get navigations() + { + return []; + } + + release() + { + + } +} + +function set_main_view(new_view) +{ + var parent_dom = document.getElementById('main_right_pannel'); + if (g_view !== null) + { + g_view.release(); + delete g_view; + parent_dom.innerHTML = ''; + } + g_view = new_view; + if (g_view !== null) + { + g_view.setup_html(parent_dom); + onresize_body(); + } +} + + +// -------------------------------------------------------------------- FILE LOADING + +function does_file_exists(relative_path) +{ + try + { + var request = new XMLHttpRequest(); + request.open('HEAD', k_current_dir + relative_path, false); + request.send(null); + return request.status != 404; + } + catch (error) + { + return false; + } + return false; +} + +function load_text_file(relative_path) +{ + try + { + var request = new XMLHttpRequest(); + request.open('GET', k_current_dir + relative_path, false); + request.send(null); + if (request.status === 0 || request.status === 200) + { + return request.responseText; + } + add_console_event('error', `couldn't load ${relative_path}: Returned HTTP status ${request.status}`); + } + catch (error) + { + add_console_event('error', `couldn't load ${relative_path}: ${error}`); + } + return null; +} + +function load_binary_file(relative_path, callback) +{ + try + { + var request = new XMLHttpRequest(); + request.open('GET', k_current_dir + relative_path, true); + request.responseType = "arraybuffer"; + + request.onload = function(event) + { + var array_buffer = request.response; + if ((request.status === 0 || request.status === 200) && array_buffer) + { + callback(array_buffer); + } + else + { + add_console_event('error', `couldn't load ${relative_path}: Returned HTTP status ${request.status}`); + callback(null); + } + }; + + request.onerror = function() { + add_console_event('error', `couldn't load ${relative_path}`); + callback(null); + }; + + request.send(null); + } + catch (error) + { + add_console_event('error', `couldn't load ${relative_path}: ${error}`); + callback(null); + } +} + +function load_resource_binary_file(relative_path, callback) +{ + return load_binary_file(relative_path, function(raw_texture_data) + { + var compression_type = ''; + if (g_dump_service['CompressionName'] == 'Zlib') + { + compression_type = 'deflate'; + } + else if (g_dump_service['CompressionName'] == 'GZip') + { + compression_type = 'gzip'; + } + + if (raw_texture_data === null || compression_type == '') + { + return callback(raw_texture_data); + } + + var decompressor = new DecompressionStream(compression_type); + var decompressed_stream = new Blob([raw_texture_data]).stream().pipeThrough(decompressor); + new Response(decompressed_stream).arrayBuffer().then(callback, function() { callback(null); }); + }); +} + +function load_json(relative_path) +{ + var txt = load_text_file(relative_path); + + if (txt === null) + { + return null; + } + + return JSON.parse(load_text_file(relative_path)); +} + +function load_json_dict_sequence(relative_path) +{ + var text_file = load_text_file(relative_path); + if (text_file == '') + { + return new Array(); + } + var dicts = text_file.split("}{"); + var dict_sequence = []; + dicts.forEach(function(value, index, array) { + if (!value.startsWith('{')) + { + value = '{' + value; + } + if (!value.endsWith('}')) + { + value = value + '}'; + } + dict_sequence.push(JSON.parse(value)); + }); + return dict_sequence; +} + +function get_resource_desc(unique_resource_name) +{ + return g_descs[unique_resource_name]; +} + +function load_structure_metadata(structure_ptr) +{ + var cache = {}; + + function load_nested_structure_metadata(nested_structure_ptr) + { + if (nested_structure_ptr in cache) + { + return cache[nested_structure_ptr]; + } + + var metadata = load_json(`StructuresMetadata/${nested_structure_ptr}.json`); + cache[nested_structure_ptr] = metadata; + + for (var member of metadata['Members']) + { + if (member['StructMetadata'] == k_null_json_ptr) + { + member['StructMetadata'] = null; + } + else + { + member['StructMetadata'] = load_nested_structure_metadata(member['StructMetadata']); + } + } + + return metadata; + } + + return load_nested_structure_metadata(structure_ptr); +} + + +// -------------------------------------------------------------------- LOCAL STORAGE + +function set_local_storage(name, value) +{ + if (typeof value === 'object') + { + value = JSON.stringify(value); + } + else if (typeof value === 'string') + { + // NOP + } + else + { + console.error('unknown type'); + } + + localStorage.setItem(name, value); +} + +function get_local_storage(name) +{ + var value = localStorage.getItem(name); + if (value == null) + { + return null; + } + + if (value[0] === '{') + { + value = JSON.parse(value); + } + return value; +} + +function remove_local_storage(name) +{ + return localStorage.removeItem(name); +} + +function clear_local_storage() +{ + localStorage.clear(); +} + +function test_local_storage() +{ + clear_local_storage(); + console.assert(get_local_storage("doesntexist") == null); + + set_local_storage("hello", "world"); + console.assert(get_local_storage("hello") == "world"); + + remove_local_storage("hello"); + console.assert(get_local_storage("hello") == null); + + set_local_storage("hello", "world"); + console.assert(get_local_storage("hello") == "world"); + + clear_local_storage(); + console.assert(get_local_storage("hello") == null); + + set_local_storage("hello", {"world": "cat"}); + console.assert(get_local_storage("hello")["world"] == "cat"); + + clear_local_storage(); +} + + +// -------------------------------------------------------------------- UTILITY + +function get_filename(file_path) +{ + return file_path.split(/(\\|\/)/g).pop(); +} + +function px_string_to_int(str) +{ + if (Number.isInteger(str)) + { + return str; + } + if (str.endsWith('px')) + { + return Number(str.substring(0, str.length - 2)); + } + return Number(str); +} + +function parse_subresource_unique_name(subresource_unique_name) +{ + var splitted_name = subresource_unique_name.split("."); + + var subresource_info = {}; + subresource_info['subresource'] = null; + subresource_info['array_slice'] = null; + + if (splitted_name[splitted_name.length - 1].startsWith('mip') || splitted_name[splitted_name.length - 1] == 'stencil') + { + subresource_info['subresource'] = splitted_name.pop(); + } + + if (splitted_name[splitted_name.length - 1].startsWith('[') && splitted_name[splitted_name.length - 1].endsWith(']')) + { + var array_slice_bracket = splitted_name.pop(); + subresource_info['array_slice'] = parseInt(array_slice_bracket.substring(1, array_slice_bracket.length - 1)); + } + + subresource_info['resource'] = splitted_name.join('.'); + + return subresource_info; +} + +function get_subresource_unique_name(subresource_info) +{ + var subresource_unique_name = subresource_info['resource']; + if (subresource_info['array_slice'] !== null) + { + subresource_unique_name += `.[${subresource_info['array_slice']}]`; + } + if (subresource_info['subresource'] !== null) + { + subresource_unique_name += `.${subresource_info['subresource']}`; + } + return subresource_unique_name; +} + +function prettify_subresource_unique_name(subresource_info, resource_desc) +{ + if (!resource_desc) + { + return get_subresource_unique_name(subresource_info); + } + + var name = resource_desc['Name']; + + if (subresource_info['array_slice'] !== null) + { + name += ` slice[${subresource_info['array_slice']}]`; + } + + if (subresource_info['subresource'] !== null && (subresource_info['subresource'] == 'stencil' || resource_desc['NumMips'] > 1)) + { + name += ` ${subresource_info['subresource']}`; + } + + return name; +} + +function parse_subresource_unique_version_name(subresource_unique_version_name) +{ + var splitted_name = subresource_unique_version_name.split("."); + + var pass_ptr = -1; + var draw_id = -1; + + var last = splitted_name.pop(); + if (last.startsWith('d')) + { + draw_id = parseInt(last.substring(1)); + last = splitted_name.pop(); + } + + if (last.startsWith('v')) + { + pass_ptr = last.substring(1); + } + + var subresource_unique_name = splitted_name.join('.'); + var subresource_version_info = parse_subresource_unique_name(subresource_unique_name); + + subresource_version_info['pass'] = pass_ptr; + subresource_version_info['draw'] = draw_id; + return subresource_version_info; +} + +function get_subresource_unique_version_name(subresource_version_info) +{ + if (subresource_version_info['draw'] >= 0) + { + return `${get_subresource_unique_name(subresource_version_info)}.v${subresource_version_info['pass']}.d${subresource_version_info['draw']}`; + } + return `${get_subresource_unique_name(subresource_version_info)}.v${subresource_version_info['pass']}`; +} + + +// -------------------------------------------------------------------- SHADER PARAMETERS + +function iterate_structure_members(root_structure_metadata, callback) +{ + function iterate_recursive(structure_metadata, offset, cpp_prefix, shader_prefix) + { + for (var member of structure_metadata['Members']) + { + var base_type = member['BaseType']; + + if (base_type == 'UBMT_NESTED_STRUCT') + { + iterate_recursive(member['StructMetadata'], offset + member['Offset'], cpp_prefix + member['Name'] + '.', shader_prefix + member['Name'] + '_'); + } + else if (base_type == 'UBMT_INCLUDED_STRUCT') + { + iterate_recursive(member['StructMetadata'], offset + member['Offset'], cpp_prefix + member['Name'] + '.', shader_prefix); + } + else + { + var params = { + member: member, + base_type: base_type, + byte_offset: offset + member['Offset'], + cpp_name: cpp_prefix + member['Name'], + shader_name: shader_prefix + member['Name'], + }; + callback(params); + } + } + } + + iterate_recursive(root_structure_metadata, /* offset = */ 0, /* cpp_prefix = */ '', /* shader_prefix = */ ''); +} + + +// -------------------------------------------------------------------- FLOAT ENCODING + +function decode_float(raw, total_bit_count, exp_bit_count, has_sign) +{ + var exp_bias = (1 << (exp_bit_count - 1)) - 1; + var mantissa_bit_count = total_bit_count - exp_bit_count - (has_sign ? 1 : 0); + + var sign_bit = (raw >> (total_bit_count - 1)) & 0x1; + var mantissa_bits = (raw >> 0) & ((0x1 << mantissa_bit_count) - 1); + var exp_bits = (raw >> mantissa_bit_count) & ((0x1 << exp_bit_count) - 1); + + var is_max_exp = exp_bits == ((0x1 << exp_bit_count) - 1); + + var is_denormal = exp_bits == 0; + var is_infinity = is_max_exp && mantissa_bits == 0; + var is_nan = is_max_exp && mantissa_bits != 0; + + var exp = exp_bits - exp_bias; + var mantissa = mantissa_bits * Math.pow(0.5, mantissa_bit_count); + var sign = (has_sign && (sign_bit == 1)) ? -1 : 1; + + if (is_nan) + { + return 'nan'; + } + else if (is_infinity) + { + return sign == -1 ? '-inf' : '+inf'; + } + else if (is_denormal) + { + var value = sign * mantissa * Math.pow(0.5, exp_bias - 1); + return value; + } + else + { + var value = sign * (1.0 + mantissa) * Math.pow(2.0, exp); + return value; + } +} + +function decode_float10(raw) +{ + return decode_float(raw, /* total_bit_count = */ 10, /* exp_bit_count = */ 5, /* has_sign = */ false); +} + +function decode_float11(raw) +{ + return decode_float(raw, /* total_bit_count = */ 11, /* exp_bit_count = */ 5, /* has_sign = */ false); +} + +function decode_float16(raw) +{ + return decode_float(raw, /* total_bit_count = */ 16, /* exp_bit_count = */ 5, /* has_sign = */ true); +} + +function decode_float32(raw) +{ + return decode_float(raw, /* total_bit_count = */ 32, /* exp_bit_count = */ 8, /* has_sign = */ true); +} + +function test_decode_float() +{ + var tests = [ + // Zero + [0x0000, 0.0], + [0x8000, -0.0], + + // normals + [0x4000, 2.0], + [0xc000, -2.0], + + // denormals + [0x0001, 5.960464477539063e-8], + [0x8001, -5.960464477539063e-8], + + // exotics + [0x7c00, '+inf'], + [0xFc00, '-inf'], + [0x7c01, 'nan'], + [0xFc01, 'nan'], + ]; + + for (var i = 0; i < tests.length; i++) + { + var encoded = tests[i][0]; + var ref = tests[i][1]; + var computed = decode_float16(encoded); + + console.assert(computed == ref); + } +} + + +// -------------------------------------------------------------------- PASS ANALYSIS + +var g_analysis = {}; + +function get_frame_number(pass_data) +{ + var pass_event_scopes = pass_data['ParentEventScopes']; + var frame_event_scope_name = pass_event_scopes[pass_event_scopes.length - 1]; + + const regex = new RegExp("Frame (?<FrameNumber>\\d+).*"); + //const regex = /Frame (?<FrameNumber>\d+) .*"/; + + var found = frame_event_scope_name.match(regex); + return Number(found.groups['FrameNumber']); +} + +function compare_draw_events(ref_draw_event, tested_draw_event) +{ + ref_draw_event = ref_draw_event.replace(/\d+\.d*/g, ''); + ref_draw_event = ref_draw_event.replace(/\d+/g, ''); + + tested_draw_event = tested_draw_event.replace(/\d+\.d*/g, ''); + tested_draw_event = tested_draw_event.replace(/\d+/g, ''); + + return ref_draw_event == tested_draw_event; +} + +function is_pass_output_resource(pass_data, subresource_version_info) +{ + var subresource_unique_name = get_subresource_unique_name(subresource_version_info); + + var is_output_resource = null; + if (pass_data['InputResources'].includes(subresource_unique_name)) + { + is_output_resource = false; + } + else if (pass_data['OutputResources'].includes(subresource_unique_name)) + { + is_output_resource = true; + } + console.assert(is_output_resource !== null); + return is_output_resource; +} + +function find_similar_pass_id_in_frame(current_frame_pass_data, new_frame_id) +{ + var current_pass_event_scopes = current_frame_pass_data['ParentEventScopes']; + + for (var pass_id in g_passes) + { + var pass_data = g_passes[pass_id]; + if (!compare_draw_events(pass_data['EventName'], current_frame_pass_data['EventName'])) + { + continue; + } + + var frame_id = get_frame_number(pass_data); + if (frame_id != new_frame_id) + { + continue; + } + + var pass_event_scopes = pass_data['ParentEventScopes']; + if (pass_event_scopes.length != current_pass_event_scopes.length) + { + continue; + } + else + { + var is_same_parent = true; + for (var parent_scope_id = 0; parent_scope_id < pass_event_scopes.length - 1; parent_scope_id++) + { + is_same_parent = is_same_parent && compare_draw_events(current_pass_event_scopes[parent_scope_id], pass_event_scopes[parent_scope_id]); + } + if (!is_same_parent) + { + continue; + } + } + + return Number(pass_id); + } + + return null; +} + +function find_similar_resource_in_pass(current_frame_pass_data, current_frame_resource_desc, current_frame_subresource_info, new_pass_data) +{ + var is_output_resource = is_pass_output_resource(current_frame_pass_data, current_frame_subresource_info); + + var new_pass_resource_list = is_output_resource ? new_pass_data['OutputResources'] : new_pass_data['InputResources']; + + for (var new_pass_subresource_unique_name of new_pass_resource_list) + { + var new_pass_subresource_info = parse_subresource_unique_name(new_pass_subresource_unique_name); + if (new_pass_subresource_info['subresource'] !== current_frame_subresource_info['subresource']) + { + continue; + } + if (new_pass_subresource_info['array_slice'] !== current_frame_subresource_info['array_slice']) + { + continue; + } + + var new_pass_resource_desc = get_resource_desc(new_pass_subresource_info['resource']); + if (new_pass_resource_desc['Name'] !== current_frame_resource_desc['Name']) + { + continue; + } + + return new_pass_subresource_info; + } + + // try to find with non matching array_slice + for (var new_pass_subresource_unique_name of new_pass_resource_list) + { + var new_pass_subresource_info = parse_subresource_unique_name(new_pass_subresource_unique_name); + if (new_pass_subresource_info['subresource'] !== current_frame_subresource_info['subresource']) + { + continue; + } + + var new_pass_resource_desc = get_resource_desc(new_pass_subresource_info['resource']); + if (new_pass_resource_desc['Name'] !== current_frame_resource_desc['Name']) + { + continue; + } + + return new_pass_subresource_info; + } + + + return null; +} + +function analyses_passes() +{ + var frames = []; + + for (var pass_id in g_passes) + { + var pass_data = g_passes[pass_id]; + + var frame_id = get_frame_number(pass_data); + + if (!frames.includes(frame_id)) + { + frames.push(frame_id); + } + } + + g_analysis['FrameList'] = frames; +} + + +// -------------------------------------------------------------------- DISPLAY PASS + +function display_pass_hierarchy() +{ + var search_pass = document.getElementById('pass_search_input').value; + var search_resource = document.getElementById('resource_search_input').value; + var html = ''; + var parent_event_scopes = []; + + g_passes.forEach(function(pass_data, pass_id) { + var pass_event_scopes = pass_data['ParentEventScopes']; + + var show_pass = true; + if (search_pass != '') + { + show_pass = pass_data['EventName'].toLowerCase().includes(search_pass.toLowerCase()); + + for (var i = 0; i < pass_event_scopes.length; i++) + { + show_pass = show_pass || pass_event_scopes[i].toLowerCase().includes(search_pass.toLowerCase()); + } + } + + var show_resource = true; + if (search_resource != '') + { + show_resource = false; + for (var subresource_unique_name of pass_data['InputResources']) + { + var resource_unique_name = parse_subresource_unique_name(subresource_unique_name)['resource']; + var resource_name = get_resource_desc(resource_unique_name)['Name']; + show_resource = show_resource || resource_name.toLowerCase().includes(search_resource.toLowerCase()); + } + for (var subresource_unique_name of pass_data['OutputResources']) + { + var resource_unique_name = parse_subresource_unique_name(subresource_unique_name)['resource']; + var resource_name = get_resource_desc(resource_unique_name)['Name']; + show_resource = show_resource || resource_name.toLowerCase().includes(search_resource.toLowerCase()); + } + } + + var has_input_or_outputs = pass_data['InputResources'].length > 0 || pass_data['OutputResources'].length > 0; + + if (show_pass && show_resource && has_input_or_outputs) + { + var shared_scope = 0; + for (var i = 0; i < Math.min(parent_event_scopes.length, pass_event_scopes.length); i++) + { + if (parent_event_scopes[i] == pass_event_scopes[pass_event_scopes.length - 1 - i]) + { + shared_scope++; + } + else + { + break; + } + } + + parent_event_scopes = parent_event_scopes.slice(0, shared_scope); + + for (var i = shared_scope; i < pass_event_scopes.length; i++) + { + var scope = pass_event_scopes[pass_event_scopes.length - 1 - i]; + html += `<a style="padding-left: ${10 + 16 * i}px;" class="disabled">${scope}</a>`; + parent_event_scopes.push(scope); + } + + html += `<a style="padding-left: ${10 + 16 * pass_event_scopes.length}px;" href="#display_pass(${pass_id});">${pass_data['EventName']}</a>`; + } + }); + document.getElementById('pass_hierarchy').innerHTML = html; + update_href_selection(document.getElementById('pass_hierarchy')); +} + +class ResourceView extends IView +{ + constructor(subresource_version_info, resource_desc) + { + super(); + this.subresource_version_info = subresource_version_info; + this.resource_desc = resource_desc; + this.onload = function() { }; + } + + get navigations() + { + return []; + } +} + +class PassView extends IView +{ + constructor(pass_id) + { + super(); + this.pass_id = pass_id; + this.pass_data = g_passes[pass_id]; + this.pass_draws_data = []; + this.resource_view = null; + + if (this.pass_data['DrawCount'] > 0) + { + this.pass_draws_data = load_json_dict_sequence(`Passes/Pass.${this.pass_data['Pointer']}.Draws.json`); + } + } + + setup_html(parent_dom) + { + var column_width = '50%'; + var draw_column_display = 'none'; + + if (this.pass_draws_data.length > 0) + { + column_width = '33%'; + draw_column_display = 'block'; + } + + parent_dom.innerHTML = ` + <div class="pass_title main_div"> + <div id="pass_frame_list" style="display:none;"></div> + ${this.pass_data['EventName']} + <div class="button_list" style="display:inline-block;"><a href="#display_pass_parameters(${this.pass_id});">PassParameters</a></div> + </div> + <table width="100%"> + <tr> + <td width="${column_width}"> + <div class="main_div"> + <div class="selection_list_title">Input resources</div> + <div class="selection_list_search"> + <input type="search" id="pass_input_resource_search" oninput="g_view.refresh_input_resource_list();" onchange="g_view.refresh_input_resource_list();" placeholder="Search input resource..." /> + </div> + <div class="selection_list" id="pass_input_resource_list"></div> + </div> + </td> + <td width="${column_width}"> + <div class="main_div"> + <div class="selection_list_title">Output resources</div> + <div class="selection_list_search"> + <input type="search" id="pass_output_resource_search" oninput="g_view.refresh_output_resource_list();" onchange="g_view.refresh_output_resource_list();" placeholder="Search output resource..." /> + </div> + <div class="selection_list" id="pass_output_resource_list"></div> + </div> + </td> + <td width="${column_width}"> + <div class="main_div" style="display: ${draw_column_display};"> + <div class="selection_list_title">Draws</div> + <div class="selection_list_search"> + <input type="search" id="pass_draw_search" oninput="g_view.refresh_draw_resource_list();" onchange="g_view.refresh_draw_resource_list();" placeholder="Search draw..." /> + </div> + <div class="selection_list" id="pass_draw_list"></div> + </div> + </td> + </tr> + </table> + <div id="display_resource_pannel"></div> + <table width="100%"> + <tr> + <td width="50%"> + <div class="main_div" id="resource_pass_modifying_outter"> + <div class="selection_list_title" id="resource_pass_modifying_title"></div> + <div class="selection_list_search"> + <input type="search" id="resource_pass_modifying_search" oninput="g_view.refresh_resource_modifying_list();" onchange="g_view.refresh_resource_modifying_list();" placeholder="Search modifying pass..." /> + </div> + <div class="selection_list" id="resource_pass_modifying_list"></div> + </div> + </td> + <td width="50%"> + <div class="main_div" id="resource_pass_reading_outter"> + <div class="selection_list_title" id="resource_pass_reading_title"></div> + <div class="selection_list_search"> + <input type="search" id="resource_pass_reading_search" oninput="g_view.refresh_resource_reading_list();" onchange="g_view.refresh_resource_reading_list();" placeholder="Search reading pass..." /> + </div> + <div class="selection_list" id="resource_pass_reading_list"></div> + </div> + </td> + </tr> + </table> + `; + } + + refresh_all_lists() + { + this.refresh_frames_lists(); + this.refresh_input_resource_list(); + this.refresh_output_resource_list(); + this.refresh_draw_resource_list(); + this.refresh_resource_modifying_list(); + this.refresh_resource_reading_list(); + } + + refresh_frames_lists() + { + if (g_analysis['FrameList'].length == 1) + { + return; + } + + if (this.resource_view === null) + { + document.getElementById('pass_frame_list').style.display = 'none'; + return; + } + + var pass_data = this.pass_data; + var subresource_version_info = this.resource_view.subresource_version_info; + + var current_frame_number = get_frame_number(this.pass_data); + var prev_frame_number = g_analysis['FrameList'].includes(current_frame_number - 1) ? current_frame_number - 1 : g_analysis['FrameList'][g_analysis['FrameList'].length - 1]; + var next_frame_number = g_analysis['FrameList'].includes(current_frame_number + 1) ? current_frame_number + 1 : g_analysis['FrameList'][0]; + + var prev_frame_pass_id = find_similar_pass_id_in_frame(this.pass_data, prev_frame_number); + var next_frame_pass_id = find_similar_pass_id_in_frame(this.pass_data, next_frame_number); + + if (prev_frame_pass_id == null || next_frame_pass_id == null) + { + document.getElementById('pass_frame_list').style.display = 'none'; + return; + } + + var prev_frame_href = ''; + var next_frame_href = ''; + if (this.resource_view.resource_desc['Desc'] == 'FRDGParameterStruct') + { + prev_frame_href = `#display_pass_parameters(${prev_frame_pass_id});`; + next_frame_href = `#display_pass_parameters(${next_frame_pass_id});`; + } + else + { + var prev_frame_pass_data = g_passes[prev_frame_pass_id]; + var next_frame_pass_data = g_passes[next_frame_pass_id]; + + var is_output_resource = is_pass_output_resource(this.pass_data, this.resource_view.subresource_version_info); + var prev_frame_subresource_info = find_similar_resource_in_pass(this.pass_data, this.resource_view.resource_desc, this.resource_view.subresource_version_info, prev_frame_pass_data); + var next_frame_subresource_info = find_similar_resource_in_pass(this.pass_data, this.resource_view.resource_desc, this.resource_view.subresource_version_info, next_frame_pass_data); + + var prev_frame_href = ''; + var next_frame_href = ''; + if (prev_frame_subresource_info == null || next_frame_subresource_info == null) + { + document.getElementById('pass_frame_list').style.display = 'none'; + return; + } + else if (is_output_resource) + { + prev_frame_href = `#display_output_resource(${prev_frame_pass_id},'${get_subresource_unique_name(prev_frame_subresource_info)}');`; + next_frame_href = `#display_output_resource(${next_frame_pass_id},'${get_subresource_unique_name(next_frame_subresource_info)}');`; + } + else + { + prev_frame_href = `#display_input_resource(${prev_frame_pass_id},'${get_subresource_unique_name(prev_frame_subresource_info)}');`; + next_frame_href = `#display_input_resource(${next_frame_pass_id},'${get_subresource_unique_name(next_frame_subresource_info)}');`; + } + } + + document.getElementById('pass_frame_list').style.display = 'inline-block'; + document.getElementById('pass_frame_list').innerHTML = ` + <div class="button_list" style="display:inline-block;"><a href="${prev_frame_href}">-</a><a title="Id of the current frame">${current_frame_number}</a><a href="${next_frame_href}">+</a></div> + `; + } + + refresh_input_resource_list() + { + var display_list = []; + for (const subresource_unique_name of this.pass_data['InputResources']) + { + var subresource_info = parse_subresource_unique_name(subresource_unique_name); + var resource_desc = get_resource_desc(subresource_info['resource']); + + var name = prettify_subresource_unique_name(subresource_info, resource_desc); + var href = null; + if (resource_desc) + { + href = `#display_input_resource(${this.pass_id},'${subresource_unique_name}');` + } + + display_list.push({'name': name, 'href': href}); + } + + render_selection_list_html( + document.getElementById('pass_input_resource_list'), + display_list, + { + 'search': document.getElementById('pass_input_resource_search').value, + 'deduplicate': true, + 'sort': true + }); + } + + refresh_output_resource_list() + { + var draw_id = -1; + if (this.resource_view) + { + draw_id = this.resource_view.subresource_version_info['draw']; + } + + var display_list = []; + for (const subresource_unique_name of this.pass_data['OutputResources']) + { + var subresource_info = parse_subresource_unique_name(subresource_unique_name); + var resource_desc = get_resource_desc(subresource_info['resource']); + + var name = prettify_subresource_unique_name(subresource_info, resource_desc); + var href = null; + if (resource_desc) + { + if (draw_id >= 0) + { + href = `#display_draw_output_resource(${this.pass_id},'${subresource_unique_name}',${draw_id});`; + } + else + { + href = `#display_output_resource(${this.pass_id},'${subresource_unique_name}');`; + } + } + + display_list.push({'name': name, 'href': href}); + } + + render_selection_list_html( + document.getElementById('pass_output_resource_list'), + display_list, + { + 'search': document.getElementById('pass_output_resource_search').value, + }); + } + + refresh_draw_resource_list() + { + var is_output_resource = false; + var subresource_unique_name = ''; + if (this.resource_view) + { + is_output_resource = is_pass_output_resource(this.pass_data, this.resource_view.subresource_version_info); + subresource_unique_name = get_subresource_unique_name(this.resource_view.subresource_version_info); + } + + var display_list = []; + for (var draw_id = 0; draw_id < this.pass_draws_data.length; draw_id++) + { + var href = null; + if (subresource_unique_name && is_output_resource) + { + href = `#display_draw_output_resource(${this.pass_id},'${subresource_unique_name}',${draw_id});`; + } + + display_list.push({ + 'name': `${draw_id}: ${this.pass_draws_data[draw_id]['DrawName']}`, + 'href': href + }); + } + + if (subresource_unique_name) + { + var href = null; + if (is_output_resource) + { + href = `#display_output_resource(${this.pass_id},'${subresource_unique_name}');`; + } + + display_list.push({ + 'name': 'Final pass output', + 'href': href + }); + } + + render_selection_list_html( + document.getElementById('pass_draw_list'), + display_list, + { + 'search': document.getElementById('pass_draw_search').value, + }); + } + + refresh_resource_modifying_list() + { + if (this.resource_view === null || this.resource_view.resource_desc['Desc'] == 'FRDGParameterStruct') + { + document.getElementById('resource_pass_modifying_outter').style.display = 'none'; + return; + } + document.getElementById('resource_pass_modifying_outter').style.display = 'block'; + + var subresource_unique_name = get_subresource_unique_name(this.resource_view.subresource_version_info); + var resource_desc = get_resource_desc(this.resource_view.subresource_version_info['resource']); + + var display_list = []; + for (var pass_id = 0; pass_id < g_passes.length; pass_id++) + { + var producer = false; + g_passes[pass_id]['OutputResources'].forEach(function(value) { + if (value == subresource_unique_name) + { + producer = true; + } + }); + + if (producer) + { + display_list.push({ + 'name': g_passes[pass_id]['EventName'], + 'href': `#display_output_resource(${pass_id},'${subresource_unique_name}');`, + }); + } + } + + document.getElementById('resource_pass_modifying_title').innerHTML = `Passes modifying ${resource_desc['Name']}`; + render_selection_list_html( + document.getElementById('resource_pass_modifying_list'), + display_list, + { + 'search': document.getElementById('resource_pass_modifying_search').value, + }); + } + + refresh_resource_reading_list() + { + if (this.resource_view === null || this.resource_view.resource_desc['Desc'] == 'FRDGParameterStruct') + { + document.getElementById('resource_pass_reading_outter').style.display = 'none'; + return; + } + document.getElementById('resource_pass_reading_outter').style.display = 'block'; + + var subresource_unique_name = get_subresource_unique_name(this.resource_view.subresource_version_info); + var resource_desc = get_resource_desc(this.resource_view.subresource_version_info['resource']); + + var display_list = []; + for (var pass_id = 0; pass_id < g_passes.length; pass_id++) + { + var reader = false; + g_passes[pass_id]['InputResources'].forEach(function(value) { + if (value == subresource_unique_name) + { + reader = true; + } + }); + + if (reader) + { + display_list.push({ + 'name': g_passes[pass_id]['EventName'], + 'href': `#display_input_resource(${pass_id},'${subresource_unique_name}');`, + }); + } + } + + document.getElementById('resource_pass_reading_title').innerHTML = `Passes reading ${resource_desc['Name']}`; + render_selection_list_html( + document.getElementById('resource_pass_reading_list'), + display_list, + { + 'search': document.getElementById('resource_pass_reading_search').value, + }); + } + + resize(ctx) + { + if (this.resource_view !== null) + { + this.resource_view.resize(ctx); + } + } + + set_resource_view(new_resource_view) + { + var parent_dom = document.getElementById('display_resource_pannel'); + if (this.resource_view !== null) + { + this.resource_view.release(); + delete this.resource_view; + parent_dom.innerHTML = ''; + } + + this.resource_view = new_resource_view; + if (this.resource_view !== null) + { + this.resource_view.setup_html(parent_dom); + this.refresh_all_lists(); + onresize_body(); + } + } + + get navigations() + { + var navs = [`display_pass(${this.pass_id});`]; + + if (this.resource_view !== null) + { + navs.concat(this.resource_view.navigations); + } + + return navs; + } + + release() + { + this.set_resource_view(null); + } +} + +function display_pass_internal(pass_id) +{ + if (g_view instanceof PassView && pass_id == g_view.pass_id) + { + return; + } + + set_main_view(new PassView(pass_id)); +} + +function display_resource_internal(subresource_version_info) +{ + var resource_desc = get_resource_desc(subresource_version_info['resource']); + if (!resource_desc) + { + return; + } + + if (g_view.resource_view !== null && get_subresource_unique_version_name(g_view.resource_view.subresource_version_info) == get_subresource_unique_version_name(subresource_version_info)) + { + return; + } + + if (resource_desc['Desc'] == 'FRDGBufferDesc') + { + if (resource_desc['Usage'].includes('AccelerationStructure')) + { + g_view.set_resource_view(new RaytracingAccelerationStructureView(subresource_version_info, resource_desc)); + } + else + { + g_view.set_resource_view(new BufferView(subresource_version_info, resource_desc)); + } + } + else if (resource_desc['Desc'] == 'FRDGTextureDesc' && (resource_desc['Type'] == 'Texture2D' || resource_desc['Type'] == 'Texture2DArray')) + { + var new_texture_view = new TextureView(subresource_version_info, resource_desc); + + // Keep the same zoom settings if the subresources are exactly the same extent + { + var zoom_settings = null; + + if (!zoom_settings && g_view && 'resource_view' in g_view && g_view.resource_view instanceof TextureView) + { + var prev_zoom_settings = g_view.resource_view.get_zoom_settings(); + if (new_texture_view.is_zoom_settings_compatible(prev_zoom_settings)) + { + zoom_settings = prev_zoom_settings; + } + } + + if (!zoom_settings) + { + var global_zoom_settings = get_local_storage(k_texture_zoom_local_storage); + if (global_zoom_settings && new_texture_view.is_zoom_settings_compatible(global_zoom_settings)) + { + zoom_settings = global_zoom_settings; + } + } + + if (zoom_settings) + { + new_texture_view.onload = function() { + new_texture_view.apply_zoom_settings(zoom_settings); + }; + } + } + + g_view.set_resource_view(new_texture_view); + } + else + { + add_console_event('error', `Unable to display ${resource_desc['Name']}: ${resource_desc['Desc']} of type ${resource_desc['Type']} is not supported`); + } +} + + +// -------------------------------------------------------------------- HREF FUNCTIONS + +function display_pass(pass_id) +{ + // Load first resource + if (g_passes[pass_id]['OutputResources'][0]) + { + redirect_to_hash(`display_output_resource(${pass_id},'${g_passes[pass_id]['OutputResources'][0]}');`); + } + else if (g_passes[pass_id]['InputResources'][0]) + { + redirect_to_hash(`display_input_resource(${pass_id},'${g_passes[pass_id]['InputResources'][0]}');`); + } + else + { + display_pass_internal(pass_id); + } +} + +function display_input_resource(pass_id, subresource_unique_name) +{ + var previous_producer_pass = -1; + for (var i = 0; i < pass_id; i++) + { + var cur_outputs = g_passes[i]['OutputResources']; + + cur_outputs.forEach(function(value) { + if (value == subresource_unique_name) + { + previous_producer_pass = i; + } + }); + } + + var subresource_version_info = parse_subresource_unique_name(subresource_unique_name); + if (previous_producer_pass >= 0) + { + subresource_version_info['pass'] = g_passes[previous_producer_pass]['Pointer']; + } + else + { + subresource_version_info['pass'] = k_null_json_ptr; + } + + display_pass_internal(pass_id); + display_resource_internal(subresource_version_info); +} + +function display_output_resource(pass_id, subresource_unique_name) +{ + var subresource_version_info = parse_subresource_unique_name(subresource_unique_name); + subresource_version_info['pass'] = g_passes[pass_id]['Pointer']; + + display_pass_internal(pass_id); + display_resource_internal(subresource_version_info); +} + +function display_draw_output_resource(pass_id, subresource_unique_name, draw_id) +{ + var subresource_version_info = parse_subresource_unique_name(subresource_unique_name); + subresource_version_info['pass'] = g_passes[pass_id]['Pointer']; + subresource_version_info['draw'] = draw_id; + + display_pass_internal(pass_id); + display_resource_internal(subresource_version_info); +} + + +// -------------------------------------------------------------------- DISPLAY VIEWER CONSOLE + +var g_console_events = []; +var g_console_error_count = 0; + +class ConsoleEvent +{ + constructor(type, message) + { + this.type = type; + this.message = message; + } +} + +class ConsoleView extends IView +{ + constructor() + { + super(); + } + + setup_html(parent_dom) + { + parent_dom.innerHTML = ` + <div class="main_div"> + <div class="pass_title">Viewer Console</div> + <div id="console_events_pannel"></div> + </div>`; + + document.title = 'Viewer Console'; + this.update_console_events(); + } + + update_console_events() + { + var html = ` + <table width="100%" class="pretty_table">`; + + for (var console_event of g_console_events) + { + html += ` + <tr class="${console_event.type}"> + <td>${console_event.type}: ${console_event.message}</td> + </tr>`; + }; + + html += ` + </table>`; + + document.getElementById('console_events_pannel').innerHTML = html; + } + + get navigations() + { + return [`display_console();`]; + } +} + +function update_console_button() +{ + if (document.getElementById('console_button') && g_console_error_count > 0) + { + document.getElementById('console_button').classList.add('error'); + document.getElementById('console_button').innerHTML = `Console (${g_console_error_count} Errors)`; + } +} + +function add_console_event(type, message) +{ + console.assert(['error', 'log'].includes(type)); + g_console_events.push(new ConsoleEvent(type, message)); + + if (type == 'error') + { + g_console_error_count += 1; + update_console_button(); + } + + if (g_view instanceof ConsoleView) + { + g_view.update_console_events(); + } +} + +function display_console(tip_id) +{ + set_main_view(new ConsoleView()); +} + +function init_console() +{ + window.addEventListener('error', function(event) { + add_console_event('error', `${event.filename}:${event.fileno}: ${event.message}`); + }); +} + + +// -------------------------------------------------------------------- DISPLAY INFOS + +class InfosView extends IView +{ + constructor() + { + super(); + } + + setup_html(parent_dom) + { + var info_htmls = ''; + { + info_htmls += ` + <table width="100%" class="pretty_table">`; + + for (var key in g_infos) + { + if (g_infos.hasOwnProperty(key)) + { + info_htmls += ` + <tr> + <td width="100px">${key}</td> + <td>${g_infos[key]}</td> + </tr>`; + } + } + + info_htmls += ` + </table>`; + } + + parent_dom.innerHTML = ` + <div class="main_div"> + <div class="pass_title">Infos</div> + <div id="infos_pannel">${info_htmls}</div> + </div>`; + + if (does_file_exists('Base/Screenshot.png')) + { + parent_dom.innerHTML += ` + <div class="main_div"> + <div class="pass_title">Screenshot</div> + <img src="${k_current_dir}/Base/Screenshot.png" style="width: 100%;" /> + </div>`; + } + + document.title = 'Dump infos'; + } + + get navigations() + { + return [`display_infos();`]; + } +} + +function display_infos(tip_id) +{ + set_main_view(new InfosView()); +} + + +// -------------------------------------------------------------------- DISPLAY TIP + +const k_tips = [ + // Dumping process + 'Can use the CTRL+SHIFT+/ keyboard shortcut to summon the DumpGPU command.', + 'Speed up your frame dump by only selecting the passes you need with r.DumpGPU.Root. For instance r.DumpGPU.Root="*PostProcessing*".', + 'Uses r.DumpGPU.Delay to delay the dump of few seconds to have time to repro the issue with gameplay logic (for instance moving arround in the map).', + 'Uses r.DumpGPU.FrameCount to dump more than one frame. This is useful when artifact may be produced only some frames but end up stucked in temporal histories.', + 'Uses r.DumpGPU.FixedTickRate to automatically override the engine\'s tick rate to fixed value when dumping multiple frames.', + 'Uses r.DumpGPU.DumpOnScreenshotTest=1 to automatically produce a GPU dump of the frame producing screenshot in the automated AScreenshotFunctionalTest', + 'GPU dumps can be large and accumulate on your hard drive in your various projects\' Saved/ directories. Set r.DumpGPU.Directory="D:/tmp/DumpGPU/" in your console variables or UE-DumpGPUPath environment variable to dump them all at the same location on your machine.', + 'Uses -cvarsini to override console variables with your own ConsoleVariables.ini file on a cooked build.', + + // General navigations + 'All navigation links can be open in a new tab.', + 'Uses the browser\'s back button to navigate to previously inspected resource.', + 'Make sure to browse the dump informations.', + 'Make sure to browse the console variables.', + 'Make sure to browse the log file.', + 'Share the part of the URL after the # (for instance #display_input_resource(96,\'TSR.AntiAliasing.Noise.000000006b9b2c00.mip0\');) to anyone else whom have this GPU dump to so they too can navigate to the exact same resource view.', + 'Set r.DumpGPU.Viewer.Visualize in your ConsoleVariables.ini so the dump viewer automatically open this RDG output resource at startup.', + + // Buffer visualization + 'Uses the templated FRDGBufferDesc::Create*<FMyStructure>(NumElements) to display your buffer more conveniently with FMyStructure layout in the buffer visualization.', + 'Buffer visualization supports float, half, int, uint, short, ushort, char, uchar, as well as hexadecimal with hex(uint) and binary with bin(uint).', + 'Uses the "Address..." field at the very left of the buffer view\'s header to navigate to a specific address. Supports decimal and 0x prefixed hexadecimal notations.', + + // Texture visualization + 'Click the texture viewer to then zoom in and out with your mouse wheel.', + 'Right click to drag texture viewport arround when zoomed in.', + 'Uses the texture viewer\'s "copy to clipboard" to share your texture visualization to anyone.', +]; + +class TipView extends IView +{ + constructor(tip_id) + { + super(); + this.tip_id = tip_id; + } + + setup_html(parent_dom) + { + parent_dom.innerHTML = ` + <div style="padding-top: 20%; width: 50%; margin: 0 auto; font-size: 14;"> + <div>User tip:</div> + <div style="padding: 20px;">${k_tips[this.tip_id]}</div> + <div class="button_list" style="margin-left: auto; display: block; width: 100px;"> + <a href="#display_tip(${(this.tip_id + 1) % k_tips.length});">Next</a> + </div> + </div>`; + } + + get navigations() + { + return [`display_tip(${this.tip_id});`]; + } +} + +function display_tip(tip_id) +{ + if (tip_id === undefined) + { + tip_id = Math.floor(Math.random() * k_tips.length); + document.title = 'GPU Dump Viewer'; + } + else + { + document.title = `User tip #${tip_id + 1}`; + } + + set_main_view(new TipView(tip_id)); +} + + +// -------------------------------------------------------------------- DISPLAY CONSOLE VARIABLES + +class CVarsView extends IView +{ + constructor() + { + super(); + this.load_cvars(); + } + + setup_html(parent_dom) + { + parent_dom.innerHTML = ` + <div class="main_div"> + <div class="pass_title">Console variables</div> + <div class="selection_list_search"> + <input type="search" id="cvars_search_input" oninput="g_view.refresh_cvars();" onchange="g_view.refresh_cvars();" style="width: 100%;" placeholder="Search console variables..." /> + </div> + <div id="cvars_pannel"></div> + </div>`; + + this.refresh_cvars(); + document.title = 'Console variables'; + } + + load_cvars() + { + var cvars_csv = load_text_file('Base/ConsoleVariables.csv'); + + this.cvars = []; + var cvars_set = new Set(); + var csv_lines = cvars_csv.split('\n'); + for (var i = 1; i < csv_lines.length - 1; i++) + { + var csv_line = csv_lines[i].split(','); + var entry = {}; + entry['name'] = csv_line[0]; + entry['type'] = csv_line[1]; + entry['set_by'] = csv_line[2]; + entry['value'] = csv_line[3]; + + if (!cvars_set.has(entry['name'])) + { + cvars_set.add(entry['name']); + this.cvars.push(entry); + } + } + + this.cvars.sort(function(a, b) + { + if (a['name'] < b['name']) + { + return -1; + } + else if (a['name'] > b['name']) + { + return 1; + } + return 0; + }); + } + + refresh_cvars() + { + var html = ` + <table width="100%" class="pretty_table"> + <tr class="header"> + <td>Name</td> + <td width="15%">Value</td> + <td width="30px">Type</td> + <td width="100px">Set by</td> + </tr>`; + + var cvar_search = document.getElementById('cvars_search_input').value.toLowerCase(); + + this.cvars.forEach(function(cvar) + { + var display = true; + if (cvar_search) + { + display = cvar['name'].toLowerCase().includes(cvar_search); + } + + if (display) + { + html += ` + <tr> + <td>${cvar['name']}</td> + <td>${cvar['value']}</td> + <td>${cvar['type']}</td> + <td>${cvar['set_by']}</td> + </tr>`; + } + }); + + html += ` + </table>`; + + document.getElementById('cvars_pannel').innerHTML = html; + } + + get navigations() + { + return [`display_cvars();`]; + } + + release() + { + this.cvars = null; + } +} + +function display_cvars() +{ + set_main_view(new CVarsView()); +} + + +// -------------------------------------------------------------------- DISPLAY LOG + +function get_log_path() +{ + return `Base/${g_infos['LogFilename']}`; +} + +class LogView extends IView +{ + constructor() + { + super(); + + this.log = []; + + var log = load_text_file(get_log_path()); + if (log) + { + this.log = log.split('\n'); + } + } + + setup_html(parent_dom) + { + parent_dom.innerHTML = ` + <div class="main_div"> + <div class="pass_title">${g_infos['LogFilename']}</div> + <div class="selection_list_search"> + <input type="search" id="log_search_input" oninput="g_view.refresh_log();" onchange="g_view.refresh_log();" style="width: 100%;" placeholder="Search log..." /> + </div> + <div id="log_pannel"></div> + </div>`; + + this.refresh_log(); + document.title = 'Log'; + } + + refresh_log() + { + var html = ` + <table width="100%" class="pretty_table">`; + + var log_search = document.getElementById('log_search_input').value.toLowerCase(); + + this.log.forEach(function(log_line) + { + var display = true; + if (log_search) + { + display = log_line.toLowerCase().includes(log_search); + } + + if (display) + { + html += ` + <tr> + <td>${log_line}</td> + </tr>`; + } + }); + + html += ` + </table>`; + + document.getElementById('log_pannel').innerHTML = html; + } + + get navigations() + { + return [`display_log();`]; + } + + resize(ctx) + { + document.getElementById('log_pannel').style.width = `${ctx.width - 2 * k_style_padding_size}px`; + document.getElementById('log_pannel').style.height = `${ctx.height - 2 * k_style_padding_size - 75}px`; + document.getElementById('log_pannel').style.overflow = `scroll`; + } + + release() + { + this.log = null; + } +} + +function display_log() +{ + set_main_view(new LogView()); +} + + + +// -------------------------------------------------------------------- WEBGL UTILS + +function verify_backbuffer_color_space(gl) +{ + // https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/drawingBufferColorSpace + const desired_color_space = 'srgb'; + if (gl.drawingBufferColorSpace !== desired_color_space) + { + add_console_event('error', `WebGL backbuffer's color space isn't ${desired_color_space}, it is ${gl.drawingBufferColorSpace}`); + } +} + +function copy_canvas_to_clipboard(canvas, text) +{ + canvas.toBlob(function(image_blob) { + var text_blob = new Blob([text], { type: 'text/plain' }); + var clipboard_data = { + [text_blob.type]: text_blob, + [image_blob.type]: image_blob, + }; + + navigator.clipboard.write([new ClipboardItem(clipboard_data)]); + }, 'image/png'); +} + +function gl_create_vertex_buffer(gl, vertices) +{ + var webgl_vertex_buffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, webgl_vertex_buffer); + gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW); + gl.bindBuffer(gl.ARRAY_BUFFER, null); + return webgl_vertex_buffer; +} + +function gl_create_index_buffer(gl, indices) +{ + var webgl_index_buffer = gl.createBuffer(); + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, webgl_index_buffer); + gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indices, gl.STATIC_DRAW); + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null); + return webgl_index_buffer; +} + +function gl_create_shader(gl, shader_type, shader_code) +{ + const shader_std = `#version 300 es + +precision highp float; +precision highp int; +precision highp sampler2D; +precision highp usampler2D; + +struct FloatInfos +{ + bool is_denormal; + bool is_infinity; + bool is_nan; +}; + +FloatInfos decodeFloat(float x) +{ + const uint mantissa_bit_count = 23u; + const uint exp_bit_count = 8u; + + uint raw = floatBitsToUint(x); + + uint sign_bit = (raw >> (mantissa_bit_count + exp_bit_count)) & 0x1u; + uint mantissa_bits = (raw >> 0u) & ((0x1u << mantissa_bit_count) - 1u); + uint exp_bits = (raw >> mantissa_bit_count) & ((0x1u << exp_bit_count) - 1u); + + bool is_max_exp = exp_bits == ((0x1u << exp_bit_count) - 1u); + + FloatInfos infos; + infos.is_denormal = exp_bits == 0u; + infos.is_infinity = is_max_exp && mantissa_bits == 0u; + infos.is_nan = is_max_exp && mantissa_bits != 0u; + + return infos; +} + +#define isnan(x) decodeFloat(x).is_nan +#define isinf(x) decodeFloat(x).is_infinity +#define isdenorm(x) decodeFloat(x).is_denormal + +// https://www.shadertoy.com/view/7tKXWR +vec3 LinearToWebGLDisplayGamma(vec3 Color) +{ + return pow(Color, vec3(1.0/2.2)); +} + +vec3 LinearToRec709(vec3 lin) +{ + lin = max(vec3(6.10352e-5), lin); + return min(lin * vec3(4.5), pow(max(lin, vec3(0.018)), vec3(0.45)) * vec3(1.099) - vec3(0.099)); +} + +vec3 Rec709ToLinear(vec3 Color) +{ + Color = max(vec3(6.10352e-5), Color); + Color.r = Color.r > 0.081 ? pow((Color.r + 0.099) / 1.099, (1.0 / 0.45)) : Color.r / 4.5; + Color.g = Color.g > 0.081 ? pow((Color.g + 0.099) / 1.099, (1.0 / 0.45)) : Color.g / 4.5; + Color.b = Color.b > 0.081 ? pow((Color.b + 0.099) / 1.099, (1.0 / 0.45)) : Color.b / 4.5; + return Color; +} + +vec3 LinearToSRGB(vec3 lin) +{ + lin = max(vec3(6.10352e-5), lin); + return min(lin * vec3(12.92), pow(max(lin, vec3(0.00313067)), vec3(1.0/2.4)) * vec3(1.055) - vec3(0.055)); +} + +vec3 SRGBToLinear(vec3 Color) +{ + Color = max(vec3(6.10352e-5), Color); + Color.r = Color.r > 0.04045 ? pow(Color.r * (1.0 / 1.055) + 0.0521327, 2.4) : Color.r * (1.0 / 12.92); + Color.g = Color.g > 0.04045 ? pow(Color.g * (1.0 / 1.055) + 0.0521327, 2.4) : Color.g * (1.0 / 12.92); + Color.b = Color.b > 0.04045 ? pow(Color.b * (1.0 / 1.055) + 0.0521327, 2.4) : Color.b * (1.0 / 12.92); + return Color; +} + +// https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/ +vec3 ACESFilm(vec3 x) +{ + float a = 2.51f; + float b = 0.03f; + float c = 2.43f; + float d = 0.59f; + float e = 0.14f; + return clamp((x*(a*x+b))/(x*(c*x+d)+e), 0.0, 1.0); +} + +`; + + var gl_shader = gl.createShader(shader_type); + gl.shaderSource(gl_shader, shader_std + shader_code); + gl.compileShader(gl_shader); + + var compilation_status = gl.getShaderParameter(gl_shader, gl.COMPILE_STATUS); + if (!compilation_status) + { + var compilation_log = gl.getShaderInfoLog(gl_shader); + console.error('Shader compiler log: ' + compilation_log); + return compilation_log; + } + return gl_shader; +} + +function gl_create_shader_program(gl, vert_shader, frag_shader) +{ + var gl_vert_shader = null; + if (typeof vert_shader === 'string') + { + gl_vert_shader = gl_create_shader(gl, gl.VERTEX_SHADER, vert_shader); + if (typeof gl_vert_shader === 'string') + { + return gl_vert_shader; + } + } + else if (typeof vert_shader === 'WebGLShader') + { + gl_vert_shader = vert_shader; + } + else + { + console.error('wrong vert_shader'); + return null; + } + + var gl_frag_shader = null; + if (typeof frag_shader === 'string') + { + gl_frag_shader = gl_create_shader(gl, gl.FRAGMENT_SHADER, frag_shader); + if (typeof gl_frag_shader === 'string') + { + return gl_frag_shader; + } + } + else if (typeof frag_shader === 'WebGLShader') + { + gl_frag_shader = frag_shader; + } + else + { + console.error('wrong vert_shader'); + return null; + } + + var shader_program = gl.createProgram(); + gl.attachShader(shader_program, gl_vert_shader); + gl.attachShader(shader_program, gl_frag_shader); + gl.linkProgram(shader_program); + + var link_status = gl.getProgramParameter(shader_program, gl.LINK_STATUS); + if (!link_status) + { + var link_log = gl.getProgramInfoLog(shader_program); + console.error('Program compiler log: ' + link_log); + return null; + } + return shader_program; +} + +function gl_set_uniform_uint(gl, program, name, value) +{ + var uniform_loc = gl.getUniformLocation(program, name); + if (uniform_loc) + { + gl.uniform1ui(uniform_loc, value); + } +} + +function gl_set_uniform_mat4(gl, program, name, matrix) +{ + var uniform_loc = gl.getUniformLocation(program, name); + if (uniform_loc) + { + gl.uniformMatrix4fv(uniform_loc, false, new Float32Array(matrix)); + } +} + + +// -------------------------------------------------------------------- MATH UTILS + +function create_null_matrix() +{ + return new Array(4 * 4).fill(0.0); +} + +function create_identity_matrix() +{ + var matrix = create_null_matrix(); + matrix[0 + 0 * 4] = 1.0; + matrix[1 + 1 * 4] = 1.0; + matrix[2 + 2 * 4] = 1.0; + matrix[3 + 3 * 4] = 1.0; + return matrix; +} + +function create_view_matrix(camera_pos, camera_dir) +{ + var camera_pos_x = camera_pos[0]; + var camera_pos_y = camera_pos[1]; + var camera_pos_z = camera_pos[2]; + + var camera_dir_len = Math.sqrt( + camera_dir[0] * camera_dir[0] + + camera_dir[1] * camera_dir[1] + + camera_dir[2] * camera_dir[2]); + var camera_dir_x = camera_dir[0] / camera_dir_len; + var camera_dir_y = camera_dir[1] / camera_dir_len; + var camera_dir_z = camera_dir[2] / camera_dir_len; + + var horizon_dir_len = Math.sqrt(camera_dir_x * camera_dir_x + camera_dir_y * camera_dir_y); + var horizon_dir_x = camera_dir_y / horizon_dir_len; + var horizon_dir_y = -camera_dir_x / horizon_dir_len; + var horizon_dir_z = 0.0; + + var vertical_dir_x = - camera_dir_y * horizon_dir_z + camera_dir_z * horizon_dir_y; + var vertical_dir_y = - camera_dir_z * horizon_dir_x + camera_dir_x * horizon_dir_z; + var vertical_dir_z = - camera_dir_x * horizon_dir_y + camera_dir_y * horizon_dir_x; + + // column major + var matrix = create_identity_matrix(); + matrix[0 + 0 * 4] = horizon_dir_x; + matrix[0 + 1 * 4] = horizon_dir_y; + matrix[0 + 2 * 4] = horizon_dir_z; + matrix[0 + 3 * 4] = -(horizon_dir_x * camera_pos_x + horizon_dir_y * camera_pos_y + horizon_dir_z * camera_pos_z); + + matrix[1 + 0 * 4] = vertical_dir_x; + matrix[1 + 1 * 4] = vertical_dir_y; + matrix[1 + 2 * 4] = vertical_dir_z; + matrix[1 + 3 * 4] = -(vertical_dir_x * camera_pos_x + vertical_dir_y * camera_pos_y + vertical_dir_z * camera_pos_z); + + matrix[2 + 0 * 4] = camera_dir_x; + matrix[2 + 1 * 4] = camera_dir_y; + matrix[2 + 2 * 4] = camera_dir_z; + matrix[2 + 3 * 4] = -(camera_dir_x * camera_pos_x + camera_dir_y * camera_pos_y + camera_dir_z * camera_pos_z); + + return matrix; +} + +// Matches TPerspectiveMatrix +function create_projection_matrix_reverse_z_persepective(half_fov, aspect_ratio, clipping_plane) +{ + const z_precision = 0.0; + + var half_fov_x = half_fov * Math.PI / 180.0; + var half_fov_y = half_fov_x; + var mult_fov_x = 1.0; + var mult_fov_y = aspect_ratio; + var min_z = clipping_plane; + var max_z = clipping_plane; + + // column major + var matrix = create_null_matrix(); + matrix[0 + 0 * 4] = mult_fov_x / Math.tan(half_fov_x); + matrix[1 + 1 * 4] = mult_fov_y / Math.tan(half_fov_y); + matrix[2 + 3 * 4] = min_z; + matrix[3 + 2 * 4] = 1.0; + + return matrix; +} + + +// -------------------------------------------------------------------- DISPLAY TEXTURE + +var k_exotic_raw_channel_bit_depth = 0; +var g_shader_code_dict = {}; + +class TextureView extends ResourceView +{ + constructor(subresource_version_info, resource_desc) + { + super(subresource_version_info, resource_desc); + this.is_ready = false; + this.raw_texture_data = null; + this.subresource_desc = null; + this.release_gl(); + this.viewport_width = 1; + this.pixel_scaling = 0; + this.viewport_selected = false; + this.is_draging_canvas = false; + this.src_channels = 'RGB'; + this.src_color_space = 'Gamut=sRGB Pixel Values'; + this.display_mode = 'Visualization'; + } + + setup_html(parent_dom) + { + var subresource_extent = this.get_subresource_extent(); + + var dpi = window.devicePixelRatio || 1; + + var canvas_rendering_res_x = subresource_extent['x']; + var canvas_rendering_res_y = subresource_extent['y']; + + var canvas_display_w = canvas_rendering_res_x / dpi; + var canvas_display_h = canvas_rendering_res_y / dpi; + + var resource_info_htmls = ''; + { + resource_info_htmls += ` + <table width="100%" class="pretty_table resource_desc">`; + + for (var key in this.resource_desc) + { + if (this.resource_desc.hasOwnProperty(key)){ + resource_info_htmls += ` + <tr> + <td>${key}</td> + <td>${this.resource_desc[key]}</td> + </tr>`; + } + } + + resource_info_htmls += ` + </table>`; + } + + var title = prettify_subresource_unique_name(this.subresource_version_info, this.resource_desc); + if (this.subresource_version_info['draw'] >= 0) + { + title += ` draw:${this.subresource_version_info['draw']}`; + } + + var html = ` + <div class="main_div"> + <div class="selection_list_title">Texture visualization: ${title}</div> + <div id="canvas_outter" style="margin-bottom: 10px;"> + <div id="canvas_header"> + <div class="button_list" id="texture_visualization_change_pixel_scaling"><!--- + ---><input type="button" onclick="g_view.resource_view.change_pixel_scaling(this);" value="Fit"/><!--- + ---><input type="button" onclick="g_view.resource_view.change_pixel_scaling(this);" value="1:1"/><!--- + ---><input type="button" onclick="g_view.resource_view.change_pixel_scaling(this);" value="2:1"/><!--- + ---><input type="button" onclick="g_view.resource_view.change_pixel_scaling(this);" value="4:1"/><!--- + ---><input type="button" onclick="g_view.resource_view.change_pixel_scaling(this);" value="8:1"/><!--- + ---><input type="button" onclick="g_view.resource_view.change_pixel_scaling(this);" value="16:1"/> + </div> + <div class="button_list" id="texture_visualization_change_src_channels"><!--- + ---><input type="button" onclick="g_view.resource_view.change_src_channels(this);" value="RGB" title="Display the WebGL's visualization shader's display.rgb channels (default)."/><!--- + ---><input type="button" onclick="g_view.resource_view.change_src_channels(this);" value="R" title="Display the WebGL's visualization shader's display.r channel."/><!--- + ---><input type="button" onclick="g_view.resource_view.change_src_channels(this);" value="G" title="Display the WebGL's visualization shader's display.g channel."/><!--- + ---><input type="button" onclick="g_view.resource_view.change_src_channels(this);" value="B" title="Display the WebGL's visualization shader's display.b channel."/><!--- + ---><input type="button" onclick="g_view.resource_view.change_src_channels(this);" value="A" title="Display the WebGL's visualization shader's display.a channel."/> + </div> + <div class="button_list" id="texture_visualization_change_src_color"><!--- + ---><span>Src color:</span><!--- + ---><input type="button" onclick="g_view.resource_view.change_src_color(this);" value="Gamut=sRGB Pixel Values" title="Performs no modifications to display to WebGL's sRGB gamut backbuffer (default)."/><!--- + ---><input type="button" onclick="g_view.resource_view.change_src_color(this);" value="Gamut=sRGB Linear[0;1]" title="Applies a LinearToWebGLDisplayGamma(display.rgb); to output WebGL's sRGB gamut backbuffer."/><!--- + ---><input type="button" onclick="g_view.resource_view.change_src_color(this);" value="Gamut=sRGB Linear ACES Film" title="Applies a LinearToWebGLDisplayGamma(ACESFilm(display.rgb)); to output WebGL's sRGB gamut backbuffer."/><!--- + ---><input type="button" onclick="g_view.resource_view.change_src_color(this);" value="sRGB" title="Applies a LinearToWebGLDisplayGamma(SRGBToLinear(display.rgba)) To output to WebGL's sRGB gamut backbuffer."/><!--- + ---><input type="button" onclick="g_view.resource_view.change_src_color(this);" value="Rec709" title="Applies LinearToWebGLDisplayGamma(Rec709ToLinear(display.rgb)) to output WebGL's sRGB gamut backbuffer."/> + </div> + <div class="button_list" id="texture_visualization_change_display_modes"><!--- + ---><input type="button" onclick="g_view.resource_view.change_display_mode(this);" value="Visualization" title="Display the WebGL's visualization shader's display.rgb."/><!--- + ---><input type="button" onclick="g_view.resource_view.change_display_mode(this);" value="NaN" title="Display any NaN in the raw texture."/><!--- + ---><input type="button" onclick="g_view.resource_view.change_display_mode(this);" value="Inf" title="Display any Inf in the raw texture."/> + </div> + <div class="button_list"> + <input type="button" onclick="g_view.resource_view.copy_canvas_to_clipboard();" value="Copy to clipboard"/> + </div> + </div> + <div id="canvas_viewport"> + <canvas + id="texture_visualization_canvas" + width="${canvas_rendering_res_x}" + height="${canvas_rendering_res_y}" + style="width: ${canvas_display_w}px; height: ${canvas_display_h}px;"></canvas> + </div> + <div id="canvas_footer"> + <table> + <tr> + <td>Cursor texel pos:</td> + <td id="canvas_hover_texel_info"></td> + </tr> + <tr> + <td>Selected texel pos:</td> + <td id="canvas_selected_texel_info"></td> + </tr> + </table> + </div> + </div> + <table width="100%"> + <tr> + <td width="50%"> + <div class="selection_list_title">Texture descriptor</div> + ${resource_info_htmls} + </td> + <td style="width: 50%;"> + <textarea id="texture_visualization_code_input" oninput="g_view.resource_view.shader_user_code_change();" onchange="g_view.resource_view.shader_user_code_change();"></textarea> + <textarea id="texture_visualization_code_log" readonly></textarea> + <div style="padding: 3px 10px;"><a class="external_link" href="https://www.khronos.org/files/webgl20-reference-guide.pdf">WebGL 2.0's quick reference card</a></div> + </td> + </tr> + </table> + </div>`; + + parent_dom.innerHTML = html; + + update_value_selection(document.getElementById('texture_visualization_change_pixel_scaling'), `Fit`); + update_value_selection(document.getElementById('texture_visualization_change_src_channels'), this.src_channels); + update_value_selection(document.getElementById('texture_visualization_change_src_color'), this.src_color_space); + update_value_selection(document.getElementById('texture_visualization_change_display_modes'), this.display_mode); + + // Init WebGL 2.0 + this.init_gl(); + + // Translate the descriptor of the subresource. + this.subresource_desc = this.translate_subresource_desc(); + if (this.subresource_desc === null) + { + return; + } + + // Setup mouse motion callback + { + var texture_view = this; + + this.canvas.onclick = function(event) { texture_view.canvas_click(event); } + this.canvas.onmouseenter = function(event) { texture_view.canvas_onmousemove(event); }; + this.canvas.onmousemove = function(event) { texture_view.canvas_onmousemove(event); }; + this.canvas.onmousedown = function(event) { texture_view.canvas_onmousedown(event); }; + this.canvas.onmouseup = function(event) { texture_view.canvas_onmouseup(event); }; + this.canvas.oncontextmenu = function(event) { return false; }; + + document.getElementById('canvas_viewport').oncontextmenu = function(event) { return false; }; + document.getElementById('canvas_viewport').onscrollend = function(event) { texture_view.save_zoom_settings(); }; + + document.getElementById('canvas_outter').onclick = function(event) { texture_view.onclick_canvas_outter(); }; + document.getElementById('canvas_outter').onmouseleave = function(event) { texture_view.set_select_viewport(false); }; + } + + if (this.subresource_desc['raw_channel_format'] == 'float') + { + update_value_selection(document.getElementById('texture_visualization_change_display_modes'), this.display_mode); + } + else + { + document.getElementById('texture_visualization_change_display_modes').style.display = 'none'; + } + + // Fill out the default visualization shader code in the textarea for the user to customise. + { + var user_shader_code_dom = document.getElementById('texture_visualization_code_input'); + + if (this.shader_code_saving_key in g_shader_code_dict) + { + user_shader_code_dom.value = g_shader_code_dict[this.shader_code_saving_key]; + } + else + { + if (!this.subresource_desc) + { + user_shader_code_dom.value = `// Sorry but ${this.resource_desc['Format']} is not supported for display :(`; + } + else + { + user_shader_code_dom.value = this.subresource_desc['webgl_pixel_shader_public']; + } + } + } + + var texture_view = this; + var subresource_version_name = get_subresource_unique_version_name(this.subresource_version_info); + load_resource_binary_file(`Resources/${subresource_version_name}.bin`, function(raw_texture_data) + { + if (raw_texture_data) + { + texture_view.is_ready = true; + texture_view.raw_texture_data = raw_texture_data; + texture_view.resize_canvas(texture_view.pixel_scaling); + texture_view.process_texture_data_for_visualization(); + texture_view.refresh_texture_visualization(); + texture_view.onload(); + } + else + { + texture_view.error(`Error: Resources/${subresource_version_name}.bin couldn't be loaded.`); + } + }); + + document.title = `${g_view.pass_data['EventName']} - ${this.resource_desc['Name']} ${this.subresource_version_info['subresource']}`; + } + + error(error_msg) + { + console.error(error_msg); + document.getElementById('canvas_viewport').innerHTML = ` + <div class="error_msg"> + ${error_msg} + </div>`; + document.getElementById('texture_visualization_code_input').readOnly = true; + } + + image_load_uint(texel_x, texel_y) + { + console.assert(this.is_ready); + + var extent = this.get_subresource_extent(); + var pixel_data_offset = texel_x + texel_y * extent['x']; + + var texel_value = [0]; + for (var c = 1; c < this.subresource_desc['raw_channel_count']; c++) + { + texel_value.push(0); + } + + if (this.subresource_desc['webgl_src_type'] === this.gl.UNSIGNED_SHORT_5_6_5) + { + var data = new Uint16Array(this.raw_texture_data, pixel_data_offset * 2, 1); + + texel_value[0] = (data[0] >> 0) & 0x1F; + texel_value[1] = (data[0] >> 5) & 0x3F; + texel_value[2] = (data[0] >> 11) & 0x1F; + } + else if (this.subresource_desc['webgl_src_type'] === this.gl.UNSIGNED_INT_10F_11F_11F_REV) + { + var data = new Uint32Array(this.raw_texture_data, pixel_data_offset * 4, 1); + + texel_value[0] = (data[0] >> 0) & 0x7FF; + texel_value[1] = (data[0] >> 11) & 0x7FF; + texel_value[2] = (data[0] >> 22) & 0x3FF; + } + else if (this.subresource_desc['webgl_src_type'] === this.gl.UNSIGNED_INT_2_10_10_10_REV) + { + var data = new Uint32Array(this.raw_texture_data, pixel_data_offset * 4, 1); + + texel_value[0] = (data[0] >> 0) & 0x3FF; + texel_value[1] = (data[0] >> 10) & 0x3FF; + texel_value[2] = (data[0] >> 20) & 0x3FF; + texel_value[3] = (data[0] >> 30) & 0x3; + } + else + { + var data = null; + if (this.subresource_desc['raw_channel_bit_depth'] === 8) + { + data = new Uint8Array(this.raw_texture_data, this.subresource_desc['raw_channel_count'] * pixel_data_offset * 1, this.subresource_desc['raw_channel_count']); + } + else if (this.subresource_desc['raw_channel_bit_depth'] === 16) + { + data = new Uint16Array(this.raw_texture_data, this.subresource_desc['raw_channel_count'] * pixel_data_offset * 2, this.subresource_desc['raw_channel_count']); + } + else if (this.subresource_desc['raw_channel_bit_depth'] === 32) + { + data = new Uint32Array(this.raw_texture_data, this.subresource_desc['raw_channel_count'] * pixel_data_offset * 4, this.subresource_desc['raw_channel_count']); + } + else + { + return; + } + + for (var c = 0; c < this.subresource_desc['raw_channel_count']; c++) + { + texel_value[c] = data[this.subresource_desc['raw_channel_swizzling'][c]]; + } + } + + return texel_value; + } + + decode_texel_uint(value) + { + console.assert(this.is_ready); + + value = [...value]; + + if (this.subresource_desc['ue_pixel_format'] === 'PF_FloatRGB' || this.subresource_desc['ue_pixel_format'] === 'PF_FloatR11G11B10') + { + value[0] = decode_float11(value[0]); + value[1] = decode_float11(value[1]); + value[2] = decode_float10(value[2]); + } + else if (this.subresource_desc['ue_pixel_format'] === 'PF_A2B10G10R10') + { + value[0] = value[0] / 1023.0; + value[1] = value[1] / 1023.0; + value[2] = value[2] / 1023.0; + value[3] = value[3] / 3.0; + } + else if (this.subresource_desc['ue_pixel_format'] === 'PF_R5G6B5_UNORM') + { + value[0] = value[0] / 31.0; + value[1] = value[1] / 63.0; + value[2] = value[2] / 31.0; + } + else if (this.subresource_desc['raw_channel_format'] == 'uint') + { + // NOP + } + else if (this.subresource_desc['raw_channel_format'] == 'float') + { + for (var c = 0; c < value.length; c++) + { + if (this.subresource_desc['raw_channel_bit_depth'] == 16) + { + value[c] = decode_float16(value[c]); + } + else if (this.subresource_desc['raw_channel_bit_depth'] == 32) + { + value[c] = decode_float32(value[c]); + } + else + { + console.error('Unknown float bit depth'); + } + } + } + else if (this.subresource_desc['raw_channel_format'] == 'unorm') + { + var divide = Number((BigInt(1) << BigInt(this.subresource_desc['raw_channel_bit_depth'])) - 1n); + + for (var c = 0; c < value.length; c++) + { + value[c] = Number(value[c]) / divide; + } + } + else + { + console.error('Unknown pixel format to convert'); + } + + return value; + } + + update_texel_cursor_pos(texel_x, texel_y, parent_dom_name) + { + console.assert(this.is_ready); + + var parent_dom = document.getElementById(parent_dom_name); + parent_dom.innerHTML = `<span style="width: 40px; display: inline-block; text-align: right;">${texel_x}</span> <span style="width: 40px; display: inline-block; text-align: right; margin-right: 60px;">${texel_y}</span> `; + + // Find out pixel value. + { + var texel_raw = this.image_load_uint(texel_x, texel_y); + var texel_value = this.decode_texel_uint(texel_raw); + + const channel_name = ['R', 'G', 'B', 'A']; + const channel_color = ['rgb(255, 38, 38)', 'rgb(38, 255, 38)', 'rgb(38, 187, 255)', 'white']; + + var texel_string = []; + for (var c = 0; c < this.subresource_desc['raw_channel_count']; c++) + { + texel_string.push(`${texel_value[c].toString()} (0x${texel_raw[c].toString(16)})`); + } + + if (this.subresource_version_info['subresource'] == 'stencil') + { + texel_string[0] = '0b' + texel_value[0].toString(2).padStart(8, 0); + } + + var html = ``; + for (var c = 0; c < this.subresource_desc['raw_channel_count']; c++) + { + html += `<span style="margin-left: 20px; color: ${channel_color[c]};">${channel_name[c]}: <span style="min-width: 170px; display: inline-block; text-align: right;">${texel_string[c]}</span></span>`; + } + + parent_dom.innerHTML += html; + } + } + + get_texel_coordinate_of_mouse(event) + { + console.assert(this.is_ready); + + var rect = event.target.getBoundingClientRect(); + var html_x = event.clientX - rect.left; + var html_y = event.clientY - rect.top; + + var texel_x = Math.floor(html_x * px_string_to_int(this.canvas.width) / px_string_to_int(this.canvas.style.width)); + var texel_y = Math.floor(html_y * px_string_to_int(this.canvas.height) / px_string_to_int(this.canvas.style.height)); + + return [texel_x, texel_y]; + } + + onclick_canvas_outter() + { + if (!this.is_ready) + { + return; + } + + this.set_select_viewport(true); + } + + onmousewheel(event) + { + if (!this.is_ready) + { + return; + } + + if (this.viewport_selected == false) + { + // forward scroll event to parent + document.getElementById('main_right_pannel').scrollTop += event.deltaY; + return false; + } + + var dpi = window.devicePixelRatio || 1; + var zooming_in = event.deltaY < 0.0; + + var subresource_extent = this.get_subresource_extent(); + + // Find new pixel scaling to scale the viewport to. + var new_pixel_scaling = 0; + { + var viewport_width = (px_string_to_int(document.getElementById('canvas_viewport').style.width) - k_style_scroll_width) * dpi; + + var min_pixel_scaling = Math.ceil(viewport_width / subresource_extent['x']); + if (min_pixel_scaling <= 1) + { + min_pixel_scaling = 1; + } + else if (min_pixel_scaling <= 2) + { + min_pixel_scaling = 2; + } + else if (min_pixel_scaling <= 4) + { + min_pixel_scaling = 4; + } + else if (min_pixel_scaling <= 8) + { + min_pixel_scaling = 8; + } + else if (min_pixel_scaling <= 16) + { + min_pixel_scaling = 16; + } + + if (zooming_in) + { + if (this.pixel_scaling == 0) + { + if (min_pixel_scaling <= 16) + { + new_pixel_scaling = min_pixel_scaling; + } + } + else + { + new_pixel_scaling = this.pixel_scaling * 2; + } + } + else + { + if (this.pixel_scaling <= min_pixel_scaling) + { + new_pixel_scaling = 0; + } + else + { + new_pixel_scaling = this.pixel_scaling / 2; + } + } + + new_pixel_scaling = Math.min(Math.max(new_pixel_scaling, 0), 16); + } + + var [texel_x, texel_y] = this.get_texel_coordinate_of_mouse(event); + + this.resize_canvas(new_pixel_scaling, texel_x, texel_y); + this.update_change_pixel_scaling_button(); + this.save_zoom_settings(); + + return false; + } + + update_change_pixel_scaling_button() + { + const pixel_scaling_names = { + 0: 'Fit', + 1: '1:1', + 2: '2:1', + 4: '4:1', + 8: '8:1', + 16: '16:1', + }; + update_value_selection(document.getElementById('texture_visualization_change_pixel_scaling'), pixel_scaling_names[this.pixel_scaling]); + } + + canvas_click(event) + { + if (!this.is_ready) + { + return; + } + + var subresource_extent = this.get_subresource_extent(); + + var [texel_x, texel_y] = this.get_texel_coordinate_of_mouse(event); + + texel_x = Math.min(Math.max(texel_x, 0), subresource_extent['x'] - 1); + texel_y = Math.min(Math.max(texel_y, 0), subresource_extent['y'] - 1); + + this.update_texel_cursor_pos(texel_x, texel_y, 'canvas_selected_texel_info'); + } + + canvas_onmousemove(event) + { + if (!this.is_ready) + { + return; + } + + if (this.is_draging_canvas) + { + this.drag_canvas(event); + } + + var subresource_extent = this.get_subresource_extent(); + + var [texel_x, texel_y] = this.get_texel_coordinate_of_mouse(event); + + texel_x = Math.min(Math.max(texel_x, 0), subresource_extent['x'] - 1); + texel_y = Math.min(Math.max(texel_y, 0), subresource_extent['y'] - 1); + + this.update_texel_cursor_pos(texel_x, texel_y, 'canvas_hover_texel_info'); + } + + canvas_onmousedown(event) + { + if (!this.is_ready) + { + return; + } + + if (event.button == 2) + { + this.set_select_viewport(true); + this.is_draging_canvas = true; + } + } + + canvas_onmouseup(event) + { + if (!this.is_ready) + { + return; + } + + if (event.button == 2) + { + this.is_draging_canvas = false; + } + } + + drag_canvas(event) + { + if (!this.is_ready) + { + return; + } + + var canvas_viewport = document.getElementById('canvas_viewport'); + canvas_viewport.scrollLeft -= event.movementX; + canvas_viewport.scrollTop -= event.movementY; + this.save_zoom_settings(); + } + + set_select_viewport(selected) + { + if (this.viewport_selected === selected) + { + return; + } + + this.viewport_selected = selected; + if (this.viewport_selected) + { + var texture_view = this; + document.getElementById('main_right_pannel').onwheel = function(event) { return false; }; + document.getElementById('canvas_outter').classList.add('selected'); + document.getElementById('canvas_viewport').style.overflow = 'scroll'; + this.canvas.onwheel = function(event) { return texture_view.onmousewheel(event); }; + } + else + { + document.getElementById('main_right_pannel').onwheel = null; + document.getElementById('canvas_outter').classList.remove('selected'); + document.getElementById('canvas_viewport').style.overflow = 'hidden'; + this.canvas.onwheel = null; + this.is_draging_canvas = false; + } + } + + resize(ctx) + { + var dpi = window.devicePixelRatio || 1; + var viewport_width = ctx.width - 2 * k_style_padding_size - 2; + var viewport_width_no_scroll = viewport_width - k_style_scroll_width; + + var subresource_extent = this.get_subresource_extent(); + var canvas_rendering_res_x = subresource_extent['x']; + var canvas_rendering_res_y = subresource_extent['y']; + + var canvas_outter = document.getElementById('canvas_outter'); + var canvas_viewport = document.getElementById('canvas_viewport'); + canvas_outter.style.width = `${viewport_width}px`; + canvas_viewport.style.width = `${viewport_width_no_scroll + k_style_scroll_width}px`; + canvas_viewport.style.height = `${viewport_width_no_scroll * canvas_rendering_res_y / canvas_rendering_res_x + k_style_scroll_width}px`; + + this.viewport_width = viewport_width; + if (this.is_ready) + { + this.resize_canvas(this.pixel_scaling); + } + } + + resize_canvas(new_pixel_scaling, fix_texel_x, fix_texel_y) + { + console.assert(this.is_ready); + var dpi = window.devicePixelRatio || 1; + var viewport_width = this.viewport_width; + var viewport_width_no_scroll = viewport_width - k_style_scroll_width; + + var canvas_viewport = document.getElementById('canvas_viewport'); + var canvas_viewport_rect = canvas_viewport.getBoundingClientRect(); + var viewport_height = px_string_to_int(canvas_viewport.style.height); + var viewport_height_no_scroll = viewport_height - k_style_scroll_width; + + var subresource_extent = this.get_subresource_extent(); + var canvas_rendering_res_x = subresource_extent['x']; + var canvas_rendering_res_y = subresource_extent['y']; + + if (fix_texel_x === undefined || fix_texel_y === undefined) + { + fix_texel_x = canvas_rendering_res_x / 2; + fix_texel_y = canvas_rendering_res_y / 2; + } + + // Compute the pixel coordinate of the fixed texel. + var fix_texel_pixel_pos_x; + var fix_texel_pixel_pos_y; + { + var rect = this.canvas.getBoundingClientRect(); + + fix_texel_pixel_pos_x = rect.left + rect.width * fix_texel_x / canvas_rendering_res_x - canvas_viewport_rect.left; + fix_texel_pixel_pos_y = rect.top + rect.height * fix_texel_y / canvas_rendering_res_y - canvas_viewport_rect.top; + } + + // Compute new canvas dimensions + var canvas_display_w = new_pixel_scaling * canvas_rendering_res_x / dpi; + var canvas_display_h = new_pixel_scaling * canvas_rendering_res_y / dpi; + if (new_pixel_scaling == 0) + { + canvas_display_w = viewport_width_no_scroll; + canvas_display_h = viewport_width_no_scroll * canvas_rendering_res_y / canvas_rendering_res_x; + } + + // Compute new canvas scroll such that the fixed texel ends up at the same pixel coordinate. + var canvas_scroll_x; + var canvas_scroll_y; + { + canvas_scroll_x = fix_texel_x * canvas_display_w / canvas_rendering_res_x - fix_texel_pixel_pos_x; + canvas_scroll_y = fix_texel_y * canvas_display_h / canvas_rendering_res_y - fix_texel_pixel_pos_y; + } + + this.canvas.style.width = `${canvas_display_w}px`; + this.canvas.style.height = `${canvas_display_h}px`; + canvas_viewport.scrollLeft = canvas_scroll_x; + canvas_viewport.scrollTop = canvas_scroll_y; + this.pixel_scaling = new_pixel_scaling; + + this.save_zoom_settings(); + } + + get_zoom_settings() + { + var subresource_extent = this.get_subresource_extent(); + + var canvas_viewport = document.getElementById('canvas_viewport'); + + var zoom_settings = { + 'subresource_extent_x': subresource_extent['x'], + 'subresource_extent_y': subresource_extent['y'], + 'pixel_scaling': this.pixel_scaling, + 'canvas_width': this.canvas.style.width, + 'canvas_height': this.canvas.style.height, + 'canvas_viewport_scoll_left': canvas_viewport.scrollLeft, + 'canvas_viewport_scoll_top': canvas_viewport.scrollTop, + }; + return zoom_settings; + } + + is_zoom_settings_compatible(zoom_settings) + { + var subresource_extent = this.get_subresource_extent(); + + return (zoom_settings['subresource_extent_x'] == subresource_extent['x'] && zoom_settings['subresource_extent_y'] == subresource_extent['y']); + } + + apply_zoom_settings(zoom_settings) + { + var canvas_viewport = document.getElementById('canvas_viewport'); + + this.pixel_scaling = zoom_settings['pixel_scaling']; + this.canvas.style.width = zoom_settings['canvas_width']; + this.canvas.style.height = zoom_settings['canvas_height']; + canvas_viewport.scrollLeft = zoom_settings['canvas_viewport_scoll_left']; + canvas_viewport.scrollTop = zoom_settings['canvas_viewport_scoll_top']; + + this.update_change_pixel_scaling_button(); + this.save_zoom_settings(); + } + + save_zoom_settings() + { + set_local_storage(k_texture_zoom_local_storage, this.get_zoom_settings()); + } + + init_gl() + { + var gl_ctx_attributes = { + antialias: false, + depth: false + }; + + // Init WebGL 2.0 + this.canvas = document.getElementById('texture_visualization_canvas'); + + var gl_ctx_attributes = { + alpha: false, + // premultipliedAlpha: true, // TODO + antialias: false, + depth: false, + stencil: false, + powerPreference: "low-power", + preserveDrawingBuffer: true, + xrCompatible: false, + }; + + var gl = this.canvas.getContext('webgl2', gl_ctx_attributes); + this.gl = gl; + + verify_backbuffer_color_space(this.gl); + + // Init WebGL extensions + { + var available_extensions = this.gl.getSupportedExtensions(); + var required_extensions = ['EXT_texture_norm16']; + + this.gl_ext = {}; + + var gl = this.gl; + var gl_ext = this.gl_ext; + required_extensions.forEach(function(ext_name) + { + gl_ext[ext_name] = gl.getExtension(ext_name); + }); + } + + // Set unpacking alignement to 1 to allow uploading texture size not multple of 4 + gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1); + + // Create buffers + { + this.gl_vertex_buffer = gl_create_vertex_buffer(gl, new Float32Array([ + -1.0,+1.0,0.0, + -1.0,-1.0,0.0, + +1.0,-1.0,0.0, + +1.0,+1.0,0.0, + ])); + + this.gl_index_buffer = gl_create_index_buffer(gl, new Uint16Array([0, 1, 2, 2, 0, 3])); + } + + // Create simple shader program for NaN display mode + { + var frag_code = ` +uniform sampler2D texture0; + +in vec2 uv; +out vec4 display; + +void main(void) { + ivec2 texel_coord = ivec2(uv * vec2(textureSize(texture0, 0))); + display = texelFetch(texture0, texel_coord, 0); +}`; + this.gl_simple_program = this.compile_screen_shader_program(frag_code); + } + + // Create simple shader program for NaN display mode + { + var frag_code = ` +uniform sampler2D texture0; + +in vec2 uv; +out vec4 display; + +void main(void) +{ + ivec2 texel_coord = ivec2(uv * vec2(textureSize(texture0, 0))); + vec4 raw = texelFetch(texture0, texel_coord, 0); + + display.r = (isnan(raw.r) || isnan(raw.g) || isnan(raw.b) || isnan(raw.a)) ? 1.0 : 0.0; + display.g = 0.0; + display.b = 0.0; + display.a = 1.0; +}`; + this.gl_nan_program = this.compile_screen_shader_program(frag_code); + } + + // Create simple shader program for Inf display mode + { + var frag_code = ` +uniform sampler2D texture0; + +in vec2 uv; +out vec4 display; + +void main(void) +{ + ivec2 texel_coord = ivec2(uv * vec2(textureSize(texture0, 0))); + vec4 raw = texelFetch(texture0, texel_coord, 0); + + display.r = (isinf(raw.r) || isinf(raw.g) || isinf(raw.b) || isinf(raw.a)) ? 1.0 : 0.0; + display.g = 0.0; + display.b = 0.0; + display.a = 1.0; +}`; + this.gl_inf_program = this.compile_screen_shader_program(frag_code); + } + } + + release_gl() + { + this.canvas = null; + this.gl = null; + this.gl_ext = null; + this.gl_vertex_buffer = null; + this.gl_index_buffer = null; + this.gl_simple_program = null; + this.gl_nan_program = null; + this.gl_textures = null; + } + + release() + { + this.is_ready = false; + this.raw_texture_data = null; + this.release_gl(); + this.set_select_viewport(false); + } + + shader_user_code_change() + { + if (!this.is_ready) + { + return; + } + + this.refresh_texture_visualization(); + } + + copy_canvas_to_clipboard() + { + if (!this.is_ready) + { + return; + } + + var pass_data = g_view.pass_data; + + var is_output_resource = is_pass_output_resource(pass_data, this.subresource_version_info); + + var text = ''; + text += `Dump:\n\t${g_infos['Project']} - ${g_infos['Platform']} - ${g_infos['RHI']} - ${g_infos['BuildVersion']} - ${g_infos['DumpTime']}\n\t${get_current_navigation()}\n` + text += `Pass:\n\t${pass_data['EventName']}\n`; + + { + var name = prettify_subresource_unique_name(this.subresource_version_info, this.resource_desc); + text += `${is_output_resource ? 'Output' : 'Input'} resource:\n\t${name}\n`; + if (this.display_mode == 'Visualization') + { + text += `\tDisplay shader: \n${g_shader_code_dict[this.shader_code_saving_key]}\n`; + text += `\tDisplay channels: ${this.src_channels}\n`; + text += `\tDisplay src color: ${this.src_color_space}\n`; + } + else + { + text += `\tSrc color: ${this.display_mode}\n`; + } + } + + if (this.subresource_version_info['draw'] >= 0) + { + text += `Draw ${this.subresource_version_info['draw']}:\n\t${g_view.pass_draws_data[this.subresource_version_info['draw']]['DrawName']}\n`; + } + + copy_canvas_to_clipboard(this.canvas, text); + } + + get shader_code_saving_key() + { + var name = ''; + if (this.resource_desc['Name']) + { + name = this.resource_desc['Name']; + } + else + { + name = this.subresource_version_info['resource']; + } + + name = `${name}.${this.resource_desc['Format']}`; + + if (this.subresource_version_info['subresource'] && !this.subresource_version_info['subresource'].startsWith('mip')) + { + name = `${name}.${this.subresource_version_info['subresource']}`; + } + + return name; + } + + get_default_texture_shader_code() + { + if (this.shader_code_saving_key in g_shader_code_dict) + { + return g_shader_code_dict[this.shader_code_saving_key]; + } + + if (!this.subresource_desc) + { + return `// Sorry but ${this.resource_desc['Format']} is not supported for display :(`; + } + + return this.subresource_desc['webgl_pixel_shader']; + } + + translate_subresource_desc() + { + var gl = this.gl; + var ue_pixel_format = this.resource_desc['Format']; + + // Missing formats: + //PF_R8G8B8A8_SNORM + //PF_R16G16B16A16_UNORM + //PF_R16G16B16A16_SNORN + + if (this.resource_desc['NumSamples'] > 1) + { + this.error(`MSAA is not supported for visualization.`); + return null; + } + + var webgl_texture_internal_format = null; + var webgl_texture_src_format = null; + var webgl_texture_src_type = null; + var webgl_texture_count = 1; + var raw_channel_swizzling = [0, 1, 2, 3]; + var raw_channel_bit_depth = 0; + var raw_channel_count = 0; + var raw_channel_format = 'exotic'; + + // 32bit floats + if (ue_pixel_format === 'PF_A32B32G32R32F') + { + webgl_texture_internal_format = gl.RGBA32F; + webgl_texture_src_format = gl.RGBA; + webgl_texture_src_type = gl.FLOAT; + raw_channel_bit_depth = 32; + raw_channel_count = 4; + raw_channel_format = 'float'; + } + else if (ue_pixel_format === 'PF_G32R32F') + { + webgl_texture_internal_format = gl.RG32F; + webgl_texture_src_format = gl.RG; + webgl_texture_src_type = gl.FLOAT; + raw_channel_bit_depth = 32; + raw_channel_count = 2; + raw_channel_format = 'float'; + } + else if (ue_pixel_format === 'PF_R32_FLOAT' || ue_pixel_format === 'PF_BC4') + { + webgl_texture_internal_format = gl.R32F; + webgl_texture_src_format = gl.RED; + webgl_texture_src_type = gl.FLOAT; + raw_channel_bit_depth = 32; + raw_channel_count = 1; + raw_channel_format = 'float'; + } + // 16bit floats + else if (ue_pixel_format === 'PF_FloatRGBA' || ue_pixel_format === 'PF_BC6H' || ue_pixel_format === 'PF_BC7') + { + webgl_texture_internal_format = gl.RGBA16F; + webgl_texture_src_format = gl.RGBA; + webgl_texture_src_type = gl.HALF_FLOAT; + raw_channel_bit_depth = 16; + raw_channel_count = 4; + raw_channel_format = 'float'; + } + else if (ue_pixel_format === 'PF_G16R16F' || ue_pixel_format === 'PF_G16R16F_FILTER' || ue_pixel_format === 'PF_BC5') + { + webgl_texture_internal_format = gl.RG16F; + webgl_texture_src_format = gl.RG; + webgl_texture_src_type = gl.HALF_FLOAT; + raw_channel_bit_depth = 16; + raw_channel_count = 2; + raw_channel_format = 'float'; + } + else if (ue_pixel_format === 'PF_R16F' || ue_pixel_format === 'PF_R16F_FILTER') + { + webgl_texture_internal_format = gl.R16F; + webgl_texture_src_format = gl.RED; + webgl_texture_src_type = gl.HALF_FLOAT; + raw_channel_bit_depth = 16; + raw_channel_count = 1; + raw_channel_format = 'float'; + } + // 16bit unorms + else if (ue_pixel_format === 'PF_A16B16G16R16') + { + webgl_texture_internal_format = this.gl_ext['EXT_texture_norm16'].RGBA16_EXT; + webgl_texture_src_format = gl.RGBA; + webgl_texture_src_type = gl.UNSIGNED_SHORT; + raw_channel_bit_depth = 16; + raw_channel_count = 4; + raw_channel_format = 'unorm'; + } + else if (ue_pixel_format === 'PF_G16R16') + { + webgl_texture_internal_format = this.gl_ext['EXT_texture_norm16'].RG16_EXT; + webgl_texture_src_format = gl.RG; + webgl_texture_src_type = gl.UNSIGNED_SHORT; + raw_channel_bit_depth = 16; + raw_channel_count = 2; + raw_channel_format = 'unorm'; + } + else if (ue_pixel_format === 'PF_G16') + { + webgl_texture_internal_format = this.gl_ext['EXT_texture_norm16'].R16_EXT; + webgl_texture_src_format = gl.RED; + webgl_texture_src_type = gl.UNSIGNED_SHORT; + raw_channel_bit_depth = 16; + raw_channel_count = 1; + raw_channel_format = 'unorm'; + } + // 8bit unorms + else if (ue_pixel_format === 'PF_B8G8R8A8' || ue_pixel_format === 'PF_R8G8B8A8') + { + webgl_texture_internal_format = gl.RGBA; + webgl_texture_src_format = gl.RGBA; + webgl_texture_src_type = gl.UNSIGNED_BYTE; + raw_channel_bit_depth = 8; + raw_channel_count = 4; + raw_channel_format = 'unorm'; + + if (ue_pixel_format === 'PF_B8G8R8A8' && g_infos['RHI'] !== 'OpenGL') + { + raw_channel_swizzling = [2, 1, 0, 3]; + } + } + else if (ue_pixel_format === 'PF_R8G8') + { + webgl_texture_internal_format = gl.RG8; + webgl_texture_src_format = gl.RG; + webgl_texture_src_type = gl.UNSIGNED_BYTE; + raw_channel_bit_depth = 8; + raw_channel_count = 2; + raw_channel_format = 'unorm'; + } + else if (ue_pixel_format === 'PF_R8' || ue_pixel_format === 'PF_G8' || ue_pixel_format === 'PF_A8' || ue_pixel_format === 'PF_L8') + { + webgl_texture_internal_format = gl.R8; + webgl_texture_src_format = gl.RED; + webgl_texture_src_type = gl.UNSIGNED_BYTE; + raw_channel_bit_depth = 8; + raw_channel_count = 1; + raw_channel_format = 'unorm'; + } + // 32bit uint + else if (ue_pixel_format === 'PF_R32_UINT' || ue_pixel_format === 'PF_R32_SINT') + { + webgl_texture_internal_format = gl.R8UI; + webgl_texture_src_format = gl.RED_INTEGER; + webgl_texture_src_type = gl.UNSIGNED_BYTE; + webgl_texture_count = 4; + raw_channel_bit_depth = 32; + raw_channel_count = 1; + raw_channel_format = 'uint'; + } + else if (ue_pixel_format === 'PF_R32G32B32A32_UINT') + { + webgl_texture_internal_format = gl.RGBA8UI; + webgl_texture_src_format = gl.RGBA_INTEGER; + webgl_texture_src_type = gl.UNSIGNED_BYTE; + webgl_texture_count = 4; + raw_channel_bit_depth = 32; + raw_channel_count = 4; + raw_channel_format = 'uint'; + } + else if (ue_pixel_format === 'PF_R32G32_UINT' || ue_pixel_format === 'PF_R64_UINT') + { + webgl_texture_internal_format = gl.RGBA8UI; + webgl_texture_src_format = gl.RGBA_INTEGER; + webgl_texture_src_type = gl.UNSIGNED_BYTE; + webgl_texture_count = 4; + raw_channel_bit_depth = 32; + raw_channel_count = 2; + raw_channel_format = 'uint'; + } + // 16bit uint + else if (ue_pixel_format === 'PF_R16_UINT' || ue_pixel_format === 'PF_R16_SINT') + { + webgl_texture_internal_format = gl.R8UI; + webgl_texture_src_format = gl.RED_INTEGER; + webgl_texture_src_type = gl.UNSIGNED_BYTE; + webgl_texture_count = 2; + raw_channel_bit_depth = 16; + raw_channel_count = 1; + raw_channel_format = 'uint'; + } + else if (ue_pixel_format === 'PF_R16G16B16A16_UINT' || ue_pixel_format === 'PF_R16G16B16A16_SINT') + { + webgl_texture_internal_format = gl.RGBA8UI; + webgl_texture_src_format = gl.RGBA_INTEGER; + webgl_texture_src_type = gl.UNSIGNED_BYTE; + webgl_texture_count = 2; + raw_channel_bit_depth = 16; + raw_channel_count = 4; + raw_channel_format = 'uint'; + } + else if (ue_pixel_format === 'PF_R16G16_UINT') + { + webgl_texture_internal_format = gl.RGBA8UI; + webgl_texture_src_format = gl.RGBA_INTEGER; + webgl_texture_src_type = gl.UNSIGNED_BYTE; + webgl_texture_count = 2; + raw_channel_bit_depth = 16; + raw_channel_count = 2; + raw_channel_format = 'uint'; + } + // 8bit uint + else if (ue_pixel_format === 'PF_R8G8B8A8_UINT') + { + webgl_texture_internal_format = gl.RGBA8UI; + webgl_texture_src_format = gl.RGBA_INTEGER; + webgl_texture_src_type = gl.UNSIGNED_BYTE; + raw_channel_bit_depth = 8; + raw_channel_count = 4; + raw_channel_format = 'uint'; + } + else if (ue_pixel_format === 'PF_R8G8_UINT') + { + webgl_texture_internal_format = gl.RG8UI; + webgl_texture_src_format = gl.RG_INTEGER; + webgl_texture_src_type = gl.UNSIGNED_BYTE; + raw_channel_bit_depth = 8; + raw_channel_count = 2; + raw_channel_format = 'uint'; + } + else if (ue_pixel_format === 'PF_R8_UINT') + { + webgl_texture_internal_format = gl.R8UI; + webgl_texture_src_format = gl.RED_INTEGER; + webgl_texture_src_type = gl.UNSIGNED_BYTE; + raw_channel_bit_depth = 8; + raw_channel_count = 1; + raw_channel_format = 'uint'; + } + // exotic bit depth + else if (ue_pixel_format === 'PF_FloatRGB' || ue_pixel_format === 'PF_FloatR11G11B10') + { + webgl_texture_internal_format = gl.R11F_G11F_B10F; + webgl_texture_src_format = gl.RGB; + webgl_texture_src_type = gl.UNSIGNED_INT_10F_11F_11F_REV; + raw_channel_bit_depth = k_exotic_raw_channel_bit_depth; + raw_channel_count = 3; + raw_channel_format = 'float'; + } + else if (ue_pixel_format === 'PF_A2B10G10R10') + { + webgl_texture_internal_format = gl.RGB10_A2; + webgl_texture_src_format = gl.RGBA; + webgl_texture_src_type = gl.UNSIGNED_INT_2_10_10_10_REV; + raw_channel_bit_depth = k_exotic_raw_channel_bit_depth; + raw_channel_count = 4; + raw_channel_format = 'unorm'; + } + else if (ue_pixel_format === 'PF_R5G6B5_UNORM') + { + webgl_texture_internal_format = gl.RGB565; + webgl_texture_src_format = gl.RGB; + webgl_texture_src_type = gl.UNSIGNED_SHORT_5_6_5; + raw_channel_bit_depth = k_exotic_raw_channel_bit_depth; + raw_channel_count = 3; + raw_channel_format = 'unorm'; + } + // depth stencil + else if (ue_pixel_format === 'PF_DepthStencil' || ue_pixel_format === 'PF_ShadowDepth' || ue_pixel_format === 'PF_D24') + { + if (this.subresource_version_info['subresource'] == 'stencil') + { + webgl_texture_internal_format = gl.R8UI; + webgl_texture_src_format = gl.RED_INTEGER; + webgl_texture_src_type = gl.UNSIGNED_BYTE; + raw_channel_bit_depth = 8; + raw_channel_count = 1; + raw_channel_format = 'uint'; + } + else + { + webgl_texture_internal_format = gl.R32F; + webgl_texture_src_format = gl.RED; + webgl_texture_src_type = gl.FLOAT; + raw_channel_bit_depth = 32; + raw_channel_count = 1; + raw_channel_format = 'float'; + } + } + else + { + this.error(`Pixel format ${ue_pixel_format} is not supported for visualization.`); + return null; + } + + var shader_float_vector = [null, 'float', 'vec2', 'vec3', 'vec4']; + + var shader_sampler_type = 'sampler2D'; + var shader_sampler_return_type = shader_float_vector; + var shader_display_operation = 'texel'; + if (webgl_texture_src_format === gl.RED_INTEGER || webgl_texture_src_format === gl.RG_INTEGER || webgl_texture_src_format === gl.RGBA_INTEGER) + { + var divide = (BigInt(1) << BigInt(raw_channel_bit_depth)) - 1n; + shader_sampler_type = 'usampler2D'; + shader_sampler_return_type = [null, 'uint', 'uvec2', 'uvec3', 'uvec4']; + shader_display_operation = `${shader_float_vector[raw_channel_count]}(${shader_display_operation}) / ${divide}.0`; + } + + var webgl_channel_count = 0; + if (webgl_texture_src_format === gl.RED || webgl_texture_src_format === gl.RED_INTEGER) + { + webgl_channel_count = 1; + } + else if (webgl_texture_src_format === gl.RG || webgl_texture_src_format === gl.RG_INTEGER) + { + webgl_channel_count = 2; + } + else if (webgl_texture_src_format === gl.RGB) + { + webgl_channel_count = 3; + } + else if (webgl_texture_src_format === gl.RGBA || webgl_texture_src_format === gl.RGBA_INTEGER) + { + webgl_channel_count = 4; + } + + var webgl_pixel_shader_private = ``; + + var shader_fetch_operation = '(\n'; + for (var i = 0; i < webgl_texture_count; i++) + { + webgl_pixel_shader_private += `uniform ${shader_sampler_type} texture${i};\n`; + + shader_fetch_operation += `\t\t(texelFetch(texture${i}, texel_coord, 0) << ${8 * i})`; + if (i + 1 == webgl_texture_count) + { + shader_fetch_operation += `)`; + } + else + { + shader_fetch_operation += ` |\n`; + } + } + + if (webgl_texture_count == 1) + { + shader_fetch_operation = `texelFetch(texture0, texel_coord , 0)`; + } + + const k_get_n_channels = new Array( + '', + '.r', + '.rg', + '.rgb', + '.rgba' + ); + + var shader_display_assignment = `display${k_get_n_channels[raw_channel_count]}`; + + webgl_pixel_shader_private += ` +${shader_sampler_return_type[raw_channel_count]} fetchTexel(vec2 uv) +{ + ivec2 texel_coord = ivec2(uv * vec2(textureSize(texture0, 0))); + ${shader_sampler_return_type[4]} raw = ${shader_fetch_operation}; + return raw${k_get_n_channels[raw_channel_count]}; +} + +in vec2 uv; +out vec4 display; +`; + + var webgl_pixel_shader_public = `// WebGL 2.0 visualization shader for a ${ue_pixel_format} ${this.subresource_version_info['subresource']} + +${shader_sampler_return_type[raw_channel_count]} texel = fetchTexel(uv); +${shader_display_assignment} = ${shader_display_operation};`; + + var gl_format = {}; + gl_format['webgl_internal_format'] = webgl_texture_internal_format; + gl_format['webgl_src_format'] = webgl_texture_src_format; + gl_format['webgl_src_type'] = webgl_texture_src_type; + gl_format['webgl_texture_count'] = webgl_texture_count; + gl_format['webgl_pixel_shader_public'] = webgl_pixel_shader_public; + gl_format['webgl_pixel_shader_private'] = webgl_pixel_shader_private; + gl_format['webgl_channel_count'] = webgl_channel_count; + gl_format['raw_channel_swizzling'] = raw_channel_swizzling; + gl_format['raw_channel_bit_depth'] = raw_channel_bit_depth; + gl_format['raw_channel_count'] = raw_channel_count; + gl_format['raw_channel_format'] = raw_channel_format; + gl_format['ue_pixel_format'] = ue_pixel_format; + + return gl_format; + } + + change_pixel_scaling(pixel_scaling_button) + { + if (!this.is_ready) + { + return; + } + + const pixel_scalings = { + 'Fit': 0, + '1:1': 1, + '2:1': 2, + '4:1': 4, + '8:1': 8, + '16:1': 16, + }; + this.resize_canvas(pixel_scalings[pixel_scaling_button.value]); + update_value_selection(document.getElementById('texture_visualization_change_pixel_scaling'), pixel_scaling_button.value); + } + + change_src_channels(new_src_channels) + { + if (!this.is_ready) + { + return; + } + + if (new_src_channels.value == this.src_channels) + { + return; + } + + this.src_channels = new_src_channels.value; + + update_value_selection(document.getElementById('texture_visualization_change_src_channels'), this.src_channels); + + this.refresh_texture_visualization(); + } + + change_src_color(new_src_color_space) + { + if (!this.is_ready) + { + return; + } + + if (new_src_color_space.value == this.src_color_space) + { + return; + } + + this.src_color_space = new_src_color_space.value; + + update_value_selection(document.getElementById('texture_visualization_change_src_color'), this.src_color_space); + + this.refresh_texture_visualization(); + } + + change_display_mode(new_mode) + { + if (!this.is_ready) + { + return; + } + + if (new_mode.value == this.display_mode) + { + return; + } + + this.display_mode = new_mode.value; + + update_value_selection(document.getElementById('texture_visualization_change_display_modes'), this.display_mode); + + if (this.display_mode == 'Visualization') + { + document.getElementById('texture_visualization_code_input').readOnly = false; + } + else + { + document.getElementById('texture_visualization_code_input').readOnly = true; + } + + this.refresh_texture_visualization(); + } + + get_subresource_extent() + { + var extent = {}; + extent['x'] = this.resource_desc['ExtentX']; + extent['y'] = this.resource_desc['ExtentY']; + + if (this.subresource_version_info['subresource'].startsWith('mip')) + { + var mip_id = Number(this.subresource_version_info['subresource'].substring(3)); + + for (var i = 0; i < mip_id; i++) + { + extent['x'] = Math.floor(extent['x'] / 2); + extent['y'] = Math.floor(extent['y'] / 2); + } + } + + return extent; + } + + create_gl_texture(webgl_internal_format, webgl_src_format, webgl_src_type, extent, converted_data) + { + console.assert(this.is_ready); + var gl = this.gl; + + var texture = gl.createTexture(); + gl.activeTexture(gl.TEXTURE0); + gl.bindTexture(gl.TEXTURE_2D, texture); + gl.texImage2D( + gl.TEXTURE_2D, + /* level = */ 0, + webgl_internal_format, + extent['x'], + extent['y'], + /* border = */ 0, + webgl_src_format, + webgl_src_type, + converted_data); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + gl.bindTexture(gl.TEXTURE_2D, null); + + return texture; + } + + process_texture_data_for_visualization() + { + console.assert(this.is_ready); + var gl = this.gl; + + if (this.raw_texture_data === null) + { + console.error(`failed to load ${get_subresource_unique_version_name(this.subresource_version_info)}`); + return null; + } + + var extent = this.get_subresource_extent(); + var webgl_array_size = this.subresource_desc['webgl_channel_count'] * extent['x'] * extent['y']; + + // Reset the gl textures + this.gl_textures = []; + + // Exotic pixel format + if (this.subresource_desc['raw_channel_bit_depth'] == k_exotic_raw_channel_bit_depth) + { + var gl = this.gl; + var original_converted_data = null; + if (this.subresource_desc['webgl_src_type'] === gl.UNSIGNED_SHORT_5_6_5) + { + original_converted_data = new Uint16Array(this.raw_texture_data); + } + else if (this.subresource_desc['webgl_src_type'] === gl.UNSIGNED_INT_10F_11F_11F_REV || this.subresource_desc['webgl_src_type'] === gl.UNSIGNED_INT_2_10_10_10_REV) + { + original_converted_data = new Uint32Array(this.raw_texture_data); + } + else + { + return null; + } + + var texture = this.create_gl_texture(this.subresource_desc['webgl_internal_format'], this.subresource_desc['webgl_src_format'], this.subresource_desc['webgl_src_type'], extent, original_converted_data); + this.gl_textures.push(texture); + } + else if (this.subresource_desc['webgl_texture_count'] > 1) + { + var original_converted_data = null; + if (this.subresource_desc['raw_channel_bit_depth'] === 8) + { + original_converted_data = new Uint8Array(this.raw_texture_data); + } + else if (this.subresource_desc['raw_channel_bit_depth'] === 16) + { + original_converted_data = new Uint16Array(this.raw_texture_data); + } + else if (this.subresource_desc['raw_channel_bit_depth'] === 32) + { + original_converted_data = new Uint32Array(this.raw_texture_data); + } + else + { + return null; + } + + for (var tex_id = 0; tex_id < this.subresource_desc['webgl_texture_count']; tex_id++) + { + var converted_data = new Uint8Array(webgl_array_size); + + for (var y = 0; y < extent['y']; y++) + { + for (var x = 0; x < extent['x']; x++) + { + for (var c = 0; c < this.subresource_desc['webgl_channel_count']; c++) + { + var texel_offset = x + extent['x'] * y; + + var value = 0; + if (c < this.subresource_desc['raw_channel_count']) + { + var src = original_converted_data[texel_offset * this.subresource_desc['raw_channel_count'] + this.subresource_desc['raw_channel_swizzling'][c]]; + value = (src >> (8 * tex_id)) % 256; + } + converted_data[texel_offset * this.subresource_desc['webgl_channel_count'] + c] = value; + } + } + } + + var texture = this.create_gl_texture(this.subresource_desc['webgl_internal_format'], this.subresource_desc['webgl_src_format'], this.subresource_desc['webgl_src_type'], extent, converted_data); + this.gl_textures.push(texture); + } + } + else + { + var gl = this.gl; + var converted_data = null; + var original_converted_data = null; + if (this.subresource_desc['webgl_src_type'] === gl.UNSIGNED_BYTE) + { + original_converted_data = new Uint8Array(this.raw_texture_data); + converted_data = new Uint8Array(webgl_array_size); + } + else if (this.subresource_desc['webgl_src_type'] === gl.UNSIGNED_SHORT || this.subresource_desc['webgl_src_type'] === gl.HALF_FLOAT) + { + original_converted_data = new Uint16Array(this.raw_texture_data); + converted_data = new Uint16Array(webgl_array_size); + } + else if (this.subresource_desc['webgl_src_type'] === gl.FLOAT) + { + original_converted_data = new Float32Array(this.raw_texture_data); + converted_data = new Float32Array(webgl_array_size); + } + else + { + return null; + } + + for (var y = 0; y < extent['y']; y++) + { + for (var x = 0; x < extent['x']; x++) + { + for (var c = 0; c < this.subresource_desc['webgl_channel_count']; c++) + { + var i = this.subresource_desc['webgl_channel_count'] * (x + extent['x'] * y); + + var value = 0; + if (c < this.subresource_desc['raw_channel_count']) + { + value = original_converted_data[i + this.subresource_desc['raw_channel_swizzling'][c]]; + } + converted_data[i + c] = value; + } + } + } + + var texture = this.create_gl_texture(this.subresource_desc['webgl_internal_format'], this.subresource_desc['webgl_src_format'], this.subresource_desc['webgl_src_type'], extent, converted_data); + this.gl_textures.push(texture); + } + } + + compile_screen_shader_program(frag_code) + { + var vert_code = ` +in vec3 coordinates; +out highp vec2 uv; +void main(void) { + gl_Position = vec4(coordinates, 1.0); + uv.x = 0.5 + coordinates.x * 0.5; + uv.y = 0.5 - coordinates.y * 0.5; +}`; + + var shader_program = gl_create_shader_program(this.gl, vert_code, frag_code); + if (typeof shader_program === 'string') + { + document.getElementById('texture_visualization_code_log').value = 'Compilation failed:\n' + shader_program; + return null; + } + else + { + document.getElementById('texture_visualization_code_log').value = 'Compilation succeeded'; + } + return shader_program; + } + + refresh_texture_visualization() + { + console.assert(this.is_ready); + console.assert(this.gl_textures); + + var shader_program = null; + if (this.display_mode == 'NaN') + { + shader_program = this.gl_nan_program; + } + else if (this.display_mode == 'Inf') + { + shader_program = this.gl_inf_program; + } + else + { + var user_frag_code = document.getElementById('texture_visualization_code_input').value; + + var final_frag_code = this.subresource_desc['webgl_pixel_shader_private'] + 'void main(void) { display = vec4(0.0, 0.0, 0.0, 0.0);\n'; + final_frag_code += user_frag_code; + final_frag_code += '\n'; + + if (this.src_channels == 'R') + { + final_frag_code += 'display.rgb = vec3(display.r, 0.0, 0.0);'; + } + else if (this.src_channels == 'G') + { + final_frag_code += 'display.rgb = vec3(0.0, display.g, 0.0);'; + } + else if (this.src_channels == 'B') + { + final_frag_code += 'display.rgb = vec3(0.0, 0.0, display.b);'; + } + else if (this.src_channels == 'A') + { + final_frag_code += 'display.rgb = display.aaa;'; + } + + // verify_backbuffer_color_space() check webgl is a sRGB gamut backbuffer + if (this.src_color_space == 'Gamut=sRGB Pixel Values') + { + // NOP because verify_backbuffer_color_space() check webgl is a sRGB backbuffer, that directly export pixel values + } + else if (this.src_color_space == 'Gamut=sRGB Linear[0;1]') + { + final_frag_code += 'display.rgb = LinearToWebGLDisplayGamma(display.rgb);'; + } + else if (this.src_color_space == 'Gamut=sRGB Linear ACES Film') + { + final_frag_code += 'display.rgb = LinearToWebGLDisplayGamma(ACESFilm(display.rgb));'; + } + else if (this.src_color_space == 'sRGB') + { + final_frag_code += 'display.rgb = LinearToWebGLDisplayGamma(SRGBToLinear(display.rgb));'; + } + else if (this.src_color_space == 'Rec709') + { + final_frag_code += 'display.rgb = LinearToWebGLDisplayGamma(Rec709ToLinear(display.rgb));'; + } + final_frag_code += '}'; + + shader_program = this.compile_screen_shader_program(final_frag_code); + + if (!shader_program) + { + return; + } + + // Save the user code if compilation have succeeded. + g_shader_code_dict[this.shader_code_saving_key] = user_frag_code; + } + + var gl = this.gl; + gl.clearColor(0.0, 0.0, 0.0, 1.0); + gl.clear(gl.COLOR_BUFFER_BIT); + + { + gl.useProgram(shader_program); + gl.bindBuffer(gl.ARRAY_BUFFER, this.gl_vertex_buffer); + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this.gl_index_buffer); + + var coord = gl.getAttribLocation(shader_program, "coordinates"); + gl.vertexAttribPointer(coord, 3, gl.FLOAT, false, 0, 0); + gl.enableVertexAttribArray(coord); + + for (var tex_id = 0; tex_id < this.gl_textures.length; tex_id++) + { + gl.activeTexture(gl.TEXTURE0 + tex_id); + gl.bindTexture(gl.TEXTURE_2D, this.gl_textures[tex_id]); + + var texture_sampler = gl.getUniformLocation(shader_program, 'texture' + tex_id); + gl.uniform1i(texture_sampler, tex_id); + } + + gl.viewport(0, 0, this.canvas.width, this.canvas.height); + gl.drawElements(gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0); + } + } +} // class TextureView + +function display_texture(subresource_version_info) +{ + if (g_view.resource_view !== null && get_subresource_unique_version_name(g_view.resource_view.subresource_version_info) == get_subresource_unique_version_name(subresource_version_info)) + { + return; + } + + var resource_desc = get_resource_desc(subresource_version_info['resource']); + g_view.set_resource_view(new TextureView(subresource_version_info, resource_desc)); +} + + +// -------------------------------------------------------------------- DISPLAY BUFFER + +const k_buffer_pixel_per_row = 20; +const k_buffer_max_display_row_count = 50; +const k_buffer_display_row_buffer = 50; + + +class GenericBufferView extends ResourceView +{ + constructor(subresource_version_info, resource_desc) + { + super(subresource_version_info, resource_desc); + this.raw_buffer_data = null; + this.raw_buffer_data_path = null; + this.viewport_selected = false; + this.display_row_start = 0; + this.selected_address = -1; + this.structure_metadata = null; + this.display_elem_using_rows = resource_desc['NumElements'] == 1; + } + + setup_html(parent_dom) + { + var html = ''; + + if (this.resource_desc['Desc'] != 'FRDGParameterStruct') + { + var resource_info_htmls = ` + <table width="100%" class="resource_desc pretty_table">`; + + for (var key in this.resource_desc) + { + if (this.resource_desc.hasOwnProperty(key)) + { + var value = this.resource_desc[key]; + + if (key == 'Metadata') + { + if (this.resource_desc[key] == k_null_json_ptr) + { + value = 'nullptr'; + } + else if (this.structure_metadata) + { + value = `${this.structure_metadata['StructTypeName']} (${get_filename(this.structure_metadata['FileName'])}:${this.structure_metadata['FileLine']})`; + } + } + + resource_info_htmls += ` + <tr> + <td>${key}</td> + <td>${value}</td> + </tr>`; + } + } + + resource_info_htmls += ` + </table>`; + + html += ` + <div class="main_div"> + <div class="selection_list_title">Buffer descriptor: ${this.resource_desc['Name']}</div> + <div> + ${resource_info_htmls} + </div> + </div>`; + } + + html += ` + <div class="main_div"> + <div class="selection_list_title" style="width: auto;">Buffer visualization: ${this.resource_desc['Name']}</div> + <div id="buffer_outter"> + <div id="buffer_viewport_header"> + <table width="100%" id="buffer_visualization_format_outter"> + <tr> + <td style="padding: 4px 20px 0 20px; text-align: right;" width="40px">Format:</td> + <td> + <input type="text" id="buffer_visualization_format" onchange="g_view.resource_view.refresh_buffer_visualization(true);" style="width: 100%;" /> + </td> + </tr> + </table> + <div id="buffer_visualization_member_search_outter"> + <input type="search" id="buffer_visualization_member_search" oninput="g_view.resource_view.refresh_members();" onchange="g_view.resource_view.refresh_members();" style="width: 100%;" placeholder="Search member..." /> + </div> + </div> + <div id="buffer_viewport"> + <div id="buffer_content_pannel"></div> + </div> + </div> + </div>`; + + parent_dom.innerHTML = html; + + if (this.structure_metadata) + { + // document.getElementById('buffer_visualization_format').value = `${this.structure_metadata['StructTypeName']} (${get_filename(this.structure_metadata['FileName'])}:${this.structure_metadata['FileLine']})`; + // document.getElementById('buffer_visualization_format').readOnly = true; + document.getElementById('buffer_visualization_format_outter').style.display = 'none'; + } + else + { + var default_format = ''; + { + var byte_per_element = this.resource_desc['BytesPerElement']; + var member_count = byte_per_element / 4; + + var default_format = 'hex(uint)'; + + // DrawIndirect flags means this is certainly a 32bit uint. + if ('Usage' in this.resource_desc && this.resource_desc['Usage'].includes('DrawIndirect')) + { + default_format = 'uint'; + } + + var format_per_column = []; + for (var i = 0; i < member_count; i++) + { + format_per_column.push(default_format); + } + + default_format = format_per_column.join(', '); + } + + document.getElementById('buffer_visualization_format').value = default_format; + document.getElementById('buffer_visualization_member_search_outter').style.display = 'none'; + } + + // Setup mouse callbacks + { + var buffer_view = this; + + document.getElementById('buffer_outter').onclick = function(event) { buffer_view.onclick_buffer_outter(event); }; + document.getElementById('buffer_outter').onmouseleave = function(event) { buffer_view.set_select_viewport(false); }; + document.getElementById('buffer_viewport').onclick = function(event) { buffer_view.onclick_buffer_viewport(event); }; + document.getElementById('buffer_viewport').onscroll = function(event) { buffer_view.update_buffer_scroll(/* force_refresh = */ false); }; + } + + var buffer_view = this; + console.assert(this.raw_buffer_data_path); + load_resource_binary_file(this.raw_buffer_data_path, function(raw_buffer_data) + { + if (raw_buffer_data) + { + buffer_view.raw_buffer_data = raw_buffer_data; + buffer_view.refresh_buffer_visualization(/* refresh header = */ true); + buffer_view.onload(); + } + else + { + document.getElementById('buffer_content_pannel').innerHTML = ` + Error: ${this.raw_buffer_data_path} couldn't be loaded.`; + } + }); + + document.title = `${g_view.pass_data['EventName']} - ${this.resource_desc['Name']}`; + } + + refresh_members() + { + this.refresh_buffer_visualization(/* refresh_header = */ !this.display_elem_using_rows); + } + + onclick_buffer_outter(event) + { + this.set_select_viewport(true); + + if (this.display_elem_using_rows) + { + return; + } + + var content_rect = document.getElementById('buffer_content_pannel').getBoundingClientRect(); + var header_rect = document.getElementById('buffer_content_header').getBoundingClientRect(); + + var html_x = event.clientX - content_rect.left; + var html_y = event.clientY - content_rect.top - header_rect.height; + + var new_selected_address = Math.floor(html_y / k_buffer_pixel_per_row); + + if (new_selected_address != this.selected_address && new_selected_address < this.resource_desc['NumElements']) + { + this.selected_address = new_selected_address; + this.refresh_buffer_visualization(); + } + } + + onclick_buffer_viewport(event) + { + this.set_select_viewport(true); + } + + set_select_viewport(selected) + { + if (this.viewport_selected === selected) + { + return; + } + + this.viewport_selected = selected; + if (this.viewport_selected) + { + var buffer_view = this; + document.getElementById('buffer_outter').classList.add('selected'); + document.getElementById('buffer_viewport').style.overflow = 'scroll'; + //document.getElementById('buffer_viewport').style.margin = '0px 0px 0px 0px'; + } + else + { + document.getElementById('buffer_outter').classList.remove('selected'); + document.getElementById('buffer_viewport').style.overflow = 'hidden'; + //document.getElementById('buffer_viewport').style.margin = `0px ${k_scroll_width}px ${k_scroll_width}px 0px`; + } + } + + update_buffer_scroll(force_refresh) + { + var buffer_viewport = document.getElementById('buffer_viewport'); + + var new_display_row_start = Math.max(2 * Math.floor((buffer_viewport.scrollTop / k_buffer_pixel_per_row) * 0.5), 0); + + if (new_display_row_start != this.display_row_start || force_refresh) + { + this.display_row_start = new_display_row_start; + this.refresh_buffer_visualization(/* refresh_header = */ false); + } + } + + go_to_address() + { + var byte_per_element = this.resource_desc['BytesPerElement']; + + var address = document.getElementById('buffer_address_input').value; + if (address == '') + { + if (this.selected_address != -1) + { + this.selected_address = -1; + this.update_buffer_scroll(/* force_refresh = */ true); + } + return; + } + + var element_id = Math.floor(Number(address) / byte_per_element); + if (element_id < this.resource_desc['NumElements']) + { + this.selected_address = element_id; + + var buffer_viewport = document.getElementById('buffer_viewport'); + buffer_viewport.scrollTop = (element_id - 5) * k_buffer_pixel_per_row; + + this.update_buffer_scroll(/* force_refresh = */ true); + } + } + + refresh_buffer_visualization(refresh_header) + { + var byte_per_element = this.resource_desc['BytesPerElement']; + var num_element = this.resource_desc['NumElements']; + + var member_count = 0; + var member_names = []; + var member_byte_offset = []; + var member_format = []; + if (this.structure_metadata) + { + var member_search = document.getElementById('buffer_visualization_member_search').value; + + iterate_structure_members(this.structure_metadata, function(it) { + var column_format = undefined; + if (it.base_type == 'UBMT_INT32') + { + column_format = 'int'; + } + else if (it.base_type == 'UBMT_UINT32') + { + column_format = 'uint'; + } + else if (it.base_type == 'UBMT_FLOAT32') + { + column_format = 'float'; + } + else + { + return; + } + + if (member_search) + { + if (!it.cpp_name.toLowerCase().includes(member_search.toLowerCase())) + { + return; + } + } + + const k_suffixes = ['.x', '.y', '.z', '.w']; + + var relative_offset = 0; + for (var elem_id = 0; elem_id < Math.max(it.member['NumElements'], 1); elem_id++) + { + for (var row_id = 0; row_id < Math.max(it.member['NumRows'], 1); row_id++) + { + for (var column_id = 0; column_id < it.member['NumColumns']; column_id++) + { + var name = it.cpp_name; + + if (it.member['NumElements'] > 0) + { + name += `[${elem_id}]`; + } + if (it.member['NumRows'] > 1) + { + name += k_suffixes[row_id]; + } + if (it.member['NumColumns'] > 1) + { + name += k_suffixes[column_id]; + } + + member_count += 1; + member_byte_offset.push(it.byte_offset + relative_offset); + member_format.push(column_format); + member_names.push(name); + + relative_offset += 4; + } + } + } + }); + } + else + { + member_count = byte_per_element / 4; + + var text_format = document.getElementById('buffer_visualization_format').value; + + var column_formats = text_format.split(','); + + var byte_offset = 0; + + column_formats.forEach(function(value, index) { + var format_to_use = value.trim(); + + member_byte_offset.push(byte_offset); + member_format.push(format_to_use); + member_names.push(format_to_use); + + byte_offset += 4; + }); + + for (var i = member_format.length; i < member_count; i++) + { + var format_to_use = member_format[i % column_formats.length]; + + member_byte_offset.push(byte_offset); + member_format.push(format_to_use); + member_names.push(format_to_use); + + byte_offset += 4; + } + + } + + var column_count = member_count; + var row_count = num_element; + if (this.display_elem_using_rows) + { + if (this.structure_metadata) + { + column_count = 2; + } + else + { + column_count = 1; + } + row_count = member_count; + } + + var display_start_row_id = Math.max(this.display_row_start - k_buffer_display_row_buffer, 0); + var display_row_count = Math.min(row_count - display_start_row_id, k_buffer_max_display_row_count + 2 * k_buffer_display_row_buffer); + var display_end_row_id = display_start_row_id + display_row_count; + + var scroll_top = document.getElementById('buffer_viewport').scrollTop; + + if (refresh_header) + { + var address_search_value = ''; + if (document.getElementById('buffer_address_input')) + { + address_search_value = document.getElementById('buffer_address_input').value; + } + + var classes = 'pretty_table'; + if (this.display_elem_using_rows) + { + classes += ' display_elem_using_rows'; + } + + var resource_content = ` + <table id="buffer_content_table" class="${classes}" width="100%"> + <tr class="header" id="buffer_content_header">`; + + if (this.display_elem_using_rows) + { + resource_content += `<td>Member</td><td>Value</td>`; + if (this.structure_metadata) + { + resource_content += `<td>Hex</td>`; + } + } + else + { + resource_content += `<td><input type="text" id="buffer_address_input" onchange="g_view.resource_view.go_to_address();" style="width: 100%;" placeholder="Address..." value="${address_search_value}" /></td>`; + for (var i = 0; i < member_count; i++) + { + resource_content += `<td>${member_names[i]}</td>`; + } + } + + resource_content += ` + <td></td> + </tr> + </table>`; + + document.getElementById('buffer_content_pannel').innerHTML = resource_content; + } + else + { + var table_dom = document.getElementById("buffer_content_table"); + while (table_dom.lastElementChild != table_dom.firstElementChild) + { + table_dom.removeChild(table_dom.lastElementChild); + } + } + + { + // Start padding + var resource_content = ``; + { + resource_content += ` + <tr> + <td style="height: ${k_buffer_pixel_per_row * display_start_row_id}px; padding: 0;"></td> + </tr>`; + } + + for (var row_id = display_start_row_id; row_id < display_end_row_id; row_id++) + { + var elem_id = row_id; + if (this.display_elem_using_rows) + { + elem_id = 0; + } + + var classes = ''; + if (elem_id == this.selected_address) + { + classes = 'highlighted'; + } + + resource_content += ` + <tr class="${classes}">`; + + if (this.display_elem_using_rows) + { + resource_content += ` + <td>${member_names[row_id]}</td>`; + } + else + { + resource_content += ` + <td>0x${(elem_id * byte_per_element).toString(16)}</td>`; + } + + for (var i = 0; i < column_count; i++) + { + var member_id = i; + if (this.display_elem_using_rows) + { + member_id = row_id; + } + + var byte_offset = byte_per_element * elem_id + member_byte_offset[member_id]; + + var value = null; + var display = member_format[member_id]; + + if (this.display_elem_using_rows && i == 1 && this.structure_metadata) + { + display = `hex(${display})`; + } + + if (display == 'float') + { + value = decode_float32((new Uint32Array(this.raw_buffer_data, byte_offset, 1))[0]); + } + else if (display == 'half') + { + value = decode_float16((new Uint16Array(this.raw_buffer_data, byte_offset, 1))[0]); + } + else if (display == 'int') + { + value = (new Int32Array(this.raw_buffer_data, byte_offset, 1))[0]; + } + else if (display == 'uint') + { + value = (new Uint32Array(this.raw_buffer_data, byte_offset, 1))[0]; + } + else if (display == 'short') + { + value = (new Int16Array(this.raw_buffer_data, byte_offset, 1))[0]; + } + else if (display == 'ushort') + { + value = (new Uint16Array(this.raw_buffer_data, byte_offset, 1))[0]; + } + else if (display == 'char') + { + value = (new Int8Array(this.raw_buffer_data, byte_offset, 1))[0]; + } + else if (display == 'uchar') + { + value = (new Uint8Array(this.raw_buffer_data, byte_offset, 1))[0]; + } + else if (display == 'hex(int)' || display == 'hex(uint)' || display == 'hex(float)') + { + value = '0x' + (new Uint32Array(this.raw_buffer_data, byte_offset, 1))[0].toString(16).padStart(8, 0); + } + else if (display == 'hex(short)' || display == 'hex(ushort)' || display == 'hex(half)') + { + value = '0x' + (new Uint16Array(this.raw_buffer_data, byte_offset, 1))[0].toString(16).padStart(4, 0); + } + else if (display == 'hex(char)' || display == 'hex(uchar)') + { + value = '0x' + (new Uint8Array(this.raw_buffer_data, byte_offset, 1))[0].toString(16).padStart(2, 0); + } + else if (display == 'bin(int)' || display == 'bin(uint)' || display == 'bin(float)') + { + value = '0b' + (new Uint32Array(this.raw_buffer_data, byte_offset, 1))[0].toString(2).padStart(32, 0); + } + else if (display == 'bin(short)' || display == 'bin(ushort)' || display == 'bin(half)') + { + value = '0b' + (new Uint16Array(this.raw_buffer_data, byte_offset, 1))[0].toString(2).padStart(16, 0); + } + else if (display == 'bin(char)' || display == 'bin(uchar)') + { + value = '0b' + (new Uint8Array(this.raw_buffer_data, byte_offset, 1))[0].toString(2).padStart(8, 0); + } + else + { + value = `Unknown ${display}`; + } + + resource_content += `<td>${value}</td>`; + } + + resource_content += ` + <td></td> + </tr>`; + } // for (var row_id = display_start_row_id; row_id < display_end_row_id; row_id++) + + if (row_count == 0) + { + resource_content += ` + <tr> + <td colspan="${column_count + 2}" class="empty" align="center">Empty</td> + </tr>`; + } + + // End padding + { + resource_content += ` + <tr> + <td style="height: ${k_buffer_pixel_per_row * (row_count - display_end_row_id)}px; padding: 0;"></td> + </tr>`; + } + + document.getElementById('buffer_content_table').innerHTML += resource_content; + } + + document.getElementById('buffer_viewport').scrollTop = scroll_top; + + { + var min_row_count = 10; + document.getElementById('buffer_viewport').style.height = `${k_style_scroll_width + Math.min(Math.max(row_count + 1, min_row_count), k_buffer_max_display_row_count) * k_buffer_pixel_per_row}px`; + } + } + + release() + { + this.raw_buffer_data = null; + } +} // class GenericBufferView + + +class BufferView extends GenericBufferView +{ + constructor(subresource_version_info, resource_desc) + { + super(subresource_version_info, resource_desc); + this.raw_buffer_data_path = `Resources/${get_subresource_unique_version_name(this.subresource_version_info)}.bin`; + + if (resource_desc['Metadata'] != k_null_json_ptr) + { + this.structure_metadata = load_structure_metadata(resource_desc['Metadata']); + } + } +} // class BufferView + + +// -------------------------------------------------------------------- PARAMETER STRUCTURE + +class ParameterStructureView extends GenericBufferView +{ + constructor(subresource_version_info, resource_desc, structure_metadata) + { + super(subresource_version_info, resource_desc); + this.raw_buffer_data_path = `Structures/${subresource_version_info['resource']}.bin`; + this.structure_metadata = structure_metadata; + } + +} // class ParameterStructureView + +function display_pass_parameters(pass_id) +{ + display_pass_internal(pass_id); + + var pass_data = g_passes[pass_id]; + var structure_metadata = load_structure_metadata(pass_data['ParametersMetadata']); + + var subresource_version_info = {}; + subresource_version_info['subresource'] = null; + subresource_version_info['resource'] = pass_data['Parameters']; + subresource_version_info['pass'] = pass_data['Pointer']; + subresource_version_info['draw'] = -1; + + var resource_desc = {}; + resource_desc['Name'] = 'PassParameters'; + resource_desc['ByteSize'] = structure_metadata['Size']; + resource_desc['Desc'] = 'FRDGParameterStruct'; + resource_desc['BytesPerElement'] = resource_desc['ByteSize']; + resource_desc['NumElements'] = 1; + resource_desc['Metadata'] = pass_data['ParametersMetadata']; + resource_desc['Usage'] = []; + + g_view.set_resource_view(new ParameterStructureView(subresource_version_info, resource_desc, structure_metadata)); +} + + +// -------------------------------------------------------------------- GENERIC 3D STRUCTURE VIEW + +class Generic3DStructureView extends ResourceView +{ + constructor(subresource_version_info, resource_desc) + { + super(subresource_version_info, resource_desc); + this.is_ready = false; + this.release(); + this.camera_pos = [200.0, 200.0, 200.0]; + this.camera_fov = 90.0; + this.camera_longitude = 0.0; + this.camera_latitude = 0.0; + this.camera_look_at([0.0, 0.0, 0.0]); + this.camera_movement_u = 0; + this.camera_movement_v = 0; + this.camera_movement_z = 0; + this.camera_movement_speed = 100.0; // 1 m/s + this.prev_time = 0; + } + + setup_html(parent_dom) + { + var resource_info_htmls = ''; + { + resource_info_htmls += ` + <table width="100%" class="pretty_table resource_desc">`; + + for (var key in this.resource_desc) + { + if (this.resource_desc.hasOwnProperty(key)){ + resource_info_htmls += ` + <tr> + <td>${key}</td> + <td>${this.resource_desc[key]}</td> + </tr>`; + } + } + + resource_info_htmls += ` + </table>`; + } + + var title = prettify_subresource_unique_name(this.subresource_version_info, this.resource_desc); + if (this.subresource_version_info['draw'] >= 0) + { + title += ` draw:${this.subresource_version_info['draw']}`; + } + + var html = ` + <div class="main_div"> + <div class="selection_list_title">Ray-tracing Acceleration Structure visualization: ${title}</div> + <div id="canvas_outter"> + <div id="canvas_header"> + <div class="button_list"> + <input type="button" onclick="g_view.resource_view.copy_canvas_to_clipboard();" value="Copy to clipboard"/> + </div> + </div> + <canvas + id="generic_3d_visualization_canvas" + width="100" + height="100" + style="width: 100px; height: 100px;"></canvas> + </div> + <table width="100%"> + <tr> + <td width="50%"> + <div class="selection_list_title">Buffer descriptor</div> + ${resource_info_htmls} + </td> + </tr> + </table> + </div>`; + + parent_dom.innerHTML = html; + + // Init WebGL 2.0 + this.init_gl(); + + // Setup mouse motion callback + { + var generic_3d_view = this; + + this.canvas.onclick = function(event) { generic_3d_view.onclick_canvas(); }; + document.getElementById('canvas_outter').onmouseleave = function(event) { generic_3d_view.set_select_viewport(false); } + } + + this.init(); + } + + init_gl() + { + var gl_ctx_attributes = { + antialias: false, + depth: false + }; + + // Init WebGL 2.0 + this.canvas = document.getElementById('generic_3d_visualization_canvas'); + + var gl_ctx_attributes = { + alpha: true, + // premultipliedAlpha: true, // TODO + antialias: false, + depth: true, + stencil: false, + powerPreference: "low-power", + preserveDrawingBuffer: true, + xrCompatible: false, + }; + + var gl = this.canvas.getContext('webgl2', gl_ctx_attributes); + this.gl = gl; + + verify_backbuffer_color_space(gl); + + // Init WebGL extensions + { + var available_extensions = this.gl.getSupportedExtensions(); + var required_extensions = ['EXT_texture_norm16']; + + this.gl_ext = {}; + + var gl = this.gl; + var gl_ext = this.gl_ext; + required_extensions.forEach(function(ext_name) + { + gl_ext[ext_name] = gl.getExtension(ext_name); + }); + } + + // Create unit cube buffers exactly like GUnitCubeVertexBuffer and GUnitCubeIndexBuffer + { + var unit_cube_vertices = new Array(8 * 3); + for (var z = 0; z < 2; z++) + { + for (var y = 0; y < 2; y++) + { + for (var x = 0; x < 2; x++) + { + var dest = x * 4 + y * 2 + z; + unit_cube_vertices[dest * 3 + 0] = x ? -100.0 : 100.0; + unit_cube_vertices[dest * 3 + 1] = y ? -100.0 : 100.0; + unit_cube_vertices[dest * 3 + 2] = z ? -100.0 : 100.0; + } + } + } + + var unit_cube_indices = [ + 0, 2, 3, + 0, 3, 1, + 4, 5, 7, + 4, 7, 6, + 0, 1, 5, + 0, 5, 4, + 2, 6, 7, + 2, 7, 3, + 0, 4, 6, + 0, 6, 2, + 1, 3, 7, + 1, 7, 5, + ]; + + this.gl_unit_cube = {} + this.gl_unit_cube.vertex_buffer = gl_create_vertex_buffer(gl, new Float32Array(unit_cube_vertices)); + this.gl_unit_cube.index_buffer = gl_create_index_buffer(gl, new Uint16Array(unit_cube_indices)); + this.gl_unit_cube.index_count = unit_cube_indices.length; + } + + // Create simple shader program + { + var vert_code = ` +uniform mat4 local_to_world; +uniform mat4 world_to_view; +uniform mat4 view_to_clip; + +in vec3 vertex_coordinates; +out vec3 interpolator_world; + +void main(void) { + vec4 world_pos = local_to_world * vec4(vertex_coordinates.xyz, 1.0); + vec4 view_pos = world_to_view * world_pos; + vec4 clip_pos = view_to_clip * view_pos; + + gl_Position = clip_pos; + interpolator_world = world_pos.xyz; +}`; + + var frag_code = ` +in vec3 interpolator_world; +out vec4 display; + +void main(void) { + vec3 normal = normalize(cross(dFdx(interpolator_world), dFdy(interpolator_world))); + + display = vec4(normal * 0.5 + 0.5, 1.0); +}`; + + this.gl_shader_program_simple = gl_create_shader_program(gl, vert_code, frag_code); + } + + // Set unpacking alignement to 1 to allow uploading texture size not multple of 4 + gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1); + } + + release_gl() + { + this.canvas = null; + this.gl = null; + this.gl_ext = null; + this.gl_unit_cube_vertex_buffer = null; + this.gl_unit_cube_index_buffer = null; + this.gl_shader_program_simple = null; + } + + draw_canvas() + { + console.error('unimplemented'); + } + + init() + { + console.error('unimplemented'); + } + + release() + { + this.viewport_selected = false; + this.release_gl(); + this.set_select_viewport(false); + } + + resize(ctx) + { + var dpi = window.devicePixelRatio || 1; + var viewport_width = ctx.width - 2 * k_style_padding_size - 2; + var viewport_height = viewport_width * 9.0 / 16.0; + + var canvas_outter = document.getElementById('canvas_outter'); + + this.canvas.style.width = `${viewport_width}px`; + this.canvas.style.height = `${viewport_height}px`; + this.canvas.width = Math.round(viewport_width * dpi); + this.canvas.height = Math.round(viewport_height * dpi); + } + + onclick_canvas() + { + if (!this.is_ready) + { + return; + } + + this.set_select_viewport(!this.viewport_selected); + } + + set_select_viewport(selected) + { + if (this.viewport_selected === selected) + { + return; + } + + this.viewport_selected = selected; + + this.canvas.oncontextmenu = function(event) { return false; }; + + var canvas_outter = document.getElementById('canvas_outter'); + + if (this.viewport_selected) + { + var generic_3d_view = this; + canvas_outter.classList.add('selected'); + //this.canvas.style.cursor = 'none'; + this.canvas.onmousemove = function(event) { generic_3d_view.canvas_onmousemove(event); }; + this.canvas.onwheel = function(event) { return generic_3d_view.canvas_onmousewheel(event); }; + + this.keydown_event = function(event) { generic_3d_view.canvas_onkeydown(event); }; + this.keyup_event = function(event) { generic_3d_view.canvas_onkeyup(event); }; + document.addEventListener( + "keydown", + this.keydown_event, + false); + document.addEventListener( + "keyup", + this.keyup_event, + false); + + this.shedule_next_tick(performance.now()); + } + else + { + canvas_outter.classList.remove('selected'); + this.canvas.style.cursor = 'default'; + this.canvas.onmousemove = null; + this.canvas.onwheel = null; + + document.removeEventListener( + "keydown", + this.keydown_event); + document.removeEventListener( + "keyup", + this.keyup_event); + + this.camera_movement_u = 0; + this.camera_movement_v = 0; + this.camera_movement_z = 0; + } + } + + canvas_onmousemove(event) + { + var dx = event.movementX; + var dy = event.movementY; + + var speed = (Math.PI / 180.0); + + this.camera_longitude -= dx * speed; + this.camera_latitude = Math.min(Math.max(this.camera_latitude - dy * speed, -0.4 * Math.PI), 0.4 * Math.PI); + } + + canvas_onmousewheel(event) + { + var zooming_in = event.deltaY < 0.0; + + if (zooming_in) + { + this.camera_movement_speed *= 2.0; + } + else + { + this.camera_movement_speed *= 0.5; + } + + return false; + } + + canvas_onkeydown(event) + { + if (event.key == 'w') + { + this.camera_movement_z = 1.0; + } + else if (event.key == 's') + { + this.camera_movement_z = -1.0; + } + else if (event.key == 'q') + { + this.camera_movement_v = 1.0; + } + else if (event.key == 'e') + { + this.camera_movement_v = -1.0; + } + else if (event.key == 'a') + { + this.camera_movement_u = -1.0; + } + else if (event.key == 'd') + { + this.camera_movement_u = 1.0; + } + } + + canvas_onkeyup(event) + { + if (event.key == 'w' && this.camera_movement_z > 0.0) + { + this.camera_movement_z = 0.0; + } + else if (event.key == 's' && this.camera_movement_z < 0.0) + { + this.camera_movement_z = 0.0; + } + else if (event.key == 'q' && this.camera_movement_v > 0.0) + { + this.camera_movement_v = 0.0; + } + else if (event.key == 'e' && this.camera_movement_v < 0.0) + { + this.camera_movement_v = 0.0; + } + else if (event.key == 'a' && this.camera_movement_u < 0.0) + { + this.camera_movement_u = 0.0; + } + else if (event.key == 'd' && this.camera_movement_u > 0.0) + { + this.camera_movement_u = 0.0; + } + } + + copy_canvas_to_clipboard() + { + if (!this.is_ready) + { + return; + } + + var pass_data = g_view.pass_data; + + var is_output_resource = is_pass_output_resource(pass_data, this.subresource_version_info); + + var text = ''; + text += `Dump:\n\t${g_infos['Project']} - ${g_infos['Platform']} - ${g_infos['RHI']} - ${g_infos['BuildVersion']} - ${g_infos['DumpTime']}\n\t${get_current_navigation()}\n` + text += `Pass:\n\t${pass_data['EventName']}\n`; + + { + var name = prettify_subresource_unique_name(this.subresource_version_info, this.resource_desc); + text += `${is_output_resource ? 'Output' : 'Input'} resource:\n\t${name}\n`; + } + + copy_canvas_to_clipboard(this.canvas, text); + } + + camera_look_at(pos) + { + var camera_dir_x = pos[0] - this.camera_pos[0]; + var camera_dir_y = pos[1] - this.camera_pos[1]; + var camera_dir_z = pos[2] - this.camera_pos[2]; + var camera_dir_len = Math.sqrt(camera_dir_x * camera_dir_x + camera_dir_y * camera_dir_y + camera_dir_z * camera_dir_z); + + this.camera_longitude = Math.atan2(camera_dir_y / camera_dir_len, camera_dir_x / camera_dir_len); + this.camera_latitude = Math.asin(camera_dir_z / camera_dir_len); + } + + get_view_matrix() + { + var camera_dir = [ + Math.cos(this.camera_longitude) * Math.cos(this.camera_latitude), + Math.sin(this.camera_longitude) * Math.cos(this.camera_latitude), + Math.sin(this.camera_latitude), + ]; + + return create_view_matrix(this.camera_pos, camera_dir); + } + + get_proj_matrix() + { + if (false) + { + var width = 4.0; + var depth = 100.0; + + var matrix = create_null_matrix(); + matrix[0 + 0 * 4] = 1.0 / width; + matrix[1 + 1 * 4] = matrix[0 + 0 * 4] * this.canvas.width / this.canvas.height; + matrix[2 + 2 * 4] = - 1.0 / depth; + matrix[2 + 3 * 4] = 1.0; + matrix[3 + 3 * 4] = 1.0; + return matrix; + } + + return create_projection_matrix_reverse_z_persepective( + this.camera_fov * 0.5, this.canvas.width / this.canvas.height, /* clipping_plane = */ 10.0); + } + + shedule_next_tick(current_time) + { + var generic_3d_view = this; + this.prev_time = current_time; + requestAnimationFrame((new_time) => { + generic_3d_view.tick(new_time); + }); + } + + tick(current_time) + { + if (!this.viewport_selected) + { + return; + } + + var delta_seconds = current_time - this.prev_time; + + { + var delta_movements = 0.01 * delta_seconds * this.camera_movement_speed; + + var camera_dir = [ + Math.cos(this.camera_longitude) * Math.cos(this.camera_latitude), + Math.sin(this.camera_longitude) * Math.cos(this.camera_latitude), + Math.sin(this.camera_latitude), + ]; + + var camera_dir_u = [ + Math.sin(this.camera_longitude), + -Math.cos(this.camera_longitude), + 0.0, + ]; + + var camera_dir_v = [ + Math.cos(this.camera_longitude) * Math.sin(-this.camera_latitude), + Math.sin(this.camera_longitude) * Math.sin(-this.camera_latitude), + Math.cos(this.camera_latitude), + ]; + + this.camera_pos[0] += delta_movements * ( + this.camera_movement_z * camera_dir[0] + + this.camera_movement_u * camera_dir_u[0] + + this.camera_movement_v * camera_dir_v[0]); + this.camera_pos[1] += delta_movements * ( + this.camera_movement_z * camera_dir[1] + + this.camera_movement_u * camera_dir_u[1] + + this.camera_movement_v * camera_dir_v[1]); + this.camera_pos[2] += delta_movements * ( + this.camera_movement_z * camera_dir[2] + + this.camera_movement_u * camera_dir_u[2] + + this.camera_movement_v * camera_dir_v[2]); + } + + this.draw_canvas(); + this.shedule_next_tick(current_time); + } +} // class Generic3DStructureView + + +// -------------------------------------------------------------------- HARDWARE ACCELERATION STRUCTURE + +class RaytracingAccelerationStructureView extends Generic3DStructureView +{ + constructor(subresource_version_info, resource_desc) + { + super(subresource_version_info, resource_desc); + this.draw_calls = []; + this.scene_visualization_shader_programs = {}; + this.scene_visualization = 'Instances'; + } + + init() + { + document.getElementById('canvas_header').innerHTML += ` + <div class="button_list" id="change_scene_visualization"><!--- + ---><input type="button" onclick="g_view.resource_view.change_scene_visualization(this);" value="Instances"/><!--- + ---><input type="button" onclick="g_view.resource_view.change_scene_visualization(this);" value="Normals"/> + </div>`; + + update_value_selection(document.getElementById('change_scene_visualization'), this.scene_visualization); + + // Create visualization shader programs + this.scene_visualization_shader_programs = {}; + { + var vert_code = ` +uniform mat4 local_to_world; +uniform mat4 world_to_view; +uniform mat4 view_to_clip; + +in vec3 vertex_coordinates; +out vec3 interpolator_world; + +void main(void) { + vec4 world_pos = local_to_world * vec4(vertex_coordinates.xyz, 1.0); + vec4 view_pos = world_to_view * world_pos; + vec4 clip_pos = view_to_clip * view_pos; + + gl_Position = clip_pos; + interpolator_world = world_pos.xyz; +}`; + + var frag_normals_code = ` +in vec3 interpolator_world; +out vec4 display; + +void main(void) { + vec3 normal = normalize(cross(dFdx(interpolator_world), dFdy(interpolator_world))); + + display = vec4(normal * 0.5 + 0.5, 1.0); +}`; + + var frag_instances_code = ` +uniform uint instance_index; + +in vec3 interpolator_world; +out vec4 display; + +uint MurmurMix(uint Hash) +{ + Hash ^= Hash >> 16u; + Hash *= 0x85ebca6bu; + Hash ^= Hash >> 13u; + Hash *= 0xc2b2ae35u; + Hash ^= Hash >> 16u; + return Hash; +} + +vec3 IntToColor(uint Index) +{ + uint Hash = MurmurMix(Index); + + vec3 Color = vec3 + ( + (Hash >> 0u) & 255u, + (Hash >> 8u) & 255u, + (Hash >> 16u) & 255u + ); + + return Color * (1.0f / 255.0f); +} + +void main(void) { + vec3 normal = normalize(cross(dFdx(interpolator_world), dFdy(interpolator_world))); + + vec3 vert_color = IntToColor(1u + instance_index); + vec3 base_color = vert_color * pow(gl_FragCoord.w, 0.1); + + display = vec4(mix(base_color, normal * 0.5 + 0.5, 1.0 / 3.0), 1.0); +}`; + + this.scene_visualization_shader_programs['Normals'] = gl_create_shader_program( + this.gl, vert_code, frag_normals_code); + this.scene_visualization_shader_programs['Instances'] = gl_create_shader_program( + this.gl, vert_code, frag_instances_code); + } + + var raytracing_view = this; + var subresource_version_name = get_subresource_unique_version_name(this.subresource_version_info); + + load_resource_binary_file(`Resources/${subresource_version_name}.bin`, function(raw_raytracing_data) + { + if (raw_raytracing_data) + { + raytracing_view.parse_raw_raytracing_data(raw_raytracing_data); + raytracing_view.is_ready = true; + } + else + { + raytracing_view.error(`Error: Resources/${subresource_version_name}.bin couldn't be loaded.`); + } + }); + + document.title = `${g_view.pass_data['EventName']} - ${this.resource_desc['Name']}`; + } + + parse_raw_raytracing_data(raw_raytracing_data) + { + var is_little_endian = true; + + var data_view = new DataView(raw_raytracing_data); + var data_byte_offset = 0; + + function set_byte_offset(byte_offset) + { + data_byte_offset = byte_offset; + } + + function skip_bytes(byte_offset) + { + data_byte_offset += byte_offset; + } + + function read_uint8() + { + var r = data_view.getUint8(data_byte_offset); + data_byte_offset += 1; + return r; + } + + function read_uint32() + { + var r = data_view.getUint32(data_byte_offset, is_little_endian); + data_byte_offset += 4; + return r; + } + + function read_uint64() + { + var l = BigInt(data_view.getUint32(data_byte_offset, is_little_endian)); + var r = BigInt(data_view.getUint32(data_byte_offset + 4, is_little_endian)); + data_byte_offset += 8; + return is_little_endian + ? l + BigInt(2 ** 32) * r + : BigInt(2 ** 32) * l + r; + } + + function read_uint32_array(size) + { + var r = new Array(size); + for (var i = 0; i < size; i++) + { + r[i] = data_view.getUint32(data_byte_offset, is_little_endian); + data_byte_offset += 4; + } + return r; + } + + function read_float32_array(size) + { + var r = new Array(size); + for (var i = 0; i < size; i++) + { + r[i] = data_view.getFloat32(data_byte_offset, is_little_endian); + data_byte_offset += 4; + } + return r; + } + + function assert_magic(magic) + { + var m = read_uint64(); + if (magic !== m) + { + throw new Error(`Magic assertion ${magic} failed`); + } + } + + const MaxNumLayers = 64; + + // UE::HWRTScene::FSceneHeader + assert_magic(0x72ffa3376f48683bn); + assert_magic(1n); + var Offsets_Instances = read_uint32(); + var Offsets_Geometries = read_uint32(); + var Offsets_Buffers = read_uint32(); + var Offsets_Strings = read_uint32(); + var NumLayers = read_uint32(); + var PerLayerNumInstances = read_uint32_array(MaxNumLayers); + var NumInstances = read_uint32(); + var NumGeometries = read_uint32(); + var NumBuffers = read_uint32(); + var NumStrings = read_uint32(); + skip_bytes(4 * 2); + + set_byte_offset(Offsets_Instances); + var Instances = []; + for (var i = 0; i < NumInstances; i++) + { + var NewInstance = {}; + Instances.push(NewInstance); + + set_byte_offset(Offsets_Instances + i * (3 * 4 * 4 + 4 * 2 + 8)); + + // UE::HWRTScene::FInstanceDesc + NewInstance.Transform = read_float32_array(3 * 4); + var A = read_uint32(); + var B = read_uint32(); + NewInstance.InstanceID = (A >> 0) & 0xFFFFFF; + NewInstance.InstanceMask = (A >> 24) & 0xFF; + NewInstance.InstanceContributionToHitGroupIndex = (B >> 0) & 0xFFFFFF; + NewInstance.Flags = (B >> 24) & 0xFF; + NewInstance.AccelerationStructure = read_uint64(); + } + + // UE::HWRTScene::FGeometryHeader + set_byte_offset(Offsets_Geometries); + var Geometries = []; + for (var GeometryIndex = 0; GeometryIndex < NumGeometries; GeometryIndex++) + { + var Geometry = {}; + Geometries.push(Geometry); + + assert_magic(0x47226e42ad539683n); + Geometry.IndexBuffer = read_uint32(); + Geometry.NumSegments = read_uint32(); + skip_bytes(4 + 4 + 8); + + // UE::HWRTScene::FSegmentHeader + Geometry.Segments = []; + for (var SegmentIndex = 0; SegmentIndex < Geometry.NumSegments; SegmentIndex++) + { + var Segment = {}; + Geometry.Segments.push(Segment); + + Segment.VertexBuffer = read_uint32(); + Segment.VertexType = read_uint32(); + Segment.VertexBufferOffset = read_uint32(); + Segment.VertexBufferStride = read_uint32(); + Segment.MaxVertices = read_uint32(); + Segment.FirstPrimitive = read_uint32(); + Segment.NumPrimitives = read_uint32(); + + Segment.bForceOpaque = read_uint8(); + Segment.bAllowDuplicateAnyHitShaderInvocation = read_uint8(); + Segment.bEnabled = read_uint8(); + skip_bytes(1); + } + } + + // UE::HWRTScene::FBufferHeader + set_byte_offset(Offsets_Buffers); + var RawBuffers = []; + for (var BufferIndex = 0; BufferIndex < NumBuffers; BufferIndex++) + { + var RawBuffer = {}; + RawBuffers.push(RawBuffer); + + assert_magic(0x7330d54d0195a6den); + RawBuffer.SizeInBytes = read_uint32(); + RawBuffer.StrideInBytes = read_uint32(); + RawBuffer.ByteOffset = data_byte_offset; + skip_bytes(RawBuffer.SizeInBytes); + } + + // Translate UE::HWRTScene to webgl draw calls + var webgl_buffers = new Array(RawBuffers.length); + var min_position = [0, 0, 0]; + var max_position = [0, 0, 0]; + var gl = this.gl; + for (var instance_index = 0; instance_index < NumInstances; instance_index++) + { + var Instance = Instances[instance_index]; + var Geometry = Geometries[Instance.AccelerationStructure]; + var IndexBuffer = RawBuffers[Geometry.IndexBuffer]; + + // only support indexed geometry right now + if (IndexBuffer.SizeInBytes == 0) + { + continue; + } + + // Upload index buffer to GPU if not already. + if (!webgl_buffers[Geometry.IndexBuffer]) + { + var indices = null; + if (IndexBuffer.StrideInBytes == 4) + { + indices = new Uint32Array(raw_raytracing_data, IndexBuffer.ByteOffset, IndexBuffer.SizeInBytes / 4); + } + else if (IndexBuffer.StrideInBytes == 2) + { + indices = new Uint16Array(raw_raytracing_data, IndexBuffer.ByteOffset, IndexBuffer.SizeInBytes / 2); + } + else if (IndexBuffer.StrideInBytes == 1) + { + indices = new Uint8Array(raw_raytracing_data, IndexBuffer.ByteOffset, IndexBuffer.SizeInBytes / 1); + } + else + { + throw Error(`Unknown IndexBuffer.StrideInBytes=${IndexBuffer.StrideInBytes}`); + } + console.assert(indices.byteOffset == IndexBuffer.ByteOffset); + console.assert(indices.byteLength == IndexBuffer.SizeInBytes); + + webgl_buffers[Geometry.IndexBuffer] = gl_create_index_buffer(gl, indices); + } + + // setup local to world + var local_to_world = create_identity_matrix(); + { + local_to_world[0 + 0 * 4] = Instance.Transform[0 * 4 + 0]; + local_to_world[1 + 0 * 4] = Instance.Transform[1 * 4 + 0]; + local_to_world[2 + 0 * 4] = Instance.Transform[2 * 4 + 0]; + local_to_world[0 + 1 * 4] = Instance.Transform[0 * 4 + 1]; + local_to_world[1 + 1 * 4] = Instance.Transform[1 * 4 + 1]; + local_to_world[2 + 1 * 4] = Instance.Transform[2 * 4 + 1]; + local_to_world[0 + 2 * 4] = Instance.Transform[0 * 4 + 2]; + local_to_world[1 + 2 * 4] = Instance.Transform[1 * 4 + 2]; + local_to_world[2 + 2 * 4] = Instance.Transform[2 * 4 + 2]; + local_to_world[0 + 3 * 4] = Instance.Transform[0 * 4 + 3]; + local_to_world[1 + 3 * 4] = Instance.Transform[1 * 4 + 3]; + local_to_world[2 + 3 * 4] = Instance.Transform[2 * 4 + 3]; + } + + for (var SegmentIndex = 0; SegmentIndex < Geometry.NumSegments; SegmentIndex++) + { + var Segment = Geometry.Segments[SegmentIndex]; + var VertexBuffer = RawBuffers[Segment.VertexBuffer]; + + console.assert(Segment.VertexType == 3); // VET_Float3 + + // Upload vertex buffer to GPU if not already. + if (!webgl_buffers[Segment.VertexBuffer]) + { + var vertices = new Float32Array(raw_raytracing_data, VertexBuffer.ByteOffset, VertexBuffer.SizeInBytes / 4); + console.assert(vertices.byteOffset == VertexBuffer.ByteOffset); + console.assert(vertices.byteLength == VertexBuffer.SizeInBytes); + webgl_buffers[Segment.VertexBuffer] = gl_create_vertex_buffer(gl, vertices); + } + + var draw_call = {}; + this.draw_calls.push(draw_call); + + draw_call.local_to_world = local_to_world; + draw_call.instance_index = instance_index; + if (IndexBuffer.StrideInBytes == 4) + { + draw_call.index_type = gl.UNSIGNED_INT; + } + else if (IndexBuffer.StrideInBytes == 2) + { + draw_call.index_type = gl.UNSIGNED_SHORT; + } + else if (IndexBuffer.StrideInBytes == 1) + { + draw_call.index_type = gl.UNSIGNED_BYTE; + } + else + { + throw Error(`Unknown IndexBuffer.StrideInBytes=${IndexBuffer.StrideInBytes}`); + } + draw_call.index_byte_offset = Segment.FirstPrimitive * 3 * IndexBuffer.StrideInBytes; + draw_call.index_count = Segment.NumPrimitives * 3; + + // create vertex array. + { + console.assert(Segment.VertexBufferStride == 12); + console.assert((Segment.VertexBufferOffset % Segment.VertexBufferStride) == 0); + + draw_call.vertex_array = gl.createVertexArray(); + gl.bindVertexArray(draw_call.vertex_array); + gl.bindBuffer(gl.ARRAY_BUFFER, webgl_buffers[Segment.VertexBuffer]); + gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, webgl_buffers[Geometry.IndexBuffer]); + gl.enableVertexAttribArray(0); + gl.vertexAttribPointer(0, 3, gl.FLOAT, false, Segment.VertexBufferStride, Segment.VertexBufferOffset); + gl.bindVertexArray(null); + console.assert(gl.getError() == gl.NO_ERROR); + } + + // Track the min and max instance position for seting up the camera over the entire scene. + if (instance_index == 0) + { + min_position[0] = Instance.Transform[0 * 4 + 3]; + min_position[1] = Instance.Transform[1 * 4 + 3]; + min_position[2] = Instance.Transform[2 * 4 + 3]; + + max_position[0] = Instance.Transform[0 * 4 + 3]; + max_position[1] = Instance.Transform[1 * 4 + 3]; + max_position[2] = Instance.Transform[2 * 4 + 3]; + } + else + { + min_position[0] = Math.min(min_position[0], Instance.Transform[0 * 4 + 3]); + min_position[1] = Math.min(min_position[0], Instance.Transform[1 * 4 + 3]); + min_position[2] = Math.min(min_position[0], Instance.Transform[2 * 4 + 3]); + + max_position[0] = Math.max(max_position[0], Instance.Transform[0 * 4 + 3]); + max_position[1] = Math.max(max_position[0], Instance.Transform[1 * 4 + 3]); + max_position[2] = Math.max(max_position[0], Instance.Transform[2 * 4 + 3]); + } + } + } + + if (true) + { + this.camera_pos = max_position; + this.camera_look_at([(min_position[0] + max_position[0]) / 2, (min_position[1] + max_position[1]) / 2, (min_position[2] + max_position[2]) / 2]); + } + + this.draw_canvas(); + } // parse_raw_raytracing_data() + + change_scene_visualization(new_scene_visualization) + { + if (!this.is_ready) + { + return; + } + + if (new_scene_visualization.value == this.scene_visualization) + { + return; + } + + this.scene_visualization = new_scene_visualization.value; + update_value_selection(document.getElementById('change_scene_visualization'), this.scene_visualization); + this.draw_canvas(); + } + + draw_canvas() + { + var gl = this.gl; + + var world_to_view = this.get_view_matrix(); + var view_to_clip = this.get_proj_matrix(); + + // view_matrix[0 + 0 * 4] = 0.5; + // view_matrix[0 + 1 * 4] = 0.5; + // view_matrix[1 + 1 * 4] = 0.5; + // view_matrix[2 + 2 * 4] = 0.5; + + gl.viewport(0, 0, this.canvas.width, this.canvas.height); + gl.clearColor(0.0, 0.0, 0.0, 0.0); + gl.clear(gl.COLOR_BUFFER_BIT); + + gl.clearDepth(0.0); + gl.clear(gl.DEPTH_BUFFER_BIT); + + gl.enable(gl.DEPTH_TEST); + gl.depthFunc(gl.GEQUAL); + + gl.disable(gl.CULL_FACE); + gl.cullFace(gl.FRONT_AND_BACK); + + { + var shader_program = this.scene_visualization_shader_programs[this.scene_visualization]; + gl.useProgram(shader_program); + + var coord = gl.getAttribLocation(shader_program, "vertex_coordinates"); + console.assert(coord == 0); + + gl_set_uniform_mat4(gl, shader_program, 'local_to_world', create_identity_matrix()); + gl_set_uniform_mat4(gl, shader_program, 'world_to_view', world_to_view); + gl_set_uniform_mat4(gl, shader_program, 'view_to_clip', view_to_clip); + + for (var draw_call of this.draw_calls) + { + gl_set_uniform_mat4(gl, shader_program, 'local_to_world', draw_call.local_to_world); + gl_set_uniform_uint(gl, shader_program, 'instance_index', draw_call.instance_index); + + gl.bindVertexArray(draw_call.vertex_array); + gl.drawElementsInstanced( + gl.TRIANGLES, + /* index_count = */ draw_call.index_count, + /* index_type = */ draw_call.index_type, + /* index_byte_offset = */ draw_call.index_byte_offset, + /* instanceCount = */ 1); + } + + gl.useProgram(null); + gl.bindVertexArray(null); + } + } + + release() + { + super.release(); + this.draw_calls = [] + this.scene_visualization_shader_programs = {}; + } +} // class RaytracingAccelerationStructureView + + +// -------------------------------------------------------------------- UI + +function update_href_selection(parent) +{ + var all_a = parent.getElementsByTagName("a"); + + var navs = [location.hash.substring(1)]; + if (g_view) + { + navs = navs.concat(g_view.navigations); + } + + for (let a of all_a) + { + var href = a.href.split('#'); + + if (navs.includes(`${href[1]}`)) + { + a.classList.add('match_location_hash'); + } + else if (a.classList.contains('match_location_hash')) + { + a.classList.remove('match_location_hash'); + } + }; +} + +function update_value_selection(parent, selected_value) +{ + var all_a = parent.getElementsByTagName("input"); + + for (let a of all_a) + { + if (a.value == selected_value) + { + a.classList.add('match_value'); + } + else if (a.classList.contains('match_value')) + { + a.classList.remove('match_value'); + } + }; +} + +function render_selection_list_html(parent_dom, display_list, options) +{ + if ('deduplicate' in options) + { + var href_set = new Set(); + var new_display_list = []; + for (const display_list_item of display_list) + { + if (display_list_item['href']) + { + if (!href_set.has(display_list_item['href'])) + { + href_set.add(display_list_item['href']); + new_display_list.push(display_list_item); + } + } + else + { + new_display_list.push(display_list_item); + } + } + display_list = new_display_list; + } + + if ('sort' in options) + { + display_list.sort(function(a, b) + { + if (a['name'] < b['name']) + { + return -1; + } + else if (a['name'] > b['name']) + { + return 1; + } + return 0; + }); + } + + var search = ''; + if ('search' in options) + { + search = options['search']; + } + + var html = ''; + for (const display_list_item of display_list) + { + if (search && !display_list_item['name'].toLowerCase().includes(search.toLowerCase())) + { + continue; + } + + if (display_list_item['href']) + { + html += `<a href="${display_list_item['href']}">${display_list_item['name']}</a>`; + } + else + { + html += `<a>${display_list_item['name']}</a>`; + } + } + + if (html == '') + { + if (search) + { + html += `<div class="empty">No matches for "${search}"</div>`; + } + else + { + html += `<div class="empty">None</div>`; + } + } + + parent_dom.innerHTML = html; + update_href_selection(parent_dom); +} + + +// -------------------------------------------------------------------- SWITCH TAB IN BROWSER + +document.addEventListener("visibilitychange", function() { + if (document.hidden) + { + // NOP + } + else + { + // apply the last zoom setting from last used tab when switting back to this tab. + if (g_view && 'resource_view' in g_view && g_view.resource_view instanceof TextureView) + { + var zoom_settings = get_local_storage(k_texture_zoom_local_storage); + if (zoom_settings && g_view.resource_view.is_zoom_settings_compatible(zoom_settings)) + { + g_view.resource_view.apply_zoom_settings(zoom_settings); + } + } + } +}); + + +// -------------------------------------------------------------------- WINDOW LAYOUT + +function init_top() +{ + document.getElementById('top_bar').innerHTML = `${g_infos['Project']} - ${g_infos['Platform']} - ${g_infos['RHI']} - ${g_infos['BuildVersion']} - ${g_infos['DumpTime']} `; +} + +function init_top_buttons() +{ + document.getElementById('top_buttons').innerHTML = ` + <a href="#display_infos();">Infos</a> + <a href="#display_cvars();">CVars</a> + <a href="#display_log();">Log</a>`; + document.getElementById('top_viewer_buttons').innerHTML = ` + <a id="console_button" href="#display_console();">Console</a>`; + update_console_button(); +} + +function init_page() +{ + // Load the dump service information to know how to read files. This is independent of Base/Infos.json because may depends whether it was uploaded through the DumpGPUServices plugin. + g_dump_service = load_json('Base/DumpService.json'); + + // Load the base information of the page. + g_infos = load_json('Base/Infos.json'); + + if (!g_dump_service || !g_infos) + { + document.body.innerHTML = 'Please use OpenGPUDumpViewer script for the viewer to work correctly.'; + return; + } + + // Verify the status of the dump, to check whether a crash happened during the dump. + { + var dump_status = load_text_file('Base/Status.txt'); + if (dump_status == 'ok') + { + add_console_event('log', `The dump completed gracefully.`); + } + else if (dump_status == 'crash') + { + add_console_event('error', `A crash happened while the frame was being dumped.`); + } + else if (dump_status == 'dumping') + { + add_console_event('error', `The dump has not completed. This may be due to opening the viewer before completion, or serious problem that has not been handled with FCoreDelegates::OnShutdownAfterError`); + } + else + { + add_console_event('error', `The dump completed with status: ${dump_status}`); + } + } + + // Load the cvars used for dumping. + { + g_dump_cvars = {}; + + var cvars_csv = load_text_file('Base/ConsoleVariables.csv'); + var csv_lines = cvars_csv.split('\n'); + for (var i = 1; i < csv_lines.length - 1; i++) + { + var csv_line = csv_lines[i].split(','); + var entry = {}; + entry['name'] = csv_line[0]; + if (entry['name'].startsWith('r.DumpGPU.')) + { + entry['type'] = csv_line[1]; + entry['set_by'] = csv_line[2]; + entry['value'] = csv_line[3]; + g_dump_cvars[entry['name']] = entry['value']; + } + } + + } + + // Load all the passes. + g_passes = load_json_dict_sequence('Base/Passes.json'); + { + for (var pass_id = 0; pass_id < g_passes.length; pass_id++) + { + g_passes[pass_id]['DrawCount'] = 0; + if (!g_passes[pass_id]['EventName']) + { + g_passes[pass_id]['EventName'] = 'Unnamed pass'; + } + } + + var pass_draw_counts = load_json_dict_sequence('Base/PassDrawCounts.json'); + if (pass_draw_counts) + { + pass_draw_counts.forEach(function(pass_draw_count_data) { + for (var pass_id = 0; pass_id < g_passes.length; pass_id++) + { + if (g_passes[pass_id]['Pointer'] == pass_draw_count_data['Pointer']) + { + g_passes[pass_id]['DrawCount'] = pass_draw_count_data['DrawCount']; + break; + } + } + }); + } + } + + // Load all the resource descriptors + { + g_descs = {}; + + var desc_list = load_json_dict_sequence('Base/ResourceDescs.json'); + for (const desc of desc_list) + { + g_descs[desc['UniqueResourceName']] = desc; + } + } + + if (!does_file_exists(get_log_path())) + { + add_console_event('error', `The dump does not contain ${get_log_path()}. The log is normally copied into the dump directory once the dump is completed. Failing to have is may be due to a premature end of the dumping process.`); + } + else + { + add_console_event('log', `Viewer init ok`); + } + + // Analyses the capture. + { + analyses_passes(); + } + + init_top(); + init_top_buttons(); + display_pass_hierarchy(); + + // Find the last passes that have a displayable texture 2D. + if (location.hash) + { + return navigate_to_hash(); + } + + // Find the last pass that modify the RDG resource set by 'r.DumpGPU.Viewer.Visualize' + if ('r.DumpGPU.Viewer.Visualize' in g_dump_cvars && g_dump_cvars['r.DumpGPU.Viewer.Visualize'] != '') + { + var pass_id_to_open = -1; + var subresource_unique_name_to_open = null; + + document.getElementById('resource_search_input').value = g_dump_cvars['r.DumpGPU.Viewer.Visualize']; + display_pass_hierarchy(); + + for (var pass_id = 0; pass_id < g_passes.length && pass_id_to_open == -1; pass_id++) + { + var pass_data = g_passes[g_passes.length - 1 - pass_id]; + + for (var subresource_unique_name of pass_data['OutputResources']) + { + var subresource_info = parse_subresource_unique_name(subresource_unique_name); + var resource_desc = get_resource_desc(subresource_info['resource']); + + if (resource_desc === null) + { + continue; + } + + if (resource_desc['Name'] == g_dump_cvars['r.DumpGPU.Viewer.Visualize'] && pass_id_to_open == -1) + { + pass_id_to_open = g_passes.length - 1 - pass_id; + subresource_unique_name_to_open = subresource_unique_name; + break; + } + } + } + + if (pass_id_to_open != -1) + { + return redirect_to_hash(`display_output_resource(${pass_id_to_open},'${subresource_unique_name_to_open}');`); + } + } + + return display_tip(); +} + +function onresize_body() +{ + var window_width = window.innerWidth; + var window_height = window.innerHeight; + + const top_h = 45; + + document.getElementById('onresize_body_table').style.width = `${window_width}px`; + document.getElementById('onresize_body_table').style.height = `${window_height}px`; + + const top_height = 45; + + var body_left_width = Math.floor(window_width * 0.25); + var body_right_width = window_width - body_left_width; + var body_height = window_height - top_height; + { + document.getElementById('onresize_body_top_bar').style.width = `${window_width}px`; + document.getElementById('onresize_body_top_bar').style.height = `${top_height}px`; + document.getElementById('onresize_body_top_bar').style.overflow = `hidden`; + + document.getElementById('onresize_body_left').style.width = `${body_left_width}px`; + document.getElementById('onresize_body_left').style.height = `${body_height}px`; + + document.getElementById('onresize_body_right').style.width = `${body_right_width}px`; + document.getElementById('onresize_body_right').style.height = `${body_height}px`; + } + + { + const search_h = (30 + 2 * 5) * 2; + + document.getElementById('pass_hierarchy').style.width = `${body_left_width - k_style_padding_size * 2}px`; + document.getElementById('pass_hierarchy').style.height = `${body_height - search_h - k_style_padding_size * 2 - k_style_scroll_width}px`; + document.getElementById('pass_hierarchy').style.overflow = `scroll`; + } + + { + document.getElementById('main_right_pannel').style.width = `${body_right_width}px`; + document.getElementById('main_right_pannel').style.height = `${body_height}px`; + document.getElementById('main_right_pannel').style.overflow = `scroll`; + } + + if (g_view !== null) + { + var ctx = {}; + ctx.width = body_right_width - k_style_scroll_width; + ctx.height = body_height - k_style_scroll_width; + g_view.resize(ctx); + } +} + + +// -------------------------------------------------------------------- NAVIGATION + +var g_previous_location_hash = null; + +function redirect_to_hash(new_hash) +{ + if (new_hash === g_previous_location_hash) + { + return; + } + + location.hash = new_hash; +} + +function navigate_to_hash() +{ + if (location.hash === g_previous_location_hash) + { + return; + } + + g_previous_location_hash = location.hash; + + if (location.hash) + { + var js = location.hash.substring(1); + eval(js); + } + else + { + display_tip(); + } + + update_href_selection(document); +} + +function get_current_navigation() +{ + return g_previous_location_hash; +} + +</script> + + +<style type="text/css"> + + +/* ----------------------------------------------------- them colors */ + +:root +{ + --border-radius: 2px; + + --body-bg-color: rgb(21, 21, 21); + --body-txt-size: 12px; + + --div-bg-color: rgb(36, 36, 36); + --div-txt-color: rgb(192, 192, 192); + --a-bg-color-odd: rgb(26, 26, 26); + --a-bg-color-hover: #332222; + --a-bg-color-hoverhref: rgb(38, 67, 81); + --a-txt-color-disabled: rgb(113, 113, 113); + + --a-bg-color-selected: rgb(38, 187, 255); + --a-txt-color-selected: rgb(15, 15, 15); + + --channel-red-color: rgb(255, 38, 38); + --channel-green-color: rgb(38, 255, 38); + --channel-blue-color: rgb(38, 187, 255); + --channel-alpha-color: white; + + --error-txt-color: var(--channel-red-color); + + --header-bg-color: rgb(47, 47, 47); + + --button-border-radius: var(--border-radius); + --button-bg-color: rgb(56, 56, 56); + --button-bg-color-hover: rgb(87, 87, 87); + --button-bg-color-selected: rgb(15, 15, 15); + --button-txt-color: var(--div-txt-color); + --button-txt-color-hover: rgb(255, 255, 255); + --button-txt-color-selected: rgb(38, 187, 255); + + + --scroll-bg-color: var(--a-bg-color-odd); + --scroll-color: rgb(87, 87, 87); + --scroll-color-hover: rgb(128, 128, 128); + + --input-bg-color: rgb(15, 15, 15); + --input-border: 1px solid rgb(55, 55, 55); + --input-border-hover: rgb(83, 83, 83); + --input-border-focus: rgb(38, 176, 239); +} + + +/* ----------------------------------------------------- override default */ + +body +{ + overflow: hidden; + background: var(--body-bg-color); + color: var(--div-txt-color); + margin: 0; + padding: 0; + /*font-family: Arial, Helvetica, sans-serif;*/ + font-family: consolas, "Liberation Mono", courier, monospace; + font-size: var(--body-txt-size); + /* overflow: hidden; */ +} + +table, tr, td, div, a +{ + margin: 0; + padding: 0; + border-spacing: 0; + border-collapse: collapse; + vertical-align: top; + cursor: default; + font-size: inherit; +} + +td +{ + cursor: default; +} + +div, a +{ + display: block; + cursor: default; +} + +a, a:hover, a:visited +{ + color: inherit; + font: inherit; + text-decoration: none; + cursor: default; +} + + +/* ----------------------------------------------------- external link */ + +a.external_link +{ + color: inherit; + cursor: pointer; +} + +a.external_link:hover +{ + color: var(--button-txt-color-hover); +} + +a.external_link:active +{ + color: var(--button-txt-color-selected); +} + + +/* ----------------------------------------------------- inputs scroll bars */ + +input +{ + padding: 3px 5px; + border-radius: var(--border-radius); +} + +input[type=search] +{ + padding: 3px 13px; + border-radius: 20px; +} + +textarea +{ + padding: 3px 3px; +} + +input, textarea +{ + background-color: var(--input-bg-color); + color: var(--div-txt-color); + border: var(--input-border); + outline: none; + font-size: inherit; + font: inherit; +} + +input[readonly], textarea[readonly] +{ + color: var(--a-txt-color-disabled); +} + +input:not([readonly]):hover, +textarea:not([readonly]):hover +{ + border-color: var(--input-border-hover); +} + +input[type=text]:not([readonly]):focus, +input[type=search]:not([readonly]):focus, +textarea:not([readonly]):focus +{ + color: rgb(254, 254, 254); + border-color: var(--input-border-focus); +} + +input:focus, textarea:focus +{ + outline: none; +} + +input::placeholder +{ + color: rgb(76, 76, 76); +} + + +/* ----------------------------------------------------- webkit scroll bars */ + +*::-webkit-scrollbar { + width: 8px; + height: 8px; + background: var(--scroll-bg-color); +} + +*::-webkit-scrollbar-corner, *::-webkit-scrollbar-track { + background: var(--scroll-bg-color); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--scroll-color); + border-radius: 20px; +} + +*::-webkit-scrollbar-thumb:hover { + background-color: var(--scroll-color-hover); + border-radius: 20px; +} + + +/* ----------------------------------------------------- common layout */ + +.main_div +{ + background: var(--div-bg-color); + padding: 5px; + margin: 5px; + border-radius: 3px; +} + +#main_right_pannel .main_div +{ + margin-bottom: 20px; +} + +#main_right_pannel .main_div:last-child +{ + margin-bottom: 5px; +} + + +/* ----------------------------------------------------- Selection list */ + +.selection_list_title +{ + font-size: 20; + font-weight: bold; + padding: 5px 20px 10px 20px; +} + +.selection_list_search +{ + padding: 0px 5px; + height: 30px; + width: auto; +} + +.selection_list_search input[type=search] +{ + width: 100%; +} + +.selection_list +{ + max-height: inherit; + overflow-x: auto; + overflow-y: scroll; +} + +.selection_list a +{ + width: auto; + padding: 5px 20px; + white-space: nowrap; +} + +.selection_list a:nth-child(odd) +{ + background: var(--a-bg-color-odd); +} + +.selection_list a:not(.match_location_hash):hover +{ + background: var(--a-bg-color-hover); +} + +.selection_list a:not(.match_location_hash)[href]:hover +{ + background: var(--a-bg-color-hoverhref); + color: var(--button-txt-color-hover); + cursor: pointer; +} + +/*.selection_list a.match_location_hash +{ + background: var(--a-bg-color-selected); + color: var(--a-txt-color-selected); +}*/ + +.selection_list a.match_location_hash +{ + background: var(--button-bg-color-selected); + color: var(--button-txt-color-selected); +} + +.selection_list a.disabled +{ + color: var(--a-txt-color-disabled); +} + +.selection_list div.empty +{ + width: 100%; + margin: 20px 0 0 0; + color: var(--a-txt-color-disabled); + text-align: center; +} + +#main_right_pannel .selection_list +{ + min-height: 100px; + max-height: 200px; +} + + +/* ----------------------------------------------------- table */ + +.pretty_table tr.header +{ + background: var(--header-bg-color); + font-weight: bold; +} + +.pretty_table tr:not(.header):nth-child(odd) td +{ + background: var(--a-bg-color-odd); +} + +.pretty_table tr:not(.header):hover td:not(.empty) +{ + background: var(--a-bg-color-hover); +} + +.pretty_table tr td +{ + display: table-cell; + padding: 5px 20px; +} + +.pretty_table tr td:first-child +{ + width: 150px; +} + +.pretty_table tr.header td +{ + padding: 5px 30px; +} + +.pretty_table tr.header td:not(:first-child) +{ + border-left: 1px solid rgb(36, 36, 36); +} + +.pretty_table .empty +{ + padding: 20px 0 0 0; + color: var(--a-txt-color-disabled); + text-align: center; +} + +.pretty_table tr.error td +{ + color: var(--error-txt-color); +} + +.resource_desc tr td:not(.empty) +{ + width: 150px; + text-align: right; +} + + +/* ----------------------------------------------------- button */ + +.button_list a, +.button_list input +{ + margin: 0; + display: inline-block; + display: table-cell; + padding: 3px 10px; + background-color: var(--button-bg-color); + color: var(--button-txt-color); + border-radius: 0; +} + +.button_list a[href], +.button_list input +{ + cursor: pointer; +} + +.button_list a:first-child, +.button_list input:first-child +{ + border-top-left-radius: var(--button-border-radius); + border-bottom-left-radius: var(--button-border-radius); +} + +.button_list a:last-child, +.button_list input:last-child +{ + border-top-right-radius: var(--button-border-radius); + border-bottom-right-radius: var(--button-border-radius); +} + +.button_list a[href]:not(.match_location_hash):not(:active):hover, +.button_list input:not(.match_value):not(:active):hover +{ + background-color: var(--button-bg-color-hover); +} + +.button_list a[href]:not(.match_location_hash):not(.error):not(:active):hover, +.button_list input:not(.match_value):not(:active):hover +{ + color: var(--button-txt-color-hover); +} + +.button_list a[href]:active, +.button_list a[href].match_location_hash, +.button_list input:active, +.button_list input.match_value +{ + background-color: var(--button-bg-color-selected); + color: var(--button-txt-color-selected); +} + +.button_list a[href].error, +.button_list a[href].error:active +{ + color: var(--error-txt-color); +} + +.button_list span +{ + margin-left: 5px; + margin-right: 3px; +} + + +/* ----------------------------------------------------- top bar */ + +#top_bar +{ + font-size: 20; + font-weight: bold; + padding: 10px; + display: inline-block; +} + +#top_buttons, +#top_viewer_buttons +{ + padding: 12px; + display: inline-block; +} + + +/* ----------------------------------------------------- main_right_pannel */ + +#main_right_pannel .pass_title +{ + font-size: 20; + font-weight: bolder; + padding: 10px 40px; +} + +#main_right_pannel .pass_title .button_list +{ + font-size: var(--body-txt-size); + margin-top: 3px; +} + +#cvars_pannel +{ + height: auto; + max-height: none; +} + +#cvars_pannel .pretty_table tr td:nth-child(2) +{ + text-align: right; +} + + +/* ----------------------------------------------------- TextureView */ + +#canvas_outter +{ + background-color: var(--input-bg-color); + color: var(--div-txt-color); + border: var(--input-border); +} + +#canvas_outter:not(.selected):hover +{ + border-color: var(--input-border-hover); +} + +#canvas_outter.selected +{ + border-color: var(--input-border-focus); +} + +#canvas_outter #canvas_header +{ + padding: 3px; + border-bottom: var(--input-border); +} + +#canvas_outter #canvas_header .button_list +{ + display: inline-block; +} + +#canvas_outter #canvas_footer +{ + padding: 3px 10px; + border-top: var(--input-border); +} + +#canvas_outter #canvas_viewport +{ + overflow: hidden; + background-image: + linear-gradient(45deg, #000 25%, transparent 25%), + linear-gradient(45deg, transparent 75%, #000 75%), + linear-gradient(45deg, transparent 75%, #000 75%), + linear-gradient(45deg, #000 25%, var(--input-bg-color) 25%); + background-size:16px 16px; + background-position:0 0, 0 0, -8px -8px, 8px 8px; +} + +#canvas_outter .error_msg +{ + width: 100%; + height: 100%; + text-align: center; + color: var(--error-txt-color); +} + +#canvas_outter canvas +{ + cursor: crosshair; + image-rendering: optimizeSpeed; + image-rendering: -moz-crisp-edges; + image-rendering: -webkit-optimize-contrast; + image-rendering: -o-crisp-edges; + image-rendering: pixelated; + -ms-interpolation-mode: nearest-neighbor; +} + +#texture_visualization_code_input +{ + min-width: 800px; + min-height: 200px; + display: block; + width: auto; +} + +#texture_visualization_code_log +{ + margin-top: 10px; + min-width: 800px; + min-height: 200px; + display: block; + width: auto; +} + + +/* ----------------------------------------------------- BufferView */ + +#buffer_outter +{ + background-color: var(--input-bg-color); + color: var(--div-txt-color); + border: var(--input-border); +} + +#buffer_outter:not(.selected):hover +{ + border-color: var(--input-border-hover); +} + +#buffer_outter.selected +{ + border-color: var(--input-border-focus); +} + +#buffer_outter #buffer_viewport_header +{ + padding: 3px; + border-bottom: var(--input-border); +} + +#buffer_outter #buffer_viewport +{ + overflow: hidden; +} + +#buffer_outter #buffer_viewport #buffer_content_table tr.header +{ + position: sticky; + top: 0; +} + +#buffer_outter #buffer_viewport #buffer_content_table:not(.display_elem_using_rows) tr.header td:first-child +{ + padding: 0 3px; +} + +#buffer_outter #buffer_viewport #buffer_content_table tr td:not(.empty) +{ + padding: 3px 5px 0px 5px; + width: 60px; + height: 20px; + overflow: hidden; + text-align: right; + /*font-family: consolas, "Liberation Mono", courier, monospace;*/ +} + +#buffer_outter #buffer_viewport #buffer_content_table.display_elem_using_rows tr td:not(.empty):first-child +{ + text-align: left; +} + +#buffer_outter #buffer_viewport #buffer_content_table tr td:first-child +{ + width: 100px; +} + +#buffer_outter #buffer_viewport #buffer_content_table tr td:last-child +{ + width: auto; +} + +#buffer_outter #buffer_viewport #buffer_content_table tr.highlighted +{ + color: var(--button-txt-color-selected); +} + +</style> + + +<body onload="init_console(); onresize_body(); init_page();" onresize="onresize_body();" onhashchange="navigate_to_hash();"> + <table cellpadding="0" cellspacing="0" border="0" id="onresize_body_table"> + <tr> + <td colspan="2" id="onresize_body_top_bar"> + <div id="top_bar"></div> + <div id="top_buttons" class="button_list"></div> + <div id="top_viewer_buttons" class="button_list"></div> + </td> + </tr> + <tr> + <td valign="top" id="onresize_body_left"> + <div class="main_div"> + <div id="pass_hierarchy_search" style="padding: 5px; height: 70px;"> + <input type="search" id="pass_search_input" oninput="display_pass_hierarchy();" onchange="display_pass_hierarchy();" style="width: 100%;" placeholder="Search pass..." /> + <input type="search" id="resource_search_input" oninput="display_pass_hierarchy();" onchange="display_pass_hierarchy();" style="width: 100%; margin-top: 10px;" placeholder="Search resource..." /> + </div> + <div id="pass_hierarchy" class="selection_list"></div> + </div> + </td> + <td valign="top" id="onresize_body_right"> + <div id="main_right_pannel"></div> + </td> + </tr> + </table> +</body> +</html> diff --git a/build_vr_big_map/Engine/Extras/GPUDumpViewer/OpenGPUDumpViewer.bat b/build_vr_big_map/Engine/Extras/GPUDumpViewer/OpenGPUDumpViewer.bat new file mode 100644 index 0000000000000000000000000000000000000000..c43b74f33b4727dbf1115e4faba707f59ca23afc --- /dev/null +++ b/build_vr_big_map/Engine/Extras/GPUDumpViewer/OpenGPUDumpViewer.bat @@ -0,0 +1,24 @@ +@echo off + +set CWD=%cd% +set CHROME_USER_DATA=%CWD%/.tmp_chrome_data/ + +echo "Opening chrome..." + + +set CHROME="C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" +if exist "C:\Program Files\Google\Chrome\Application\chrome.exe" ( + set CHROME="C:\Program Files\Google\Chrome\Application\chrome.exe" +) + +REM --allow-file-access-from-files allow to load a file from a file:// webpage required for GPUDumpViewer.html to work. +REM --user-data-dir is required to force chrome to open a new instance so that --allow-file-access-from-files is honored. +%CHROME% "file://%CWD%/GPUDumpViewer.html" --allow-file-access-from-files --new-window --incognito --user-data-dir="%CHROME_USER_DATA%" + +echo "Closing chrome..." + +REM Wait for 2s to shut down so that CHROME_USER_DATA can be deleted completly +timeout /t 2 /nobreak > NUL + +rmdir /S /Q "%CHROME_USER_DATA%" + diff --git a/build_vr_big_map/Engine/Extras/GPUDumpViewer/OpenGPUDumpViewer.sh b/build_vr_big_map/Engine/Extras/GPUDumpViewer/OpenGPUDumpViewer.sh new file mode 100644 index 0000000000000000000000000000000000000000..c72f63c6a076bf876ffff13f17f36f00cd1341c6 --- /dev/null +++ b/build_vr_big_map/Engine/Extras/GPUDumpViewer/OpenGPUDumpViewer.sh @@ -0,0 +1,105 @@ +#!/usr/bin/env bash +# Copyright Epic Games, Inc. All Rights Reserved. + +set -eu + +UNAMEOS="$(uname -s)" +ADDRESS="127.0.0.1" +PORT="8000" +URL="http://$ADDRESS:$PORT/GPUDumpViewer.html" + +SCRIPT=$(readlink -f "$0") +# Absolute path this script is in, thus /home/user/bin +SCRIPTPATH=$(dirname "$SCRIPT") + +pushd "$SCRIPTPATH" + + +GetAllChildProcesses() { + local Children=$(ps -o pid= ppid "$1") + + for PID in $Children + do + GetAllChildProcesses "$PID" + done + + echo "$Children" +} + +# Gather all the descendant children of this process, and first kill -TERM. If any child process +# is still alive finally send a -KILL +TermHandler() { + MaxWait=30 + CurrentWait=0 + + ProcessesToKill=$(GetAllChildProcesses $$) + kill -s TERM $ProcessesToKill 2> /dev/null + + ProcessesStillAlive=$(ps -o pid= -p $ProcessesToKill) + + # Wait until all the processes have been gracefully killed, or max Wait time + while [ -n "$ProcessesStillAlive" ] && [ "$CurrentWait" -lt "$MaxWait" ] + do + CurrentWait=$((CurrentWait + 1)) + sleep 1 + + ProcessesStillAlive=$(ps -o pid= -p $ProcessesToKill) + done + + # If some processes are still alive after MaxWait, lets just force kill them + if [ -n "$ProcessesStillAlive" ]; then + kill -s KILL $ProcessesStillAlive 2> /dev/null + fi +} + +# trap when SIGINT or SIGTERM are received with a custom function +trap TermHandler SIGTERM SIGINT + +APPS=() +APPS+=(xdg-open) + +if [[ "${UNAMEOS}" =~ "Darwin" ]]; then + APPS+=(open) +fi + +CMD= +for val in "${APPS[@]}"; do + CMD="$(command -v "${val}")" || true + if [[ -n "${CMD}" ]]; then + break + fi +done + +if [[ -z "${CMD}" ]]; then + echo "ERROR: Browser launch command not found" + exit 1 +fi + +ARGS=("${CMD}") + +ARGS+=("$URL") + +echo "Executing:" +echo + +echo "Starting simple webserver..." +exec python3 -m http.server "$PORT" --bind "$ADDRESS" & +P1=$! +sleep 1 + +echo "${ARGS[0]} \\" +for ((i=1; i < ${#ARGS[@]}; i++ )); do + echo " ${ARGS[$i]} \\"; +done +echo + +# Start the browser now that the server is running +"${ARGS[@]}" + +# Wait on the webserver - in general this will be killed by a Ctrl-C +wait $P1 + +echo +echo "Closing ${CMD}..." + +popd diff --git a/build_vr_big_map/Engine/Extras/Redist/en-us/UEPrereqSetup_x64.exe b/build_vr_big_map/Engine/Extras/Redist/en-us/UEPrereqSetup_x64.exe new file mode 100644 index 0000000000000000000000000000000000000000..e76376a50f9ba312b6e00bebc04461b8c41334ef Binary files /dev/null and b/build_vr_big_map/Engine/Extras/Redist/en-us/UEPrereqSetup_x64.exe differ diff --git a/build_vr_big_map/Engine/Plugins/NNE/NNERuntimeORT/Binaries/ThirdParty/Onnxruntime/Win64/onnxruntime.dll b/build_vr_big_map/Engine/Plugins/NNE/NNERuntimeORT/Binaries/ThirdParty/Onnxruntime/Win64/onnxruntime.dll new file mode 100644 index 0000000000000000000000000000000000000000..7a87fd1324f075653a320079814b6b72abac75b6 Binary files /dev/null and b/build_vr_big_map/Engine/Plugins/NNE/NNERuntimeORT/Binaries/ThirdParty/Onnxruntime/Win64/onnxruntime.dll differ diff --git a/build_vr_big_map/Manifest_DebugFiles_Win64.txt b/build_vr_big_map/Manifest_DebugFiles_Win64.txt new file mode 100644 index 0000000000000000000000000000000000000000..4b073ab3836330c71e11cb1394a886232d4fe005 --- /dev/null +++ b/build_vr_big_map/Manifest_DebugFiles_Win64.txt @@ -0,0 +1,8 @@ +vr_great_ryc/Binaries/Win64/tbb.pdb 2024-12-14T12:41:15.369Z +vr_great_ryc/Binaries/Win64/tbbmalloc.pdb 2024-12-14T12:41:15.437Z +vr_great_ryc/Binaries/Win64/vr_great_ryc.pdb 2025-03-20T10:28:51.705Z +Engine/Content/SlateDebug/Fonts/LastResort.tps 2024-12-14T12:46:22.674Z +Engine/Content/SlateDebug/Fonts/LastResort.ttf 2024-12-14T12:46:22.680Z +Engine/Extras/GPUDumpViewer/GPUDumpViewer.html 2024-12-14T12:50:39.512Z +Engine/Extras/GPUDumpViewer/OpenGPUDumpViewer.bat 2024-12-14T12:50:39.512Z +Engine/Extras/GPUDumpViewer/OpenGPUDumpViewer.sh 2024-12-14T12:50:39.512Z diff --git a/build_vr_big_map/Manifest_NonUFSFiles_Win64.txt b/build_vr_big_map/Manifest_NonUFSFiles_Win64.txt new file mode 100644 index 0000000000000000000000000000000000000000..869f1ea950b13a00525d77dc5f4d9a7c375cc8cb --- /dev/null +++ b/build_vr_big_map/Manifest_NonUFSFiles_Win64.txt @@ -0,0 +1,41 @@ +vr_great_ryc/Binaries/Win64/D3D12/D3D12Core.dll 2025-02-15T18:04:23.502Z +vr_great_ryc/Binaries/Win64/D3D12/d3d12SDKLayers.dll 2025-02-15T18:04:23.508Z +vr_great_ryc/Binaries/Win64/DML/DirectML.dll 2025-02-15T18:11:52.062Z +vr_great_ryc/Binaries/Win64/boost_atomic-mt-x64.dll 2025-02-15T18:11:51.496Z +vr_great_ryc/Binaries/Win64/boost_chrono-mt-x64.dll 2025-02-15T18:11:51.496Z +vr_great_ryc/Binaries/Win64/boost_filesystem-mt-x64.dll 2025-02-15T18:11:51.496Z +vr_great_ryc/Binaries/Win64/boost_iostreams-mt-x64.dll 2025-02-15T18:11:51.496Z +vr_great_ryc/Binaries/Win64/boost_program_options-mt-x64.dll 2025-02-15T18:11:51.499Z +vr_great_ryc/Binaries/Win64/boost_python311-mt-x64.dll 2025-02-15T18:11:51.499Z +vr_great_ryc/Binaries/Win64/boost_regex-mt-x64.dll 2025-02-15T18:11:51.501Z +vr_great_ryc/Binaries/Win64/boost_system-mt-x64.dll 2025-02-15T18:11:51.501Z +vr_great_ryc/Binaries/Win64/boost_thread-mt-x64.dll 2025-02-15T18:11:51.665Z +vr_great_ryc/Binaries/Win64/tbb.dll 2025-02-15T18:04:20.941Z +vr_great_ryc/Binaries/Win64/tbbmalloc.dll 2025-02-15T18:04:20.942Z +vr_great_ryc/Binaries/Win64/vr_great_ryc.exe 2025-03-20T10:28:51.692Z +Engine/Binaries/Win64/EOSSDK-Win64-Shipping.dll 2025-02-15T18:04:29.291Z +Engine/Extras/Redist/en-us/UEPrereqSetup_x64.exe 2025-02-15T18:09:16.201Z +Engine/Binaries/ThirdParty/DbgHelp/dbghelp.dll 2025-02-15T18:03:18.382Z +Engine/Binaries/ThirdParty/MsQuic/v220/win64/msquic.dll 2025-02-15T18:04:20.950Z +Engine/Binaries/ThirdParty/NVIDIA/NVaftermath/Win64/GFSDK_Aftermath_Lib.x64.dll 2025-02-15T18:04:20.963Z +Engine/Binaries/ThirdParty/Ogg/Win64/VS2015/libogg_64.dll 2025-02-15T18:04:20.964Z +Engine/Binaries/ThirdParty/OpenXR/win64/openxr_loader.dll 2025-02-15T18:04:20.982Z +Engine/Binaries/ThirdParty/Vorbis/Win64/VS2015/libvorbis_64.dll 2025-02-15T18:04:23.006Z +Engine/Binaries/ThirdParty/Vorbis/Win64/VS2015/libvorbisfile_64.dll 2025-02-15T18:04:23.006Z +Engine/Binaries/ThirdParty/Windows/WinPixEventRuntime/x64/WinPixEventRuntime.dll 2025-02-15T18:04:23.512Z +Engine/Binaries/ThirdParty/Windows/XAudio2_9/x64/xaudio2_9redist.dll 2025-02-15T18:04:23.513Z +Engine/Content/Renderer/TessellationTable.bin 2024-12-14T12:46:22.498Z +Engine/Content/Slate/Cursor/invisible.cur 2024-12-14T12:46:22.532Z +Engine/Plugins/NNE/NNERuntimeORT/Binaries/ThirdParty/Onnxruntime/Win64/onnxruntime.dll 2025-02-15T18:11:04.542Z +Engine/Config/StagedBuild_vr_great_ryc.ini 2025-03-20T10:45:21.326Z +Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_api_dump.dll 2025-02-15T18:04:23.019Z +Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_api_dump.json 2024-12-14T12:41:33.759Z +Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_gfxreconstruct.dll 2025-02-15T18:04:23.023Z +Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_gfxreconstruct.json 2024-12-14T12:41:33.763Z +Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_profiles.dll 2025-02-15T18:04:23.025Z +Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_profiles.json 2024-12-14T12:41:33.765Z +Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_synchronization2.dll 2025-02-15T18:04:23.025Z +Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_synchronization2.json 2024-12-14T12:41:33.765Z +Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_validation.dll 2025-02-15T18:04:23.498Z +Engine/Binaries/ThirdParty/Vulkan/Win64/VkLayer_khronos_validation.json 2024-12-14T12:41:34.701Z +vr_great_ryc.exe 2025-03-20T10:45:21.323Z diff --git a/build_vr_big_map/Manifest_UFSFiles_Win64.txt b/build_vr_big_map/Manifest_UFSFiles_Win64.txt new file mode 100644 index 0000000000000000000000000000000000000000..b7ef5820a8fd50a8a82cf2f3e43524fe1156a2d2 --- /dev/null +++ b/build_vr_big_map/Manifest_UFSFiles_Win64.txt @@ -0,0 +1,3845 @@ +vr_great_ryc/Plugins/SocketIOClient/SocketIOClient.uplugin 2024-06-04T02:55:12.000Z +vr_great_ryc/Plugins/UDP-Unreal/UDPWrapper.uplugin 2024-06-04T04:02:18.000Z +vr_great_ryc/vr_great_ryc.uproject 2025-03-18T02:18:42.901Z +Engine/Content/Slate/Automation/DeveloperDirectoryContent.png 2024-12-14T12:46:22.500Z +Engine/Content/Slate/Automation/EditorGroupBorder.png 2024-12-14T12:46:22.501Z +Engine/Content/Slate/Automation/ErrorFilter.png 2024-12-14T12:46:22.501Z +Engine/Content/Slate/Automation/ExcludedTestsFilter.png 2024-12-14T12:46:22.501Z +Engine/Content/Slate/Automation/Fail.png 2024-12-14T13:12:19.361Z +Engine/Content/Slate/Automation/GameGroupBorder.png 2024-12-14T12:46:22.502Z +Engine/Content/Slate/Automation/Groups.png 2024-12-14T12:46:22.502Z +Engine/Content/Slate/Automation/InProcess.png 2024-12-14T12:46:22.502Z +Engine/Content/Slate/Automation/NoSessionWarning.png 2024-12-14T12:45:02.258Z +Engine/Content/Slate/Automation/NotEnoughParticipants.png 2024-12-14T13:12:19.362Z +Engine/Content/Slate/Automation/NotRun.png 2024-12-14T12:46:22.503Z +Engine/Content/Slate/Automation/Participant.png 2024-12-14T12:46:22.503Z +Engine/Content/Slate/Automation/ParticipantsWarning.png 2024-12-14T12:46:22.503Z +Engine/Content/Slate/Automation/RefreshTests.png 2024-12-14T13:12:19.363Z +Engine/Content/Slate/Automation/RefreshWorkers.png 2024-12-14T12:46:22.504Z +Engine/Content/Slate/Automation/RunTests.png 2024-12-14T12:46:22.504Z +Engine/Content/Slate/Automation/SmokeTest.png 2024-12-14T12:46:22.504Z +Engine/Content/Slate/Automation/SmokeTestFilter.png 2024-12-14T12:46:22.504Z +Engine/Content/Slate/Automation/SmokeTestParent.png 2024-12-14T12:46:22.505Z +Engine/Content/Slate/Automation/StopTests.png 2024-12-14T12:46:22.505Z +Engine/Content/Slate/Automation/Success.png 2024-12-14T13:12:19.365Z +Engine/Content/Slate/Automation/TrackTestHistory.png 2024-12-14T12:46:22.505Z +Engine/Content/Slate/Automation/VisualCommandlet.png 2024-12-14T12:46:22.506Z +Engine/Content/Slate/Automation/Warning.png 2024-12-14T13:12:19.365Z +Engine/Content/Slate/Automation/WarningFilter.png 2024-12-14T12:46:22.506Z +Engine/Content/Slate/Checkerboard.png 2024-12-14T12:46:22.506Z +Engine/Content/Slate/Common/BoxShadow.png 2024-12-14T12:46:22.507Z +Engine/Content/Slate/Common/Button.png 2024-12-14T12:46:22.507Z +Engine/Content/Slate/Common/Button_Disabled.png 2024-12-14T12:46:22.507Z +Engine/Content/Slate/Common/Button_Hovered.png 2024-12-14T12:44:56.901Z +Engine/Content/Slate/Common/Button_Pressed.png 2024-12-14T12:44:56.901Z +Engine/Content/Slate/Common/Check.png 2024-12-14T12:46:22.507Z +Engine/Content/Slate/Common/CheckBox.png 2024-12-14T12:46:22.508Z +Engine/Content/Slate/Common/CheckBox_Checked.png 2024-12-14T12:46:22.508Z +Engine/Content/Slate/Common/CheckBox_Checked_Hovered.png 2024-12-14T12:46:22.508Z +Engine/Content/Slate/Common/CheckBox_Hovered.png 2024-12-14T12:46:22.508Z +Engine/Content/Slate/Common/CheckBox_Undetermined.png 2024-12-14T12:46:22.509Z +Engine/Content/Slate/Common/CheckBox_Undetermined_Hovered.png 2024-12-14T12:46:22.509Z +Engine/Content/Slate/Common/Checker.png 2024-12-14T12:46:22.509Z +Engine/Content/Slate/Common/Circle.png 2024-12-14T12:46:22.509Z +Engine/Content/Slate/Common/ColorGradingWheel.png 2024-12-14T12:46:22.510Z +Engine/Content/Slate/Common/ColorPicker_Mode_16x.png 2024-12-14T12:46:22.510Z +Engine/Content/Slate/Common/ColorPicker_Separator.png 2024-12-14T12:46:22.510Z +Engine/Content/Slate/Common/ColorPicker_SliderHandle.png 2024-12-14T12:46:22.510Z +Engine/Content/Slate/Common/ColorSpectrum.png 2024-12-14T12:46:22.511Z +Engine/Content/Slate/Common/ColorWheel.png 2024-12-14T12:45:02.223Z +Engine/Content/Slate/Common/ColumnHeader.png 2024-12-14T12:46:22.511Z +Engine/Content/Slate/Common/ColumnHeaderMenuButton_Hovered.png 2024-12-14T12:46:22.511Z +Engine/Content/Slate/Common/ColumnHeaderMenuButton_Normal.png 2024-12-14T12:46:22.512Z +Engine/Content/Slate/Common/ColumnHeader_Arrow.png 2024-12-14T12:44:56.903Z +Engine/Content/Slate/Common/ColumnHeader_Hovered.png 2024-12-14T12:46:22.511Z +Engine/Content/Slate/Common/ComboArrow.png 2024-12-14T12:46:22.512Z +Engine/Content/Slate/Common/CursorPing.png 2024-12-14T12:46:22.512Z +Engine/Content/Slate/Common/DarkGroupBorder.png 2024-12-14T12:46:22.512Z +Engine/Content/Slate/Common/DebugBorder.PNG 2024-12-14T12:46:22.513Z +Engine/Content/Slate/Common/Delimiter.png 2024-12-14T12:46:22.513Z +Engine/Content/Slate/Common/DownArrow.png 2024-12-14T12:46:22.513Z +Engine/Content/Slate/Common/DropZoneIndicator_Above.png 2024-12-14T13:12:19.372Z +Engine/Content/Slate/Common/DropZoneIndicator_Below.png 2024-12-14T13:12:19.373Z +Engine/Content/Slate/Common/DropZoneIndicator_Onto.png 2024-12-14T13:12:19.373Z +Engine/Content/Slate/Common/EditableTextSelectionBackground.png 2024-12-14T12:46:22.513Z +Engine/Content/Slate/Common/EventMessage_Default.png 2024-12-14T12:46:22.513Z +Engine/Content/Slate/Common/ExpansionButton_CloseOverlay.png 2024-12-14T12:45:02.231Z +Engine/Content/Slate/Common/GroupBorder.png 2024-12-14T12:46:22.514Z +Engine/Content/Slate/Common/GroupBorder_Shape.png 2024-12-14T12:46:22.514Z +Engine/Content/Slate/Common/HeaderSplitterGrip.PNG 2024-12-14T12:46:22.514Z +Engine/Content/Slate/Common/LastColumnHeader_Hovered.png 2024-12-14T12:46:22.514Z +Engine/Content/Slate/Common/LeftArrow.png 2024-12-14T12:44:56.912Z +Engine/Content/Slate/Common/LightGroupBorder.png 2024-12-14T12:46:22.515Z +Engine/Content/Slate/Common/NoiseBackground.png 2024-12-14T12:46:22.515Z +Engine/Content/Slate/Common/PlainBorder.png 2024-12-14T12:46:22.515Z +Engine/Content/Slate/Common/ProfileVisualizer_Mono.png 2024-12-14T12:46:22.515Z +Engine/Content/Slate/Common/ProfileVisualizer_Normal.png 2024-12-14T12:46:22.515Z +Engine/Content/Slate/Common/ProfileVisualizer_Selected.png 2024-12-14T12:46:22.516Z +Engine/Content/Slate/Common/ProgressBar_Background.png 2024-12-14T12:46:22.516Z +Engine/Content/Slate/Common/ProgressBar_Fill.png 2024-12-14T12:46:22.516Z +Engine/Content/Slate/Common/ProgressBar_Marquee.PNG 2024-12-14T12:46:22.516Z +Engine/Content/Slate/Common/RadioButton_SelectedBack_16x.png 2024-12-14T12:44:56.916Z +Engine/Content/Slate/Common/RadioButton_Selected_16x.png 2024-12-14T12:46:22.517Z +Engine/Content/Slate/Common/RadioButton_Unselected_16x.png 2024-12-14T12:46:22.517Z +Engine/Content/Slate/Common/RoundedSelection_16x.PNG 2024-12-14T12:46:22.517Z +Engine/Content/Slate/Common/ScrollBorderShadowBottom.png 2024-12-14T12:46:22.518Z +Engine/Content/Slate/Common/ScrollBorderShadowTop.png 2024-12-14T12:46:22.518Z +Engine/Content/Slate/Common/ScrollBoxShadowBottom.png 2024-12-14T12:46:22.518Z +Engine/Content/Slate/Common/ScrollBoxShadowLeft.png 2024-12-14T12:46:22.518Z +Engine/Content/Slate/Common/ScrollBoxShadowRight.png 2024-12-14T12:46:22.519Z +Engine/Content/Slate/Common/ScrollBoxShadowTop.png 2024-12-14T12:46:22.519Z +Engine/Content/Slate/Common/Scrollbar_Background_Horizontal.png 2024-12-14T12:46:22.517Z +Engine/Content/Slate/Common/Scrollbar_Background_Vertical.png 2024-12-14T12:46:22.517Z +Engine/Content/Slate/Common/Scrollbar_Thumb.png 2024-12-14T12:46:22.517Z +Engine/Content/Slate/Common/SearchGlass.PNG 2024-12-14T12:46:22.519Z +Engine/Content/Slate/Common/Selection.png 2024-12-14T12:46:22.519Z +Engine/Content/Slate/Common/Selector.png 2024-12-14T12:46:22.519Z +Engine/Content/Slate/Common/Separator.png 2024-12-14T12:46:22.520Z +Engine/Content/Slate/Common/SmallCheck.png 2024-12-14T12:46:22.520Z +Engine/Content/Slate/Common/SmallCheckBox.png 2024-12-14T12:46:22.520Z +Engine/Content/Slate/Common/SmallCheckBox_Checked.png 2024-12-14T12:46:22.520Z +Engine/Content/Slate/Common/SmallCheckBox_Checked_Hovered.png 2024-12-14T12:46:22.520Z +Engine/Content/Slate/Common/SmallCheckBox_Hovered.png 2024-12-14T12:46:22.521Z +Engine/Content/Slate/Common/SmallCheckBox_Undetermined.png 2024-12-14T12:44:56.922Z +Engine/Content/Slate/Common/SmallCheckBox_Undetermined_Hovered.png 2024-12-14T12:44:56.922Z +Engine/Content/Slate/Common/SortDownArrow.png 2024-12-14T12:46:22.521Z +Engine/Content/Slate/Common/SortDownArrows.png 2024-12-14T12:44:56.925Z +Engine/Content/Slate/Common/SortUpArrow.png 2024-12-14T12:46:22.521Z +Engine/Content/Slate/Common/SortUpArrows.png 2024-12-14T12:44:56.925Z +Engine/Content/Slate/Common/SpinArrows.png 2024-12-14T12:46:22.521Z +Engine/Content/Slate/Common/Spinbox.PNG 2024-12-14T12:46:22.521Z +Engine/Content/Slate/Common/Spinbox_Fill.png 2024-12-14T12:46:22.522Z +Engine/Content/Slate/Common/Spinbox_Fill_Dark.png 2024-12-14T12:46:22.522Z +Engine/Content/Slate/Common/Spinbox_Fill_Hovered.png 2024-12-14T12:46:22.522Z +Engine/Content/Slate/Common/Spinbox_Fill_Hovered_Dark.png 2024-12-14T12:46:22.522Z +Engine/Content/Slate/Common/Spinbox_Hovered.png 2024-12-14T12:46:22.522Z +Engine/Content/Slate/Common/SplitterHandleHighlight.png 2024-12-14T12:46:22.523Z +Engine/Content/Slate/Common/SubmenuArrow.png 2024-12-14T12:46:22.523Z +Engine/Content/Slate/Common/TableViewHeader.png 2024-12-14T12:46:22.523Z +Engine/Content/Slate/Common/TableViewMajorColumn.png 2024-12-14T12:44:56.927Z +Engine/Content/Slate/Common/TextBlockHighlightShape.png 2024-12-14T13:12:19.384Z +Engine/Content/Slate/Common/TextBlockHighlightShape_Empty.png 2024-12-14T12:46:22.524Z +Engine/Content/Slate/Common/TextBox.png 2024-12-14T12:46:22.524Z +Engine/Content/Slate/Common/TextBoxLabelBorder.PNG 2024-12-14T12:46:22.526Z +Engine/Content/Slate/Common/TextBox_Dark.png 2024-12-14T12:46:22.524Z +Engine/Content/Slate/Common/TextBox_Hovered.png 2024-12-14T12:46:22.524Z +Engine/Content/Slate/Common/TextBox_Hovered_Dark.png 2024-12-14T12:46:22.524Z +Engine/Content/Slate/Common/TextBox_ReadOnly.png 2024-12-14T12:46:22.525Z +Engine/Content/Slate/Common/TextBox_Special.png 2024-12-14T12:46:22.525Z +Engine/Content/Slate/Common/TextBox_Special_Hovered.png 2024-12-14T12:46:22.525Z +Engine/Content/Slate/Common/Throbber_Piece.png 2024-12-14T12:46:22.526Z +Engine/Content/Slate/Common/TreeArrow_Collapsed.png 2024-12-14T12:46:22.526Z +Engine/Content/Slate/Common/TreeArrow_Collapsed_Hovered.png 2024-12-14T12:46:22.526Z +Engine/Content/Slate/Common/TreeArrow_Expanded.png 2024-12-14T12:46:22.526Z +Engine/Content/Slate/Common/TreeArrow_Expanded_Hovered.png 2024-12-14T12:46:22.527Z +Engine/Content/Slate/Common/UpArrow.png 2024-12-14T12:46:22.527Z +Engine/Content/Slate/Common/VerticalBoxDragIndicator.png 2024-12-14T12:46:22.527Z +Engine/Content/Slate/Common/VerticalBoxDragIndicatorShort.png 2024-12-14T12:46:22.527Z +Engine/Content/Slate/Common/VolumeControl_High.png 2024-12-14T12:46:22.527Z +Engine/Content/Slate/Common/VolumeControl_Low.png 2024-12-14T12:46:22.528Z +Engine/Content/Slate/Common/VolumeControl_Mid.png 2024-12-14T12:46:22.528Z +Engine/Content/Slate/Common/VolumeControl_Muted.png 2024-12-14T12:46:22.528Z +Engine/Content/Slate/Common/VolumeControl_Off.png 2024-12-14T12:46:22.529Z +Engine/Content/Slate/Common/WhiteGroupBorder.png 2024-12-14T12:46:22.529Z +Engine/Content/Slate/Common/Window/WindowBackground.png 2024-12-14T12:46:22.529Z +Engine/Content/Slate/Common/Window/WindowBorder.png 2024-12-14T12:45:02.288Z +Engine/Content/Slate/Common/Window/WindowButton_Close_Hovered.png 2024-12-14T12:46:22.529Z +Engine/Content/Slate/Common/Window/WindowButton_Close_Normal.png 2024-12-14T12:45:02.289Z +Engine/Content/Slate/Common/Window/WindowButton_Close_Pressed.png 2024-12-14T12:45:02.289Z +Engine/Content/Slate/Common/Window/WindowButton_Maximize_Disabled.png 2024-12-14T12:45:02.289Z +Engine/Content/Slate/Common/Window/WindowButton_Maximize_Hovered.png 2024-12-14T12:46:22.530Z +Engine/Content/Slate/Common/Window/WindowButton_Maximize_Normal.png 2024-12-14T12:45:02.290Z +Engine/Content/Slate/Common/Window/WindowButton_Maximize_Pressed.png 2024-12-14T12:45:02.290Z +Engine/Content/Slate/Common/Window/WindowButton_Minimize_Disabled.png 2024-12-14T12:45:02.290Z +Engine/Content/Slate/Common/Window/WindowButton_Minimize_Hovered.png 2024-12-14T12:46:22.530Z +Engine/Content/Slate/Common/Window/WindowButton_Minimize_Normal.png 2024-12-14T12:45:02.291Z +Engine/Content/Slate/Common/Window/WindowButton_Minimize_Pressed.png 2024-12-14T12:45:02.291Z +Engine/Content/Slate/Common/Window/WindowButton_Restore_Hovered.png 2024-12-14T12:46:22.530Z +Engine/Content/Slate/Common/Window/WindowButton_Restore_Normal.png 2024-12-14T12:45:02.291Z +Engine/Content/Slate/Common/Window/WindowButton_Restore_Pressed.png 2024-12-14T12:45:02.291Z +Engine/Content/Slate/Common/Window/WindowOutline.png 2024-12-14T12:46:22.530Z +Engine/Content/Slate/Common/Window/WindowTitle.png 2024-12-14T12:46:22.531Z +Engine/Content/Slate/Common/Window/WindowTitle_Flashing.png 2024-12-14T12:46:22.531Z +Engine/Content/Slate/Common/Window/WindowTitle_Inactive.png 2024-12-14T12:46:22.531Z +Engine/Content/Slate/Common/X.PNG 2024-12-14T12:46:22.531Z +Engine/Content/Slate/CrashTracker/MouseCursor.png 2024-12-14T12:44:56.913Z +Engine/Content/Slate/CrashTracker/Record.png 2024-12-14T12:46:22.531Z +Engine/Content/Slate/Docking/AppTabContentArea.png 2024-12-14T12:46:22.533Z +Engine/Content/Slate/Docking/AppTabWellSeparator.png 2024-12-14T12:44:56.948Z +Engine/Content/Slate/Docking/AppTab_Active.png 2024-12-14T12:44:56.947Z +Engine/Content/Slate/Docking/AppTab_ColorOverlay.png 2024-12-14T12:46:22.532Z +Engine/Content/Slate/Docking/AppTab_ColorOverlayIcon.png 2024-12-14T13:12:19.393Z +Engine/Content/Slate/Docking/AppTab_Foreground.png 2024-12-14T12:46:22.532Z +Engine/Content/Slate/Docking/AppTab_Hovered.png 2024-12-14T12:46:22.532Z +Engine/Content/Slate/Docking/AppTab_Inactive.png 2024-12-14T12:46:22.533Z +Engine/Content/Slate/Docking/CloseApp_Hovered.png 2024-12-14T12:46:22.533Z +Engine/Content/Slate/Docking/CloseApp_Normal.png 2024-12-14T12:46:22.533Z +Engine/Content/Slate/Docking/CloseApp_Pressed.png 2024-12-14T12:46:22.534Z +Engine/Content/Slate/Docking/DockingIndicator_Center.png 2024-12-14T12:46:22.534Z +Engine/Content/Slate/Docking/OuterDockingIndicator.png 2024-12-14T12:44:56.950Z +Engine/Content/Slate/Docking/ShowTabwellButton_Hovered.png 2024-12-14T12:46:22.534Z +Engine/Content/Slate/Docking/ShowTabwellButton_Normal.png 2024-12-14T12:46:22.535Z +Engine/Content/Slate/Docking/ShowTabwellButton_Pressed.png 2024-12-14T12:46:22.535Z +Engine/Content/Slate/Docking/TabContentArea.png 2024-12-14T12:44:56.952Z +Engine/Content/Slate/Docking/TabWellSeparator.png 2024-12-14T12:44:56.952Z +Engine/Content/Slate/Docking/Tab_Active.png 2024-12-14T12:44:56.951Z +Engine/Content/Slate/Docking/Tab_ColorOverlay.png 2024-12-14T12:46:22.535Z +Engine/Content/Slate/Docking/Tab_ColorOverlayIcon.png 2024-12-14T12:44:56.947Z +Engine/Content/Slate/Docking/Tab_Foreground.png 2024-12-14T12:44:56.951Z +Engine/Content/Slate/Docking/Tab_Hovered.png 2024-12-14T12:44:56.951Z +Engine/Content/Slate/Docking/Tab_Inactive.png 2024-12-14T12:44:56.951Z +Engine/Content/Slate/Docking/Tab_Shape.png 2024-12-14T12:46:22.535Z +Engine/Content/Slate/Fonts/DroidSans.tps 2024-12-14T12:46:22.536Z +Engine/Content/Slate/Fonts/DroidSansFallback.ttf 2024-12-14T12:46:22.540Z +Engine/Content/Slate/Fonts/DroidSansMono.ttf 2024-12-14T13:12:19.397Z +Engine/Content/Slate/Fonts/Noto.tps 2024-12-14T12:46:22.541Z +Engine/Content/Slate/Fonts/NotoNaskhArabicUI-Regular.ttf 2024-12-14T12:46:22.541Z +Engine/Content/Slate/Fonts/NotoSansThai-Regular.ttf 2024-12-14T12:46:22.541Z +Engine/Content/Slate/Fonts/Roboto-Black.ttf 2024-12-14T12:46:22.542Z +Engine/Content/Slate/Fonts/Roboto-BlackItalic.ttf 2024-12-14T12:46:22.542Z +Engine/Content/Slate/Fonts/Roboto-Bold.ttf 2024-12-14T13:12:19.398Z +Engine/Content/Slate/Fonts/Roboto-BoldCondensed.ttf 2024-12-14T12:46:22.543Z +Engine/Content/Slate/Fonts/Roboto-BoldCondensedItalic.ttf 2024-12-14T12:46:22.544Z +Engine/Content/Slate/Fonts/Roboto-BoldItalic.ttf 2024-12-14T12:46:22.544Z +Engine/Content/Slate/Fonts/Roboto-Italic.ttf 2024-12-14T12:46:22.544Z +Engine/Content/Slate/Fonts/Roboto-Light.ttf 2024-12-14T12:46:22.545Z +Engine/Content/Slate/Fonts/Roboto-Medium.ttf 2024-12-14T12:46:22.545Z +Engine/Content/Slate/Fonts/Roboto-Regular.ttf 2024-12-14T12:46:22.546Z +Engine/Content/Slate/Fonts/Roboto.tps 2024-12-14T12:46:22.546Z +Engine/Content/Slate/Icons/BackIcon.png 2024-12-14T12:46:22.547Z +Engine/Content/Slate/Icons/Cross_12x.png 2024-12-14T12:46:22.547Z +Engine/Content/Slate/Icons/DefaultAppIcon.png 2024-12-14T13:12:19.401Z +Engine/Content/Slate/Icons/Edit/icon_Edit_Copy_16x.png 2024-12-14T12:46:22.548Z +Engine/Content/Slate/Icons/Edit/icon_Edit_Cut_16x.png 2024-12-14T12:46:22.548Z +Engine/Content/Slate/Icons/Edit/icon_Edit_Delete_16x.png 2024-12-14T12:46:22.548Z +Engine/Content/Slate/Icons/Edit/icon_Edit_Duplicate_16x.png 2024-12-14T12:46:22.548Z +Engine/Content/Slate/Icons/Edit/icon_Edit_Paste_16x.png 2024-12-14T12:46:22.549Z +Engine/Content/Slate/Icons/Edit/icon_Edit_Rename_16x.png 2024-12-14T12:46:22.549Z +Engine/Content/Slate/Icons/Empty_14x.png 2024-12-14T12:46:22.549Z +Engine/Content/Slate/Icons/NextIcon.png 2024-12-14T12:46:22.553Z +Engine/Content/Slate/Icons/PIEWindow/SmallRoundedButton.png 2024-12-14T12:44:56.922Z +Engine/Content/Slate/Icons/PIEWindow/SmallRoundedButtonBottom.png 2024-12-14T12:44:56.923Z +Engine/Content/Slate/Icons/PIEWindow/SmallRoundedButtonCentre.png 2024-12-14T12:44:56.923Z +Engine/Content/Slate/Icons/PIEWindow/SmallRoundedButtonLeft.png 2024-12-14T12:44:56.923Z +Engine/Content/Slate/Icons/PIEWindow/SmallRoundedButtonRight.png 2024-12-14T12:44:56.923Z +Engine/Content/Slate/Icons/PIEWindow/SmallRoundedButtonTop.png 2024-12-14T12:44:56.923Z +Engine/Content/Slate/Icons/PIEWindow/WindowButton_025x_Hovered.png 2024-12-14T12:46:22.553Z +Engine/Content/Slate/Icons/PIEWindow/WindowButton_025x_Normal.png 2024-12-14T12:46:22.553Z +Engine/Content/Slate/Icons/PIEWindow/WindowButton_025x_Pressed.png 2024-12-14T12:46:22.553Z +Engine/Content/Slate/Icons/PIEWindow/WindowButton_05x_Hovered.png 2024-12-14T12:46:22.554Z +Engine/Content/Slate/Icons/PIEWindow/WindowButton_05x_Normal.png 2024-12-14T12:46:22.554Z +Engine/Content/Slate/Icons/PIEWindow/WindowButton_05x_Pressed.png 2024-12-14T12:46:22.554Z +Engine/Content/Slate/Icons/PIEWindow/WindowButton_1x_Hovered.png 2024-12-14T12:46:22.554Z +Engine/Content/Slate/Icons/PIEWindow/WindowButton_1x_Normal.png 2024-12-14T12:46:22.554Z +Engine/Content/Slate/Icons/PIEWindow/WindowButton_1x_Pressed.png 2024-12-14T12:46:22.555Z +Engine/Content/Slate/Icons/PIEWindow/WindowButton_Screen_Rotation_Hovered.png 2024-12-14T12:46:22.555Z +Engine/Content/Slate/Icons/PIEWindow/WindowButton_Screen_Rotation_Normal.png 2024-12-14T12:46:22.555Z +Engine/Content/Slate/Icons/PIEWindow/WindowButton_Screen_Rotation_Pressed.png 2024-12-14T12:46:22.555Z +Engine/Content/Slate/Icons/PlusSymbol_12x.png 2024-12-14T12:46:22.556Z +Engine/Content/Slate/Icons/Profiler/GroupBorder-16Gray.png 2024-12-14T12:46:22.556Z +Engine/Content/Slate/Icons/Profiler/Profiler_Average_Event_Graph_16x.png 2024-12-14T12:46:22.556Z +Engine/Content/Slate/Icons/Profiler/Profiler_Border_L_16x.png 2024-12-14T12:46:22.556Z +Engine/Content/Slate/Icons/Profiler/Profiler_Border_R_16x.png 2024-12-14T12:46:22.557Z +Engine/Content/Slate/Icons/Profiler/Profiler_Border_TB_16x.png 2024-12-14T12:46:22.557Z +Engine/Content/Slate/Icons/Profiler/Profiler_Cull_Events_16x.png 2024-12-14T12:46:22.559Z +Engine/Content/Slate/Icons/Profiler/Profiler_Culled_12x.png 2024-12-14T12:46:22.559Z +Engine/Content/Slate/Icons/Profiler/Profiler_Custom_Tooltip_12x.png 2024-12-14T12:46:22.559Z +Engine/Content/Slate/Icons/Profiler/Profiler_Data_Capture_40x.png 2024-12-14T12:46:22.559Z +Engine/Content/Slate/Icons/Profiler/Profiler_Events_Flat_16x.png 2024-12-14T12:46:22.560Z +Engine/Content/Slate/Icons/Profiler/Profiler_Events_Flat_Coalesced_16x.png 2024-12-14T12:46:22.560Z +Engine/Content/Slate/Icons/Profiler/Profiler_Events_Hierarchial_16x.png 2024-12-14T12:46:22.561Z +Engine/Content/Slate/Icons/Profiler/Profiler_FPS_Chart_40x.png 2024-12-14T12:46:22.563Z +Engine/Content/Slate/Icons/Profiler/Profiler_Filter_Events_16x.png 2024-12-14T12:46:22.562Z +Engine/Content/Slate/Icons/Profiler/Profiler_Filter_Presets_Tab_16x.png 2024-12-14T12:46:22.562Z +Engine/Content/Slate/Icons/Profiler/Profiler_Filtered_12x.png 2024-12-14T12:46:22.562Z +Engine/Content/Slate/Icons/Profiler/Profiler_Graph_View_Tab_16x.png 2024-12-14T12:46:22.564Z +Engine/Content/Slate/Icons/Profiler/Profiler_Has_Culled_Children_12x.png 2024-12-14T12:46:22.564Z +Engine/Content/Slate/Icons/Profiler/Profiler_History_Back_16x.png 2024-12-14T12:46:22.564Z +Engine/Content/Slate/Icons/Profiler/Profiler_History_Fwd_16x.png 2024-12-14T12:46:22.565Z +Engine/Content/Slate/Icons/Profiler/Profiler_LoadMultiple_Profiler_40x.png 2024-12-14T12:46:22.565Z +Engine/Content/Slate/Icons/Profiler/Profiler_Load_Profiler_40x.png 2024-12-14T12:46:22.565Z +Engine/Content/Slate/Icons/Profiler/Profiler_Max_Event_Graph_16x.png 2024-12-14T12:46:22.566Z +Engine/Content/Slate/Icons/Profiler/Profiler_Settings_40x.png 2024-12-14T13:12:19.418Z +Engine/Content/Slate/Icons/Profiler/Profiler_Tab_16x.png 2024-12-14T12:46:22.570Z +Engine/Content/Slate/Icons/Profiler/Profiler_ThreadView_SampleBorder_16x.png 2024-12-14T12:46:22.570Z +Engine/Content/Slate/Icons/Profiler/profiler_Calls_32x.png 2024-12-14T12:46:22.557Z +Engine/Content/Slate/Icons/Profiler/profiler_CollapseAll_32x.png 2024-12-14T12:46:22.557Z +Engine/Content/Slate/Icons/Profiler/profiler_CollapseSelection_32x.png 2024-12-14T12:46:22.558Z +Engine/Content/Slate/Icons/Profiler/profiler_CollapseThread_32x.png 2024-12-14T12:46:22.558Z +Engine/Content/Slate/Icons/Profiler/profiler_CopyToClipboard_32x.png 2024-12-14T13:12:19.412Z +Engine/Content/Slate/Icons/Profiler/profiler_CulledEvents_12x.png 2024-12-14T12:44:59.027Z +Engine/Content/Slate/Icons/Profiler/profiler_Disconnect_32x.png 2024-12-14T12:46:22.560Z +Engine/Content/Slate/Icons/Profiler/profiler_Event_32x.png 2024-12-14T12:46:22.560Z +Engine/Content/Slate/Icons/Profiler/profiler_ExpandAll_32x.png 2024-12-14T12:46:22.561Z +Engine/Content/Slate/Icons/Profiler/profiler_ExpandHotPath_32x.png 2024-12-14T12:46:22.561Z +Engine/Content/Slate/Icons/Profiler/profiler_ExpandSelection_32x.png 2024-12-14T12:46:22.561Z +Engine/Content/Slate/Icons/Profiler/profiler_ExpandThread_32x.png 2024-12-14T12:46:22.562Z +Engine/Content/Slate/Icons/Profiler/profiler_GameThread_32x.png 2024-12-14T12:46:22.563Z +Engine/Content/Slate/Icons/Profiler/profiler_GenericFilter_32x.png 2024-12-14T12:46:22.563Z +Engine/Content/Slate/Icons/Profiler/profiler_GenericGroup_32x.png 2024-12-14T12:46:22.563Z +Engine/Content/Slate/Icons/Profiler/profiler_HotPath_32x.png 2024-12-14T12:46:22.565Z +Engine/Content/Slate/Icons/Profiler/profiler_Memory_32x.png 2024-12-14T12:46:22.566Z +Engine/Content/Slate/Icons/Profiler/profiler_Number_32x.png 2024-12-14T12:46:22.567Z +Engine/Content/Slate/Icons/Profiler/profiler_OpenEventGraph_32x.png 2024-12-14T12:46:22.567Z +Engine/Content/Slate/Icons/Profiler/profiler_RenderThread_32x.png 2024-12-14T12:46:22.567Z +Engine/Content/Slate/Icons/Profiler/profiler_ResetColumn_32x.png 2024-12-14T12:46:22.567Z +Engine/Content/Slate/Icons/Profiler/profiler_ResetToDefault_32x.png 2024-12-14T12:44:56.945Z +Engine/Content/Slate/Icons/Profiler/profiler_SelectStack_32x.png 2024-12-14T12:46:22.567Z +Engine/Content/Slate/Icons/Profiler/profiler_SetRoot_32x.png 2024-12-14T12:46:22.568Z +Engine/Content/Slate/Icons/Profiler/profiler_ShowGraphData_32x.png 2024-12-14T12:46:22.568Z +Engine/Content/Slate/Icons/Profiler/profiler_SortAscending_32x.png 2024-12-14T12:46:22.569Z +Engine/Content/Slate/Icons/Profiler/profiler_SortBy_32x.png 2024-12-14T12:46:22.569Z +Engine/Content/Slate/Icons/Profiler/profiler_SortDescending_32x.png 2024-12-14T12:46:22.569Z +Engine/Content/Slate/Icons/Profiler/profiler_ViewColumn_32x.png 2024-12-14T12:46:22.570Z +Engine/Content/Slate/Icons/Profiler/profiler_mem_40x.png 2024-12-14T12:46:22.566Z +Engine/Content/Slate/Icons/Profiler/profiler_stats_40x.png 2024-12-14T12:46:22.569Z +Engine/Content/Slate/Icons/Profiler/profiler_sync_40x.png 2024-12-14T12:46:22.569Z +Engine/Content/Slate/Icons/TrashCan.png 2024-12-14T12:46:22.571Z +Engine/Content/Slate/Icons/TrashCan_Small.png 2024-12-14T12:46:22.571Z +Engine/Content/Slate/Icons/cursor_cardinal_cross.png 2024-12-14T12:44:59.008Z +Engine/Content/Slate/Icons/cursor_grab.png 2024-12-14T12:46:22.547Z +Engine/Content/Slate/Icons/denied_16x.png 2024-12-14T12:46:22.547Z +Engine/Content/Slate/Icons/ellipsis_12x.png 2024-12-14T12:46:22.549Z +Engine/Content/Slate/Icons/eyedropper_16px.png 2024-12-14T12:46:22.550Z +Engine/Content/Slate/Icons/icon_Downloads_16x.png 2024-12-14T12:46:22.550Z +Engine/Content/Slate/Icons/icon_error_16x.png 2024-12-14T12:46:22.550Z +Engine/Content/Slate/Icons/icon_generic_toolbar.png 2024-12-14T12:46:22.550Z +Engine/Content/Slate/Icons/icon_help_16x.png 2024-12-14T12:46:22.551Z +Engine/Content/Slate/Icons/icon_info_16x.png 2024-12-14T13:12:19.404Z +Engine/Content/Slate/Icons/icon_redo_16px.png 2024-12-14T12:46:22.551Z +Engine/Content/Slate/Icons/icon_tab_Tools_16x.png 2024-12-14T12:46:22.551Z +Engine/Content/Slate/Icons/icon_tab_WidgetReflector_16x.png 2024-12-14T12:46:22.552Z +Engine/Content/Slate/Icons/icon_tab_WidgetReflector_40x.png 2024-12-14T12:46:22.552Z +Engine/Content/Slate/Icons/icon_tab_toolbar_16px.png 2024-12-14T12:46:22.551Z +Engine/Content/Slate/Icons/icon_undo_16px.png 2024-12-14T12:46:22.552Z +Engine/Content/Slate/Icons/icon_warning_16x.png 2024-12-14T12:46:22.552Z +Engine/Content/Slate/Icons/notificationlist_fail.png 2024-12-14T12:45:02.278Z +Engine/Content/Slate/Icons/notificationlist_success.png 2024-12-14T12:46:22.553Z +Engine/Content/Slate/Icons/toolbar_expand_16x.png 2024-12-14T12:46:22.570Z +Engine/Content/Slate/Launcher/All_Platforms_128x.png 2024-12-14T12:46:22.571Z +Engine/Content/Slate/Launcher/All_Platforms_24x.png 2024-12-14T12:46:22.571Z +Engine/Content/Slate/Launcher/Instance_Commandlet.png 2024-12-14T12:46:22.571Z +Engine/Content/Slate/Launcher/Instance_Editor.png 2024-12-14T12:46:22.572Z +Engine/Content/Slate/Launcher/Instance_Game.png 2024-12-14T12:46:22.572Z +Engine/Content/Slate/Launcher/Instance_Other.png 2024-12-14T12:46:22.572Z +Engine/Content/Slate/Launcher/Instance_Server.png 2024-12-14T12:46:22.572Z +Engine/Content/Slate/Launcher/Instance_Unknown.png 2024-12-14T12:46:22.572Z +Engine/Content/Slate/Launcher/Launcher_Advanced.png 2024-12-14T12:46:22.573Z +Engine/Content/Slate/Launcher/Launcher_Back.png 2024-12-14T12:46:22.573Z +Engine/Content/Slate/Launcher/Launcher_Build.png 2024-12-14T12:46:22.573Z +Engine/Content/Slate/Launcher/Launcher_Delete.png 2024-12-14T12:46:22.573Z +Engine/Content/Slate/Launcher/Launcher_Deploy.png 2024-12-14T12:46:22.574Z +Engine/Content/Slate/Launcher/Launcher_EditSettings.png 2024-12-14T12:46:22.574Z +Engine/Content/Slate/Launcher/Launcher_Launch.png 2024-12-14T12:46:22.574Z +Engine/Content/Slate/Launcher/Launcher_Run.png 2024-12-14T12:46:22.575Z +Engine/Content/Slate/MessageLog/Log_Error.png 2024-12-14T12:46:22.575Z +Engine/Content/Slate/MessageLog/Log_Note.png 2024-12-14T12:46:22.575Z +Engine/Content/Slate/MessageLog/Log_Warning.png 2024-12-14T12:46:22.575Z +Engine/Content/Slate/Old/Border.PNG 2024-12-14T12:46:22.575Z +Engine/Content/Slate/Old/Button.png 2024-12-14T12:46:22.576Z +Engine/Content/Slate/Old/DashedBorder.png 2024-12-14T12:46:22.576Z +Engine/Content/Slate/Old/HyperlinkDotted.png 2024-12-14T12:46:22.576Z +Engine/Content/Slate/Old/HyperlinkUnderline.png 2024-12-14T12:46:22.576Z +Engine/Content/Slate/Old/Menu_Background.png 2024-12-14T12:46:22.577Z +Engine/Content/Slate/Old/Menu_Background_Inverted_Border_Bold.png 2024-12-14T12:45:02.276Z +Engine/Content/Slate/Old/Notification_Border_Flash.png 2024-12-14T12:46:22.577Z +Engine/Content/Slate/Old/Tiles/ActionMenuButtonBG.png 2024-12-14T12:46:22.577Z +Engine/Content/Slate/Old/Tiles/ArrowBox.png 2024-12-14T12:46:22.578Z +Engine/Content/Slate/Old/Tiles/ArrowLeft.png 2024-12-14T12:46:22.579Z +Engine/Content/Slate/Old/Tiles/Arrow_D.png 2024-12-14T12:46:22.577Z +Engine/Content/Slate/Old/Tiles/Arrow_L.png 2024-12-14T12:46:22.578Z +Engine/Content/Slate/Old/Tiles/Arrow_R.png 2024-12-14T12:46:22.578Z +Engine/Content/Slate/Old/Tiles/Arrow_U.png 2024-12-14T12:46:22.578Z +Engine/Content/Slate/Old/Tiles/BoxEdgeHighlight.png 2024-12-14T12:46:22.579Z +Engine/Content/Slate/Old/Tiles/CalloutBox.png 2024-12-14T12:46:22.580Z +Engine/Content/Slate/Old/Tiles/CalloutBox2.png 2024-12-14T12:46:22.580Z +Engine/Content/Slate/Old/Tiles/CalloutBox3.png 2024-12-14T12:46:22.581Z +Engine/Content/Slate/Old/Tiles/Callout_Background.png 2024-12-14T12:46:22.579Z +Engine/Content/Slate/Old/Tiles/Callout_Glow.png 2024-12-14T12:46:22.580Z +Engine/Content/Slate/Old/Tiles/Callout_Outline.png 2024-12-14T12:46:22.580Z +Engine/Content/Slate/Old/Tiles/CircleBox.png 2024-12-14T12:46:22.581Z +Engine/Content/Slate/Old/Tiles/CircleBox2.png 2024-12-14T13:12:19.429Z +Engine/Content/Slate/Old/Tiles/CodeBlock_Background.png 2024-12-14T12:46:22.581Z +Engine/Content/Slate/Old/Tiles/CodeBlock_Glow.png 2024-12-14T12:46:22.582Z +Engine/Content/Slate/Old/Tiles/CodeBlock_Outline.png 2024-12-14T12:46:22.582Z +Engine/Content/Slate/Old/Tiles/DiamondBox.png 2024-12-14T12:46:22.582Z +Engine/Content/Slate/Old/Tiles/DiamondBox_B.png 2024-12-14T12:46:22.582Z +Engine/Content/Slate/Old/Tiles/DiamondBox_T.png 2024-12-14T12:46:22.582Z +Engine/Content/Slate/Old/Tiles/DottedCircleBox_L.png 2024-12-14T12:46:22.583Z +Engine/Content/Slate/Old/Tiles/DottedCircleBox_LR.png 2024-12-14T12:46:22.583Z +Engine/Content/Slate/Old/Tiles/DottedCircleBox_LR_E.png 2024-12-14T12:46:22.583Z +Engine/Content/Slate/Old/Tiles/DottedCircleBox_L_E.png 2024-12-14T12:46:22.583Z +Engine/Content/Slate/Old/Tiles/DottedCircleBox_R.png 2024-12-14T12:46:22.584Z +Engine/Content/Slate/Old/Tiles/DottedCircleBox_R_E.png 2024-12-14T12:46:22.584Z +Engine/Content/Slate/Old/Tiles/DottedSquareBox_L.png 2024-12-14T12:46:22.584Z +Engine/Content/Slate/Old/Tiles/DottedSquareBox_LR.png 2024-12-14T12:46:22.584Z +Engine/Content/Slate/Old/Tiles/DottedSquareBox_LR_E.png 2024-12-14T12:46:22.585Z +Engine/Content/Slate/Old/Tiles/DottedSquareBox_R.png 2024-12-14T12:46:22.585Z +Engine/Content/Slate/Old/Tiles/DottedSquareBox_R_E.png 2024-12-14T12:46:22.585Z +Engine/Content/Slate/Old/Tiles/Hat.png 2024-12-14T12:46:22.586Z +Engine/Content/Slate/Old/Tiles/Outer/alertOutline.png 2024-12-14T12:46:22.586Z +Engine/Content/Slate/Old/Tiles/Outer/alertSolid.png 2024-12-14T12:46:22.586Z +Engine/Content/Slate/Old/Tiles/PrePost_RoundedBox.png 2024-12-14T13:12:19.434Z +Engine/Content/Slate/Old/Tiles/PrePost_RoundedBox_B.png 2024-12-14T13:12:19.434Z +Engine/Content/Slate/Old/Tiles/PrePost_RoundedBox_T.png 2024-12-14T12:46:22.588Z +Engine/Content/Slate/Old/Tiles/QMark.png 2024-12-14T12:46:22.588Z +Engine/Content/Slate/Old/Tiles/Roboto-Bold.ttf 2024-12-14T12:46:22.543Z +Engine/Content/Slate/Old/Tiles/RoundedBoxBorder.png 2024-12-14T12:46:22.589Z +Engine/Content/Slate/Old/Tiles/RoundedTileFaded.png 2024-12-14T12:46:22.590Z +Engine/Content/Slate/Old/Tiles/RoundedTile_Background.png 2024-12-14T12:46:22.589Z +Engine/Content/Slate/Old/Tiles/RoundedTile_Glow.png 2024-12-14T12:46:22.589Z +Engine/Content/Slate/Old/Tiles/RoundedTile_Outline.png 2024-12-14T12:46:22.589Z +Engine/Content/Slate/Old/Tiles/SolidWhite.png 2024-12-14T12:46:22.591Z +Engine/Content/Slate/Old/Tiles/SquareBox.png 2024-12-14T12:46:22.591Z +Engine/Content/Slate/Old/Tiles/SquareBox_Solid_L.png 2024-12-14T12:46:22.592Z +Engine/Content/Slate/Old/Tiles/SquigglyBox.png 2024-12-14T12:46:22.592Z +Engine/Content/Slate/Old/Tiles/Tile_Highlight.png 2024-12-14T12:46:22.592Z +Engine/Content/Slate/Old/Tiles/Underline.png 2024-12-14T12:46:22.592Z +Engine/Content/Slate/Old/Tiles/bigdot.png 2024-12-14T12:46:22.579Z +Engine/Content/Slate/Old/Tiles/blank.png 2024-12-14T12:46:22.579Z +Engine/Content/Slate/Old/Tiles/pin/pin.png 2024-12-14T12:46:22.586Z +Engine/Content/Slate/Old/Tiles/pin/pin_glow.png 2024-12-14T12:46:22.586Z +Engine/Content/Slate/Old/Tiles/pin/pin_head.png 2024-12-14T12:46:22.587Z +Engine/Content/Slate/Old/Tiles/pin/pin_head_glow.png 2024-12-14T12:46:22.587Z +Engine/Content/Slate/Old/Tiles/pin/pin_highlight.png 2024-12-14T12:46:22.587Z +Engine/Content/Slate/Old/Tiles/pin/pin_shadow.png 2024-12-14T12:46:22.587Z +Engine/Content/Slate/Old/Tiles/pin/pin_stick.png 2024-12-14T12:46:22.588Z +Engine/Content/Slate/Old/Tiles/pin/ping.png 2024-12-14T12:46:22.588Z +Engine/Content/Slate/Old/Tiles/selectionbar/selectionbar_0.png 2024-12-14T12:46:22.590Z +Engine/Content/Slate/Old/Tiles/selectionbar/selectionbar_1.png 2024-12-14T12:46:22.590Z +Engine/Content/Slate/Old/Tiles/selectionbar/selectionbar_2.png 2024-12-14T12:46:22.590Z +Engine/Content/Slate/Old/Tiles/smalldot.png 2024-12-14T12:46:22.591Z +Engine/Content/Slate/Old/ToolBar_Background.png 2024-12-14T12:45:02.285Z +Engine/Content/Slate/Old/ToolTip_Background.png 2024-12-14T12:46:22.593Z +Engine/Content/Slate/Old/ToolTip_BrightBackground.png 2024-12-14T12:46:22.593Z +Engine/Content/Slate/Old/White.png 2024-12-14T12:46:22.594Z +Engine/Content/Slate/Starship/Common/Advanced.svg 2024-12-14T12:46:22.594Z +Engine/Content/Slate/Starship/Common/AllSavedAssets.svg 2024-12-14T12:46:22.595Z +Engine/Content/Slate/Starship/Common/AutomationTools.svg 2024-12-14T12:46:22.597Z +Engine/Content/Slate/Starship/Common/CPP.svg 2024-12-14T12:46:22.605Z +Engine/Content/Slate/Starship/Common/Calendar.svg 2024-12-14T12:46:22.599Z +Engine/Content/Slate/Starship/Common/Console.svg 2024-12-14T12:46:22.605Z +Engine/Content/Slate/Starship/Common/Copy.svg 2024-12-14T12:46:22.605Z +Engine/Content/Slate/Starship/Common/Cut.svg 2024-12-14T12:46:22.606Z +Engine/Content/Slate/Starship/Common/Dash_Horizontal.png 2024-12-14T12:46:22.606Z +Engine/Content/Slate/Starship/Common/Dash_Vertical.png 2024-12-14T12:46:22.606Z +Engine/Content/Slate/Starship/Common/Delete.svg 2024-12-14T12:46:22.608Z +Engine/Content/Slate/Starship/Common/Developer.svg 2024-12-14T13:12:19.450Z +Engine/Content/Slate/Starship/Common/DropTargetBackground.png 2024-12-14T12:46:22.609Z +Engine/Content/Slate/Starship/Common/Duplicate.svg 2024-12-14T12:46:22.609Z +Engine/Content/Slate/Starship/Common/EyeDropper.svg 2024-12-14T12:46:22.611Z +Engine/Content/Slate/Starship/Common/Favorite.svg 2024-12-14T13:12:19.452Z +Engine/Content/Slate/Starship/Common/FilterAuto.svg 2024-12-14T12:46:22.614Z +Engine/Content/Slate/Starship/Common/FlipHorizontal.svg 2024-12-14T12:46:22.614Z +Engine/Content/Slate/Starship/Common/FlipVertical.svg 2024-12-14T12:46:22.614Z +Engine/Content/Slate/Starship/Common/Group_20.svg 2024-12-14T12:46:22.616Z +Engine/Content/Slate/Starship/Common/HiddenInGame.svg 2024-12-14T13:12:19.456Z +Engine/Content/Slate/Starship/Common/Info.svg 2024-12-14T12:46:22.618Z +Engine/Content/Slate/Starship/Common/Layout.svg 2024-12-14T12:45:02.725Z +Engine/Content/Slate/Starship/Common/Linked.svg 2024-12-14T13:12:19.457Z +Engine/Content/Slate/Starship/Common/LookAt.svg 2024-12-14T12:46:22.619Z +Engine/Content/Slate/Starship/Common/Merge.svg 2024-12-14T12:46:22.619Z +Engine/Content/Slate/Starship/Common/Monitor.svg 2024-12-14T13:12:19.459Z +Engine/Content/Slate/Starship/Common/OutputLog.svg 2024-12-14T13:12:19.460Z +Engine/Content/Slate/Starship/Common/ParentHierarchy.svg 2024-12-14T12:46:22.620Z +Engine/Content/Slate/Starship/Common/Paste.svg 2024-12-14T12:46:22.620Z +Engine/Content/Slate/Starship/Common/PlayerController.svg 2024-12-14T12:45:02.527Z +Engine/Content/Slate/Starship/Common/Preferences.svg 2024-12-14T12:46:22.621Z +Engine/Content/Slate/Starship/Common/ProjectLauncher.svg 2024-12-14T12:46:22.621Z +Engine/Content/Slate/Starship/Common/Recent.svg 2024-12-14T12:46:22.622Z +Engine/Content/Slate/Starship/Common/Redo.svg 2024-12-14T12:46:22.622Z +Engine/Content/Slate/Starship/Common/Rename.svg 2024-12-14T13:12:19.463Z +Engine/Content/Slate/Starship/Common/Role.svg 2024-12-14T13:12:19.463Z +Engine/Content/Slate/Starship/Common/Rotate180.svg 2024-12-14T12:46:22.623Z +Engine/Content/Slate/Starship/Common/Rotate90Clockwise.svg 2024-12-14T12:46:22.623Z +Engine/Content/Slate/Starship/Common/Rotate90Counterclockwise.svg 2024-12-14T12:46:22.623Z +Engine/Content/Slate/Starship/Common/Search_20.svg 2024-12-14T12:46:22.624Z +Engine/Content/Slate/Starship/Common/SessionFrontend.svg 2024-12-14T12:46:22.625Z +Engine/Content/Slate/Starship/Common/SortDown.svg 2024-12-14T12:46:22.625Z +Engine/Content/Slate/Starship/Common/SortUp.svg 2024-12-14T12:46:22.625Z +Engine/Content/Slate/Starship/Common/Test.svg 2024-12-14T12:46:22.626Z +Engine/Content/Slate/Starship/Common/UELogo.png 2024-12-14T12:46:22.626Z +Engine/Content/Slate/Starship/Common/UELogo.svg 2024-12-14T12:46:22.627Z +Engine/Content/Slate/Starship/Common/Undo.svg 2024-12-14T12:46:22.627Z +Engine/Content/Slate/Starship/Common/UndoHistory.svg 2024-12-14T12:46:22.627Z +Engine/Content/Slate/Starship/Common/Unlinked.svg 2024-12-14T13:12:19.469Z +Engine/Content/Slate/Starship/Common/UnsavedAssets.svg 2024-12-14T12:46:22.629Z +Engine/Content/Slate/Starship/Common/UnsavedAssetsWarning.svg 2024-12-14T12:46:22.630Z +Engine/Content/Slate/Starship/Common/Update.svg 2024-12-14T13:12:19.471Z +Engine/Content/Slate/Starship/Common/VisibleInGame.svg 2024-12-14T13:12:19.471Z +Engine/Content/Slate/Starship/Common/Visualizer.svg 2024-12-14T13:12:19.472Z +Engine/Content/Slate/Starship/Common/alert-circle.svg 2024-12-14T12:46:22.594Z +Engine/Content/Slate/Starship/Common/alert-triangle-64.svg 2024-12-14T13:12:19.440Z +Engine/Content/Slate/Starship/Common/alert-triangle-large.svg 2024-12-14T12:46:22.595Z +Engine/Content/Slate/Starship/Common/alert-triangle.svg 2024-12-14T12:46:22.595Z +Engine/Content/Slate/Starship/Common/arrow-down.svg 2024-12-14T12:46:22.596Z +Engine/Content/Slate/Starship/Common/arrow-left.svg 2024-12-14T12:46:22.596Z +Engine/Content/Slate/Starship/Common/arrow-right.svg 2024-12-14T12:46:22.596Z +Engine/Content/Slate/Starship/Common/arrow-up.svg 2024-12-14T12:46:22.597Z +Engine/Content/Slate/Starship/Common/badge-modified.svg 2024-12-14T12:46:22.597Z +Engine/Content/Slate/Starship/Common/badge.svg 2024-12-14T12:46:22.598Z +Engine/Content/Slate/Starship/Common/blueprint.svg 2024-12-14T12:45:02.394Z +Engine/Content/Slate/Starship/Common/box-perspective.svg 2024-12-14T12:46:22.598Z +Engine/Content/Slate/Starship/Common/bullet-point.svg 2024-12-14T12:46:22.598Z +Engine/Content/Slate/Starship/Common/bullet-point16.svg 2024-12-14T12:46:22.599Z +Engine/Content/Slate/Starship/Common/caret-down.svg 2024-12-14T13:12:19.443Z +Engine/Content/Slate/Starship/Common/caret-right.svg 2024-12-14T12:46:22.599Z +Engine/Content/Slate/Starship/Common/check-circle-large.svg 2024-12-14T12:46:22.600Z +Engine/Content/Slate/Starship/Common/check-circle.svg 2024-12-14T13:12:19.443Z +Engine/Content/Slate/Starship/Common/check.svg 2024-12-14T13:12:19.443Z +Engine/Content/Slate/Starship/Common/checker.png 2024-12-14T12:46:22.600Z +Engine/Content/Slate/Starship/Common/chevron-down.svg 2024-12-14T12:46:22.601Z +Engine/Content/Slate/Starship/Common/chevron-left.svg 2024-12-14T12:46:22.601Z +Engine/Content/Slate/Starship/Common/chevron-right.svg 2024-12-14T13:12:19.445Z +Engine/Content/Slate/Starship/Common/chevron-up.svg 2024-12-14T12:46:22.601Z +Engine/Content/Slate/Starship/Common/circle-arrow-down.svg 2024-12-14T12:46:22.602Z +Engine/Content/Slate/Starship/Common/circle-arrow-left.svg 2024-12-14T12:46:22.602Z +Engine/Content/Slate/Starship/Common/circle-arrow-right.svg 2024-12-14T12:46:22.602Z +Engine/Content/Slate/Starship/Common/circle-arrow-up.svg 2024-12-14T12:46:22.602Z +Engine/Content/Slate/Starship/Common/close-circle.svg 2024-12-14T12:46:22.603Z +Engine/Content/Slate/Starship/Common/close-small.svg 2024-12-14T12:46:22.603Z +Engine/Content/Slate/Starship/Common/close.svg 2024-12-14T12:46:22.604Z +Engine/Content/Slate/Starship/Common/color-grading-cross.svg 2024-12-14T12:46:22.604Z +Engine/Content/Slate/Starship/Common/color-grading-selector.svg 2024-12-14T12:46:22.604Z +Engine/Content/Slate/Starship/Common/color-grading-spinbox-selector.png 2024-12-14T12:46:22.604Z +Engine/Content/Slate/Starship/Common/curve-editor-append-key-20.svg 2024-12-14T12:46:22.605Z +Engine/Content/Slate/Starship/Common/cylinder.svg 2024-12-14T12:46:22.606Z +Engine/Content/Slate/Starship/Common/delete-outline.svg 2024-12-14T12:46:22.608Z +Engine/Content/Slate/Starship/Common/drag-handle.svg 2024-12-14T12:46:22.608Z +Engine/Content/Slate/Starship/Common/edit.svg 2024-12-14T12:46:22.609Z +Engine/Content/Slate/Starship/Common/ellipsis-horizontal-narrow.svg 2024-12-14T12:46:22.610Z +Engine/Content/Slate/Starship/Common/ellipsis-vertical-narrow.svg 2024-12-14T12:46:22.610Z +Engine/Content/Slate/Starship/Common/export.svg 2024-12-14T12:46:22.610Z +Engine/Content/Slate/Starship/Common/export_20.svg 2024-12-14T12:46:22.611Z +Engine/Content/Slate/Starship/Common/favorites-category.svg 2024-12-14T13:12:19.452Z +Engine/Content/Slate/Starship/Common/fieldnotify_off.svg 2024-12-14T12:46:22.612Z +Engine/Content/Slate/Starship/Common/fieldnotify_on.svg 2024-12-14T12:46:22.612Z +Engine/Content/Slate/Starship/Common/file-tree-open.svg 2024-12-14T12:46:22.612Z +Engine/Content/Slate/Starship/Common/file-tree.svg 2024-12-14T12:46:22.612Z +Engine/Content/Slate/Starship/Common/file.svg 2024-12-14T12:46:22.613Z +Engine/Content/Slate/Starship/Common/filled-circle.svg 2024-12-14T12:46:22.613Z +Engine/Content/Slate/Starship/Common/filter.svg 2024-12-14T12:46:22.613Z +Engine/Content/Slate/Starship/Common/folder-cleanup.svg 2024-12-14T12:46:22.615Z +Engine/Content/Slate/Starship/Common/folder-closed.svg 2024-12-14T12:46:22.615Z +Engine/Content/Slate/Starship/Common/folder-open.svg 2024-12-14T12:46:22.615Z +Engine/Content/Slate/Starship/Common/folder-plus.svg 2024-12-14T12:46:22.615Z +Engine/Content/Slate/Starship/Common/folder-virtual-closed.svg 2024-12-14T12:46:22.616Z +Engine/Content/Slate/Starship/Common/folder-virtual-open.svg 2024-12-14T12:46:22.616Z +Engine/Content/Slate/Starship/Common/help.svg 2024-12-14T12:46:22.616Z +Engine/Content/Slate/Starship/Common/hidden.svg 2024-12-14T12:46:22.617Z +Engine/Content/Slate/Starship/Common/import.svg 2024-12-14T12:46:22.617Z +Engine/Content/Slate/Starship/Common/import_20.svg 2024-12-14T12:46:22.617Z +Engine/Content/Slate/Starship/Common/layout-header-body.svg 2024-12-14T12:46:22.618Z +Engine/Content/Slate/Starship/Common/layout-spreadsheet.svg 2024-12-14T12:45:02.906Z +Engine/Content/Slate/Starship/Common/lock-unlocked.svg 2024-12-14T13:12:19.458Z +Engine/Content/Slate/Starship/Common/lock.svg 2024-12-14T13:12:19.458Z +Engine/Content/Slate/Starship/Common/menu.svg 2024-12-14T12:46:22.619Z +Engine/Content/Slate/Starship/Common/minus-circle.svg 2024-12-14T12:46:22.619Z +Engine/Content/Slate/Starship/Common/minus.svg 2024-12-14T13:12:19.459Z +Engine/Content/Slate/Starship/Common/normalize.svg 2024-12-14T13:12:19.459Z +Engine/Content/Slate/Starship/Common/play.svg 2024-12-14T13:12:19.460Z +Engine/Content/Slate/Starship/Common/plus-circle.svg 2024-12-14T12:46:22.621Z +Engine/Content/Slate/Starship/Common/plus.svg 2024-12-14T13:12:19.461Z +Engine/Content/Slate/Starship/Common/pyriamid.svg 2024-12-14T12:46:22.622Z +Engine/Content/Slate/Starship/Common/refresh.svg 2024-12-14T12:46:22.622Z +Engine/Content/Slate/Starship/Common/reject.svg 2024-12-14T12:46:22.622Z +Engine/Content/Slate/Starship/Common/save-modified.svg 2024-12-14T12:46:22.624Z +Engine/Content/Slate/Starship/Common/save.svg 2024-12-14T12:46:22.624Z +Engine/Content/Slate/Starship/Common/search.svg 2024-12-14T12:46:22.624Z +Engine/Content/Slate/Starship/Common/server.svg 2024-12-14T13:12:19.465Z +Engine/Content/Slate/Starship/Common/settings.svg 2024-12-14T12:45:02.895Z +Engine/Content/Slate/Starship/Common/sphere.svg 2024-12-14T12:46:22.625Z +Engine/Content/Slate/Starship/Common/stop.svg 2024-12-14T13:12:19.467Z +Engine/Content/Slate/Starship/Common/tile.svg 2024-12-14T12:46:22.626Z +Engine/Content/Slate/Starship/Common/unreal-circle-thick.svg 2024-12-14T12:46:22.628Z +Engine/Content/Slate/Starship/Common/unreal-circle-thin.svg 2024-12-14T12:46:22.629Z +Engine/Content/Slate/Starship/Common/unreal-small.svg 2024-12-14T12:46:22.629Z +Engine/Content/Slate/Starship/Common/visible.svg 2024-12-14T12:46:22.630Z +Engine/Content/Slate/Starship/Common/world.svg 2024-12-14T12:46:22.630Z +Engine/Content/Slate/Starship/Common/x-circle.svg 2024-12-14T12:46:22.631Z +Engine/Content/Slate/Starship/CoreWidgets/CheckBox/CheckBoxIndeterminate_12.svg 2024-12-14T12:46:22.631Z +Engine/Content/Slate/Starship/CoreWidgets/CheckBox/CheckBoxIndeterminate_14.svg 2024-12-14T12:46:22.631Z +Engine/Content/Slate/Starship/CoreWidgets/CheckBox/check.svg 2024-12-14T12:46:22.600Z +Engine/Content/Slate/Starship/CoreWidgets/CheckBox/indeterminate.svg 2024-12-14T12:46:22.631Z +Engine/Content/Slate/Starship/CoreWidgets/CheckBox/radio-off.svg 2024-12-14T12:46:22.632Z +Engine/Content/Slate/Starship/CoreWidgets/CheckBox/radio-on.svg 2024-12-14T12:46:22.632Z +Engine/Content/Slate/Starship/CoreWidgets/ComboBox/corner-dropdown.svg 2024-12-14T12:46:22.632Z +Engine/Content/Slate/Starship/CoreWidgets/ComboBox/wide-chevron-down.svg 2024-12-14T12:46:22.632Z +Engine/Content/Slate/Starship/CoreWidgets/FilterBar/FilterColorSegment.svg 2024-12-14T12:46:22.632Z +Engine/Content/Slate/Starship/CoreWidgets/NumericEntryBox/NarrowDecorator.svg 2024-12-14T12:46:22.633Z +Engine/Content/Slate/Starship/CoreWidgets/ProgressBar/ProgressMarquee.png 2024-12-14T12:46:22.633Z +Engine/Content/Slate/Starship/CoreWidgets/SegmentedBox/left.png 2024-12-14T12:46:22.633Z +Engine/Content/Slate/Starship/CoreWidgets/SegmentedBox/left.svg 2024-12-14T12:46:22.633Z +Engine/Content/Slate/Starship/CoreWidgets/SegmentedBox/right.png 2024-12-14T12:46:22.634Z +Engine/Content/Slate/Starship/CoreWidgets/SegmentedBox/right.svg 2024-12-14T12:46:22.634Z +Engine/Content/Slate/Starship/CoreWidgets/TableView/sort-down-arrow.svg 2024-12-14T12:46:22.635Z +Engine/Content/Slate/Starship/CoreWidgets/TableView/sort-down-arrows.svg 2024-12-14T12:46:22.635Z +Engine/Content/Slate/Starship/CoreWidgets/TableView/sort-up-arrow.svg 2024-12-14T12:46:22.635Z +Engine/Content/Slate/Starship/CoreWidgets/TableView/sort-up-arrows.svg 2024-12-14T12:46:22.635Z +Engine/Content/Slate/Starship/CoreWidgets/Window/close.svg 2024-12-14T12:46:22.636Z +Engine/Content/Slate/Starship/CoreWidgets/Window/maximize.svg 2024-12-14T12:46:22.636Z +Engine/Content/Slate/Starship/CoreWidgets/Window/minimize.svg 2024-12-14T12:46:22.636Z +Engine/Content/Slate/Starship/CoreWidgets/Window/restore.svg 2024-12-14T12:46:22.636Z +Engine/Content/Slate/Starship/Docking/DockTab_Active.png 2024-12-14T12:46:22.637Z +Engine/Content/Slate/Starship/Docking/DockTab_Foreground.png 2024-12-14T12:46:22.637Z +Engine/Content/Slate/Starship/Docking/DockTab_Hover.png 2024-12-14T12:46:22.637Z +Engine/Content/Slate/Starship/Docking/Dock_Tab_Active.png 2024-12-14T12:46:22.637Z +Engine/Content/Slate/Starship/Docking/drawer-shadow.png 2024-12-14T12:46:22.637Z +Engine/Content/Slate/Starship/Docking/pin.svg 2024-12-14T12:46:22.638Z +Engine/Content/Slate/Starship/Docking/show-tab-well.svg 2024-12-14T12:46:22.639Z +Engine/Content/Slate/Starship/Insights/AllTracks_20.svg 2024-12-14T12:46:22.639Z +Engine/Content/Slate/Starship/Insights/AutoScrollDown_20.svg 2024-12-14T12:46:22.639Z +Engine/Content/Slate/Starship/Insights/AutoScrollRight_20.svg 2024-12-14T12:46:22.640Z +Engine/Content/Slate/Starship/Insights/Callees.svg 2024-12-14T12:46:22.640Z +Engine/Content/Slate/Starship/Insights/Callees_20.svg 2024-12-14T12:46:22.640Z +Engine/Content/Slate/Starship/Insights/Callers.svg 2024-12-14T12:46:22.640Z +Engine/Content/Slate/Starship/Insights/Callers_20.svg 2024-12-14T12:46:22.640Z +Engine/Content/Slate/Starship/Insights/Connection.svg 2024-12-14T13:12:19.481Z +Engine/Content/Slate/Starship/Insights/ControlsFirst.svg 2024-12-14T12:46:22.641Z +Engine/Content/Slate/Starship/Insights/ControlsLast.svg 2024-12-14T12:46:22.641Z +Engine/Content/Slate/Starship/Insights/ControlsNext.svg 2024-12-14T12:46:22.641Z +Engine/Content/Slate/Starship/Insights/ControlsPrevious.svg 2024-12-14T12:46:22.642Z +Engine/Content/Slate/Starship/Insights/Counter.svg 2024-12-14T12:46:22.642Z +Engine/Content/Slate/Starship/Insights/Counter_20.svg 2024-12-14T12:46:22.642Z +Engine/Content/Slate/Starship/Insights/CpuGpuTracks_20.svg 2024-12-14T12:46:22.642Z +Engine/Content/Slate/Starship/Insights/Filter.svg 2024-12-14T12:46:22.642Z +Engine/Content/Slate/Starship/Insights/FilterConfig.svg 2024-12-14T12:46:22.643Z +Engine/Content/Slate/Starship/Insights/Frames.svg 2024-12-14T12:46:22.643Z +Engine/Content/Slate/Starship/Insights/Frames_20.svg 2024-12-14T12:46:22.643Z +Engine/Content/Slate/Starship/Insights/Function.svg 2024-12-14T13:12:19.483Z +Engine/Content/Slate/Starship/Insights/HotPath_12.svg 2024-12-14T12:46:22.644Z +Engine/Content/Slate/Starship/Insights/InfoTag_12.svg 2024-12-14T13:12:19.484Z +Engine/Content/Slate/Starship/Insights/Log.svg 2024-12-14T13:12:19.484Z +Engine/Content/Slate/Starship/Insights/Log_20.svg 2024-12-14T12:46:22.644Z +Engine/Content/Slate/Starship/Insights/MemAllocTable.svg 2024-12-14T12:46:22.644Z +Engine/Content/Slate/Starship/Insights/MemInvestigation.svg 2024-12-14T12:46:22.644Z +Engine/Content/Slate/Starship/Insights/MemInvestigation_20.svg 2024-12-14T12:46:22.645Z +Engine/Content/Slate/Starship/Insights/MemTags.svg 2024-12-14T12:46:22.645Z +Engine/Content/Slate/Starship/Insights/MemTags_20.svg 2024-12-14T12:46:22.645Z +Engine/Content/Slate/Starship/Insights/Memory.svg 2024-12-14T12:46:22.645Z +Engine/Content/Slate/Starship/Insights/NetStats.svg 2024-12-14T12:46:22.645Z +Engine/Content/Slate/Starship/Insights/NetStats_20.svg 2024-12-14T12:46:22.646Z +Engine/Content/Slate/Starship/Insights/Networking.svg 2024-12-14T12:46:22.646Z +Engine/Content/Slate/Starship/Insights/PacketContent.svg 2024-12-14T12:46:22.646Z +Engine/Content/Slate/Starship/Insights/PacketContent_20.svg 2024-12-14T12:46:22.647Z +Engine/Content/Slate/Starship/Insights/Packets.svg 2024-12-14T12:46:22.647Z +Engine/Content/Slate/Starship/Insights/Packets_20.svg 2024-12-14T12:46:22.647Z +Engine/Content/Slate/Starship/Insights/PluginTracks_20.svg 2024-12-14T12:46:22.648Z +Engine/Content/Slate/Starship/Insights/Session.svg 2024-12-14T12:46:22.648Z +Engine/Content/Slate/Starship/Insights/SizeLarge.svg 2024-12-14T12:46:22.648Z +Engine/Content/Slate/Starship/Insights/SizeLarge_20.svg 2024-12-14T12:46:22.649Z +Engine/Content/Slate/Starship/Insights/SizeMedium.svg 2024-12-14T12:46:22.649Z +Engine/Content/Slate/Starship/Insights/SizeMedium_20.svg 2024-12-14T12:46:22.649Z +Engine/Content/Slate/Starship/Insights/SizeSmall.svg 2024-12-14T12:46:22.649Z +Engine/Content/Slate/Starship/Insights/SizeSmall_20.svg 2024-12-14T12:46:22.650Z +Engine/Content/Slate/Starship/Insights/SpecialTracks_20.svg 2024-12-14T12:46:22.650Z +Engine/Content/Slate/Starship/Insights/Tasks.svg 2024-12-14T12:46:22.650Z +Engine/Content/Slate/Starship/Insights/Tasks_20.svg 2024-12-14T12:46:22.650Z +Engine/Content/Slate/Starship/Insights/Timer.svg 2024-12-14T12:46:22.651Z +Engine/Content/Slate/Starship/Insights/Timer_20.svg 2024-12-14T12:46:22.651Z +Engine/Content/Slate/Starship/Insights/Timing.svg 2024-12-14T12:46:22.651Z +Engine/Content/Slate/Starship/Insights/Timing_20.svg 2024-12-14T12:46:22.651Z +Engine/Content/Slate/Starship/Insights/TraceStore.svg 2024-12-14T12:46:22.653Z +Engine/Content/Slate/Starship/Insights/TraceStore_20.svg 2024-12-14T12:46:22.653Z +Engine/Content/Slate/Starship/Insights/TraceTools/RecordTraceCenter.svg 2024-12-14T12:46:22.653Z +Engine/Content/Slate/Starship/Insights/TraceTools/RecordTraceOutline.svg 2024-12-14T12:46:22.653Z +Engine/Content/Slate/Starship/Insights/TraceTools/RecordTraceRecording.svg 2024-12-14T12:46:22.654Z +Engine/Content/Slate/Starship/Insights/TraceTools/TracePause.svg 2024-12-14T13:12:19.491Z +Engine/Content/Slate/Starship/Insights/TraceTools/TraceResume.svg 2024-12-14T13:12:19.491Z +Engine/Content/Slate/Starship/Insights/TraceTools/TraceSnapshot.svg 2024-12-14T13:12:19.491Z +Engine/Content/Slate/Starship/Insights/TraceTools/TraceStart.svg 2024-12-14T13:12:19.492Z +Engine/Content/Slate/Starship/Insights/TraceTools/TraceStop.svg 2024-12-14T12:46:22.655Z +Engine/Content/Slate/Starship/Insights/UTrace.svg 2024-12-14T12:46:22.655Z +Engine/Content/Slate/Starship/Insights/UnrealInsights.svg 2024-12-14T12:45:02.836Z +Engine/Content/Slate/Starship/Insights/ViewMode_20.svg 2024-12-14T12:45:02.861Z +Engine/Content/Slate/Starship/Insights/ZeroCountFilter.svg 2024-12-14T12:46:22.655Z +Engine/Content/Slate/Starship/Launcher/PaperAirplane.svg 2024-12-14T12:46:22.655Z +Engine/Content/Slate/Starship/Notifications/Throbber.png 2024-12-14T12:46:22.656Z +Engine/Content/Slate/Starship/SourceControl/RC_Added.svg 2024-12-14T13:12:19.494Z +Engine/Content/Slate/Starship/SourceControl/RC_BranchModifiedBadge.svg 2024-12-14T12:46:22.657Z +Engine/Content/Slate/Starship/SourceControl/RC_CheckCircleLine.svg 2024-12-14T12:46:22.657Z +Engine/Content/Slate/Starship/SourceControl/RC_CheckIn.svg 2024-12-14T12:46:22.658Z +Engine/Content/Slate/Starship/SourceControl/RC_CheckInAvailable.svg 2024-12-14T12:46:22.659Z +Engine/Content/Slate/Starship/SourceControl/RC_CheckInAvailableRewound.svg 2024-12-14T12:46:22.659Z +Engine/Content/Slate/Starship/SourceControl/RC_CheckedBranch.svg 2024-12-14T12:46:22.658Z +Engine/Content/Slate/Starship/SourceControl/RC_CheckedBranchBadge.svg 2024-12-14T12:46:22.658Z +Engine/Content/Slate/Starship/SourceControl/RC_CheckedOther.svg 2024-12-14T12:46:22.658Z +Engine/Content/Slate/Starship/SourceControl/RC_CheckedOtherBadge.svg 2024-12-14T12:46:22.658Z +Engine/Content/Slate/Starship/SourceControl/RC_ConflictResolution_Clear.svg 2024-12-14T12:46:22.660Z +Engine/Content/Slate/Starship/SourceControl/RC_ConflictResolution_OpenExternal.svg 2024-12-14T12:46:22.660Z +Engine/Content/Slate/Starship/SourceControl/RC_Conflicted.svg 2024-12-14T12:46:22.659Z +Engine/Content/Slate/Starship/SourceControl/RC_ConflictedState.svg 2024-12-14T12:46:22.659Z +Engine/Content/Slate/Starship/SourceControl/RC_Diff.svg 2024-12-14T12:46:22.660Z +Engine/Content/Slate/Starship/SourceControl/RC_DiskSize.svg 2024-12-14T12:46:22.661Z +Engine/Content/Slate/Starship/SourceControl/RC_File.svg 2024-12-14T12:46:22.661Z +Engine/Content/Slate/Starship/SourceControl/RC_LineCircle.svg 2024-12-14T12:46:22.661Z +Engine/Content/Slate/Starship/SourceControl/RC_MarkedForAdd.svg 2024-12-14T12:46:22.662Z +Engine/Content/Slate/Starship/SourceControl/RC_Modified.svg 2024-12-14T12:46:22.662Z +Engine/Content/Slate/Starship/SourceControl/RC_ModifiedLocally.svg 2024-12-14T12:46:22.662Z +Engine/Content/Slate/Starship/SourceControl/RC_NewerVersion.svg 2024-12-14T13:12:19.498Z +Engine/Content/Slate/Starship/SourceControl/RC_Promote.svg 2024-12-14T12:46:22.662Z +Engine/Content/Slate/Starship/SourceControl/RC_Promote_Large.svg 2024-12-14T12:46:22.663Z +Engine/Content/Slate/Starship/SourceControl/RC_Removed.svg 2024-12-14T12:46:22.663Z +Engine/Content/Slate/Starship/SourceControl/RC_Rewind.svg 2024-12-14T12:46:22.664Z +Engine/Content/Slate/Starship/SourceControl/RC_Rewound.svg 2024-12-14T12:46:22.664Z +Engine/Content/Slate/Starship/SourceControl/RC_StatusLocalUpToDate.svg 2024-12-14T12:46:22.665Z +Engine/Content/Slate/Starship/SourceControl/RC_StatusLocalUpload.svg 2024-12-14T12:46:22.665Z +Engine/Content/Slate/Starship/SourceControl/RC_StatusRemoteDownload.svg 2024-12-14T12:46:22.662Z +Engine/Content/Slate/Starship/SourceControl/RC_StatusRemoteUpToDate.svg 2024-12-14T12:46:22.666Z +Engine/Content/Slate/Starship/SourceControl/RC_Sync.svg 2024-12-14T12:46:22.666Z +Engine/Content/Slate/Starship/SourceControl/RC_SyncAndCheckOut.svg 2024-12-14T12:46:22.666Z +Engine/Content/Slate/Starship/SourceControl/RC_VerticalLine.svg 2024-12-14T12:46:22.666Z +Engine/Content/Slate/Starship/SourceControl/RC_VerticalLineDashed.svg 2024-12-14T12:46:22.667Z +Engine/Content/Slate/Starship/SourceControl/RC_VerticalLineStart.svg 2024-12-14T12:46:22.667Z +Engine/Content/Slate/Starship/SourceControl/SCC_Action_Diff.svg 2024-12-14T12:46:22.667Z +Engine/Content/Slate/Starship/SourceControl/SCC_Action_Integrate.svg 2024-12-14T12:46:22.668Z +Engine/Content/Slate/Starship/SourceControl/SCC_Branched.svg 2024-12-14T12:46:22.668Z +Engine/Content/Slate/Starship/SourceControl/SCC_Changelist.svg 2024-12-14T12:46:22.669Z +Engine/Content/Slate/Starship/SourceControl/SCC_CheckedOut.svg 2024-12-14T12:46:22.669Z +Engine/Content/Slate/Starship/SourceControl/SCC_ContentAdd.svg 2024-12-14T12:46:22.669Z +Engine/Content/Slate/Starship/SourceControl/SCC_DlgCheckedOutOther.svg 2024-12-14T12:46:22.670Z +Engine/Content/Slate/Starship/SourceControl/SCC_DlgNotCurrent.svg 2024-12-14T12:46:22.670Z +Engine/Content/Slate/Starship/SourceControl/SCC_DlgReadOnly.svg 2024-12-14T12:46:22.670Z +Engine/Content/Slate/Starship/SourceControl/SCC_Lock.svg 2024-12-14T12:46:22.670Z +Engine/Content/Slate/Starship/SourceControl/SCC_MarkedForDelete.svg 2024-12-14T13:12:19.503Z +Engine/Content/Slate/Starship/SourceControl/SCC_ModifiedOtherBranch.svg 2024-12-14T12:46:22.671Z +Engine/Content/Slate/Starship/SourceControl/SCC_NotInDepot.svg 2024-12-14T12:46:22.671Z +Engine/Content/Slate/Starship/SourceControl/SourceControl.svg 2024-12-14T12:46:22.671Z +Engine/Content/Slate/Starship/SourceControl/Status/RevisionControl.svg 2024-12-14T12:46:22.672Z +Engine/Content/Slate/Starship/SourceControl/Status/RevisionControlBadgeConnected.svg 2024-12-14T12:46:22.672Z +Engine/Content/Slate/Starship/SourceControl/Status/RevisionControlBadgeWarning.svg 2024-12-14T12:46:22.672Z +Engine/Content/Slate/Starship/SourceControl/icon_SCC_Change_Source_Control_Settings.svg 2024-12-14T12:46:22.656Z +Engine/Content/Slate/Starship/SourceControl/icon_SCC_History.svg 2024-12-14T12:46:22.656Z +Engine/Content/Slate/Starship/SourceControl/icon_SCC_Revert.svg 2024-12-14T12:46:22.657Z +Engine/Content/Slate/Starship/StatusBar/drawer-shadow-bottom.png 2024-12-14T12:46:22.673Z +Engine/Content/Slate/Testing/BrushWireframe.png 2024-12-14T12:45:02.263Z +Engine/Content/Slate/Testing/DefaultPawn_16px.png 2024-12-14T12:46:22.673Z +Engine/Content/Slate/Testing/FlatColorSquare.png 2024-12-14T13:12:19.505Z +Engine/Content/Slate/Testing/Hyperlink.png 2024-12-14T13:12:19.505Z +Engine/Content/Slate/Testing/Lit.png 2024-12-14T12:45:02.264Z +Engine/Content/Slate/Testing/NewLevelBlank.png 2024-12-14T12:46:22.673Z +Engine/Content/Slate/Testing/TestRotation.png 2024-12-14T12:46:22.674Z +Engine/Content/Slate/Testing/Unlit.png 2024-12-14T12:45:02.267Z +Engine/Content/Slate/Testing/Wireframe.png 2024-12-14T12:45:02.267Z +Engine/Content/Slate/Tutorials/TutorialBorder.png 2024-12-14T12:46:22.674Z +Engine/Content/Slate/Tutorials/TutorialShadow.png 2024-12-14T12:46:22.674Z +Engine/Plugins/2D/Paper2D/Paper2D.uplugin 2024-12-14T12:51:46.964Z +Engine/Plugins/AI/AISupport/AISupport.uplugin 2024-12-14T12:51:46.993Z +Engine/Plugins/AI/EnvironmentQueryEditor/EnvironmentQueryEditor.uplugin 2024-12-14T12:51:46.997Z +Engine/Plugins/Animation/ACLPlugin/ACLPlugin.uplugin 2024-12-14T12:51:47.753Z +Engine/Plugins/Animation/AnimationData/AnimationData.uplugin 2024-12-14T12:51:48.023Z +Engine/Plugins/Animation/ControlRigModules/ControlRigModules.uplugin 2024-12-14T12:51:53.916Z +Engine/Plugins/Animation/ControlRigSpline/ControlRigSpline.uplugin 2025-02-15T18:09:54.700Z +Engine/Plugins/Animation/ControlRig/ControlRig.uplugin 2024-12-14T12:51:49.538Z +Engine/Plugins/Animation/DeformerGraph/DeformerGraph.uplugin 2024-12-14T12:51:54.226Z +Engine/Plugins/Animation/IKRig/IKRig.uplugin 2024-12-14T12:51:55.678Z +Engine/Plugins/Animation/LiveLink/LiveLink.uplugin 2024-12-14T12:51:56.123Z +Engine/Plugins/Animation/RigLogic/RigLogic.uplugin 2025-02-15T18:09:59.535Z +Engine/Plugins/Bridge/Bridge.uplugin 2024-12-14T13:19:14.109Z +Engine/Plugins/Cameras/CameraShakePreviewer/CameraShakePreviewer.uplugin 2024-12-14T12:52:01.736Z +Engine/Plugins/Cameras/EngineCameras/EngineCameras.uplugin 2024-12-14T12:52:01.738Z +Engine/Plugins/Cameras/GameplayCameras/GameplayCameras.uplugin 2024-12-14T12:52:02.175Z +Engine/Plugins/ChaosCloth/ChaosCloth.uplugin 2024-12-14T12:52:02.806Z +Engine/Plugins/ChaosVD/ChaosVD.uplugin 2024-12-14T12:52:04.794Z +Engine/Plugins/Compression/OodleNetwork/OodleNetwork.uplugin 2024-12-14T12:52:06.172Z +Engine/Plugins/Developer/AnimationSharing/AnimationSharing.uplugin 2024-12-14T12:52:06.414Z +Engine/Plugins/Developer/Concert/ConcertMain/ConcertMain.uplugin 2024-12-14T12:52:07.513Z +Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncClient/ConcertSyncClient.uplugin 2024-12-14T12:52:08.403Z +Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncCore/ConcertSyncCore.uplugin 2024-12-14T12:52:10.056Z +Engine/Plugins/Developer/DumpGPUServices/DumpGPUServices.uplugin 2024-12-14T12:52:10.465Z +Engine/Plugins/Developer/PixWinPlugin/PixWinPlugin.uplugin 2024-12-14T12:52:11.659Z +Engine/Plugins/Developer/PluginUtils/PluginUtils.uplugin 2024-12-14T12:52:11.677Z +Engine/Plugins/Developer/RenderDocPlugin/RenderDocPlugin.uplugin 2024-12-14T12:52:11.683Z +Engine/Plugins/Developer/UObjectPlugin/UObjectPlugin.uplugin 2024-12-14T12:52:12.025Z +Engine/Plugins/Editor/AssetManagerEditor/AssetManagerEditor.uplugin 2024-12-14T12:52:12.038Z +Engine/Plugins/Editor/BlueprintHeaderView/BlueprintHeaderView.uplugin 2024-12-14T12:52:12.667Z +Engine/Plugins/Editor/ColorGrading/ColorGrading.uplugin 2024-12-14T12:52:13.462Z +Engine/Plugins/Editor/ContentBrowser/ContentBrowserAssetDataSource/ContentBrowserAssetDataSource.uplugin 2024-12-14T12:52:13.487Z +Engine/Plugins/Editor/DataValidation/DataValidation.uplugin 2024-12-14T12:52:13.508Z +Engine/Plugins/Editor/EditorScriptingUtilities/EditorScriptingUtilities.uplugin 2024-12-14T12:52:13.521Z +Engine/Plugins/Editor/FacialAnimation/FacialAnimation.uplugin 2024-12-14T12:52:13.580Z +Engine/Plugins/Editor/GeometryMode/GeometryMode.uplugin 2024-12-14T12:52:13.658Z +Engine/Plugins/Editor/ObjectMixer/LightMixer/LightMixer.uplugin 2024-12-14T12:52:15.802Z +Engine/Plugins/Editor/ObjectMixer/ObjectMixer/ObjectMixer.uplugin 2024-12-14T12:52:15.809Z +Engine/Plugins/Editor/ProxyLODPlugin/ProxyLODPlugin.uplugin 2024-12-14T12:52:15.844Z +Engine/Plugins/Editor/SequencerAnimTools/SequencerAnimTools.uplugin 2024-12-14T12:52:16.449Z +Engine/Plugins/Editor/SpeedTreeImporter/SpeedTreeImporter.uplugin 2024-12-14T12:52:18.517Z +Engine/Plugins/Editor/UMGWidgetPreview/UMGWidgetPreview.uplugin 2024-12-14T12:52:18.534Z +Engine/Plugins/Editor/UVEditor/UVEditor.uplugin 2024-12-14T12:52:30.183Z +Engine/Plugins/EnhancedInput/EnhancedInput.uplugin 2024-12-14T12:52:30.206Z +Engine/Plugins/Enterprise/DatasmithContent/DatasmithContent.uplugin 2024-12-14T12:52:58.851Z +Engine/Plugins/Enterprise/GLTFExporter/GLTFExporter.uplugin 2024-12-14T12:52:59.773Z +Engine/Plugins/Enterprise/VariantManagerContent/VariantManagerContent.uplugin 2024-12-14T12:53:03.853Z +Engine/Plugins/Enterprise/VariantManager/VariantManager.uplugin 2024-12-14T12:53:03.838Z +Engine/Plugins/Experimental/Animation/SkeletalMeshModelingTools/SkeletalMeshModelingTools.uplugin 2024-12-14T12:53:04.067Z +Engine/Plugins/Experimental/AutomationUtils/AutomationUtils.uplugin 2024-12-14T12:53:19.526Z +Engine/Plugins/Experimental/BackChannel/BackChannel.uplugin 2024-12-14T12:53:53.422Z +Engine/Plugins/Experimental/ChaosCaching/ChaosCaching.uplugin 2025-02-15T18:10:29.813Z +Engine/Plugins/Experimental/ChaosEditor/ChaosEditor.uplugin 2024-12-14T12:53:53.467Z +Engine/Plugins/Experimental/ChaosNiagara/ChaosNiagara.uplugin 2024-12-14T12:55:06.659Z +Engine/Plugins/Experimental/ChaosSolverPlugin/ChaosSolverPlugin.uplugin 2024-12-14T12:55:06.670Z +Engine/Plugins/Experimental/ChaosUserDataPT/ChaosUserDataPT.uplugin 2024-12-14T12:55:06.674Z +Engine/Plugins/Experimental/CharacterAI/CharacterAI.uplugin 2024-12-14T12:55:06.701Z +Engine/Plugins/Experimental/Compositing/HoldoutComposite/HoldoutComposite.uplugin 2024-12-14T12:55:08.467Z +Engine/Plugins/Experimental/Dataflow/Dataflow.uplugin 2024-12-14T12:55:08.726Z +Engine/Plugins/Experimental/EditorDataStorage/EditorDataStorage.uplugin 2024-12-14T12:55:10.023Z +Engine/Plugins/Experimental/Fracture/Fracture.uplugin 2024-12-14T12:55:11.097Z +Engine/Plugins/Experimental/FullBodyIK/FullBodyIK.uplugin 2024-12-14T12:55:11.107Z +Engine/Plugins/Experimental/GeometryCollectionPlugin/GeometryCollectionPlugin.uplugin 2024-12-14T12:55:11.440Z +Engine/Plugins/Experimental/LocalizableMessage/LocalizableMessage.uplugin 2024-12-14T12:55:19.748Z +Engine/Plugins/Experimental/MeshModelingToolsetExp/MeshModelingToolsetExp.uplugin 2024-12-14T12:55:22.177Z +Engine/Plugins/Experimental/MetaHuman/MetaHumanSDK/MetaHumanSDK.uplugin 2024-12-14T12:55:22.212Z +Engine/Plugins/Experimental/NFORDenoise/NFORDenoise.uplugin 2024-12-14T12:56:00.215Z +Engine/Plugins/Experimental/PlanarCutPlugin/PlanarCut.uplugin 2024-12-14T12:56:35.395Z +Engine/Plugins/Experimental/PlatformCrypto/PlatformCrypto.uplugin 2024-12-14T12:56:35.566Z +Engine/Plugins/Experimental/PythonScriptPlugin/PythonScriptPlugin.uplugin 2024-12-14T12:56:36.384Z +Engine/Plugins/Experimental/StudioTelemetry/StudioTelemetry.uplugin 2024-12-14T12:56:42.034Z +Engine/Plugins/Experimental/ToolPresets/ToolPresets.uplugin 2024-12-14T12:57:18.425Z +Engine/Plugins/FX/NiagaraSimCaching/NiagaraSimCaching.uplugin 2024-12-14T12:58:47.575Z +Engine/Plugins/FX/Niagara/Niagara.uplugin 2024-12-14T12:58:31.310Z +Engine/Plugins/Fab/Fab.uplugin 2025-02-15T18:12:23.744Z +Engine/Plugins/Importers/AlembicImporter/AlembicImporter.uplugin 2024-12-14T12:58:47.582Z +Engine/Plugins/Interchange/Assets/InterchangeAssets.uplugin 2024-12-14T12:58:49.727Z +Engine/Plugins/Interchange/Editor/InterchangeEditor.uplugin 2024-12-14T12:58:49.734Z +Engine/Plugins/Interchange/Runtime/Interchange.uplugin 2024-12-14T12:58:49.761Z +Engine/Plugins/Media/AvfMedia/AvfMedia.uplugin 2024-12-14T12:58:56.158Z +Engine/Plugins/Media/ImgMedia/ImgMedia.uplugin 2024-12-14T12:58:58.950Z +Engine/Plugins/Media/MediaCompositing/MediaCompositing.uplugin 2024-12-14T12:58:59.042Z +Engine/Plugins/Media/MediaPlate/MediaPlate.uplugin 2024-12-14T12:58:59.822Z +Engine/Plugins/Media/WebMMedia/WebMMedia.uplugin 2024-12-14T12:59:10.352Z +Engine/Plugins/Media/WmfMedia/WmfMedia.uplugin 2024-12-14T12:59:10.370Z +Engine/Plugins/MeshPainting/MeshPainting.uplugin 2024-12-14T12:59:12.339Z +Engine/Plugins/Messaging/TcpMessaging/TcpMessaging.uplugin 2024-12-14T12:59:12.370Z +Engine/Plugins/Messaging/UdpMessaging/UdpMessaging.uplugin 2024-12-14T12:59:12.393Z +Engine/Plugins/MovieScene/ActorSequence/ActorSequence.uplugin 2024-12-14T12:59:12.393Z +Engine/Plugins/MovieScene/LevelSequenceEditor/LevelSequenceEditor.uplugin 2024-12-14T12:59:12.780Z +Engine/Plugins/MovieScene/SequencerScripting/SequencerScripting.uplugin 2024-12-14T12:59:14.764Z +Engine/Plugins/MovieScene/TemplateSequence/TemplateSequence.uplugin 2024-12-14T12:59:14.938Z +Engine/Plugins/NNE/NNEDenoiser/NNEDenoiser.uplugin 2024-12-14T12:59:22.000Z +Engine/Plugins/NNE/NNERuntimeORT/NNERuntimeORT.uplugin 2024-12-14T12:59:23.161Z +Engine/Plugins/Online/EOSShared/EOSShared.uplugin 2024-12-14T12:59:23.206Z +Engine/Plugins/Online/OnlineBase/OnlineBase.uplugin 2024-12-14T12:59:23.334Z +Engine/Plugins/Online/OnlineServices/OnlineServices.uplugin 2024-12-14T12:59:24.870Z +Engine/Plugins/Online/OnlineSubsystemNull/OnlineSubsystemNull.uplugin 2024-12-14T12:59:28.576Z +Engine/Plugins/Online/OnlineSubsystemUtils/OnlineSubsystemUtils.uplugin 2024-12-14T12:59:29.026Z +Engine/Plugins/Online/OnlineSubsystem/OnlineSubsystem.uplugin 2024-12-14T12:59:27.130Z +Engine/Plugins/Portal/LauncherChunkInstaller/LauncherChunkInstaller.uplugin 2024-12-14T12:59:39.902Z +Engine/Plugins/Runtime/ActorLayerUtilities/ActorLayerUtilities.uplugin 2024-12-14T12:59:39.922Z +Engine/Plugins/Runtime/AndroidFileServer/AndroidFileServer.uplugin 2024-12-14T12:59:42.237Z +Engine/Plugins/Runtime/AndroidPermission/AndroidPermission.uplugin 2024-12-14T12:59:42.246Z +Engine/Plugins/Runtime/AppleImageUtils/AppleImageUtils.uplugin 2024-12-14T12:59:42.269Z +Engine/Plugins/Runtime/ArchVisCharacter/ArchVisCharacter.uplugin 2024-12-14T12:59:42.958Z +Engine/Plugins/Runtime/AssetTags/AssetTags.uplugin 2024-12-14T12:59:42.961Z +Engine/Plugins/Runtime/AudioCapture/AudioCapture.uplugin 2024-12-14T12:59:42.964Z +Engine/Plugins/Runtime/AudioSynesthesia/AudioSynesthesia.uplugin 2024-12-14T12:59:43.022Z +Engine/Plugins/Runtime/AudioWidgets/AudioWidgets.uplugin 2024-12-14T12:59:43.043Z +Engine/Plugins/Runtime/CableComponent/CableComponent.uplugin 2024-12-14T12:59:43.597Z +Engine/Plugins/Runtime/ChunkDownloader/ChunkDownloader.uplugin 2024-12-14T12:59:43.602Z +Engine/Plugins/Runtime/ComputeFramework/ComputeFramework.uplugin 2024-12-14T12:59:44.575Z +Engine/Plugins/Runtime/CustomMeshComponent/CustomMeshComponent.uplugin 2024-12-14T12:59:44.591Z +Engine/Plugins/Runtime/Database/SQLiteCore/SQLiteCore.uplugin 2024-12-14T12:59:45.756Z +Engine/Plugins/Runtime/ExampleDeviceProfileSelector/ExampleDeviceProfileSelector.uplugin 2024-12-14T12:59:45.845Z +Engine/Plugins/Runtime/GeometryCache/GeometryCache.uplugin 2024-12-14T12:59:48.720Z +Engine/Plugins/Runtime/GeometryProcessing/GeometryProcessing.uplugin 2024-12-14T12:59:49.626Z +Engine/Plugins/Runtime/GooglePAD/GooglePAD.uplugin 2024-12-14T13:00:13.844Z +Engine/Plugins/Runtime/HairStrands/HairStrands.uplugin 2024-12-14T13:00:19.528Z +Engine/Plugins/Runtime/InputDebugging/InputDebugging.uplugin 2024-12-14T13:00:58.285Z +Engine/Plugins/Runtime/LocationServicesBPLibrary/LocationServicesBPLibrary.uplugin 2024-12-14T13:00:58.339Z +Engine/Plugins/Runtime/MeshModelingToolset/MeshModelingToolset.uplugin 2024-12-14T13:01:01.168Z +Engine/Plugins/Runtime/Metasound/Metasound.uplugin 2024-12-14T13:01:04.959Z +Engine/Plugins/Runtime/MobilePatchingUtils/MobilePatchingUtils.uplugin 2024-12-14T13:01:06.504Z +Engine/Plugins/Runtime/MsQuic/MsQuic.uplugin 2024-12-14T13:01:06.581Z +Engine/Plugins/Runtime/OpenXREyeTracker/OpenXREyeTracker.uplugin 2024-12-14T13:01:58.551Z +Engine/Plugins/Runtime/OpenXRHandTracking/OpenXRHandTracking.uplugin 2024-12-14T13:01:58.556Z +Engine/Plugins/Runtime/OpenXR/OpenXR.uplugin 2024-12-14T13:01:58.542Z +Engine/Plugins/Runtime/ProceduralMeshComponent/ProceduralMeshComponent.uplugin 2024-12-14T13:01:58.990Z +Engine/Plugins/Runtime/PropertyAccess/PropertyAccessEditor.uplugin 2024-12-14T13:01:58.993Z +Engine/Plugins/Runtime/ResonanceAudio/ResonanceAudio.uplugin 2024-12-14T13:01:59.978Z +Engine/Plugins/Runtime/RigVM/RigVM.uplugin 2024-12-14T13:02:02.134Z +Engine/Plugins/Runtime/SignificanceManager/SignificanceManager.uplugin 2024-12-14T13:02:02.211Z +Engine/Plugins/Runtime/SoundFields/SoundFields.uplugin 2024-12-14T13:02:02.881Z +Engine/Plugins/Runtime/StateTree/StateTree.uplugin 2024-12-14T13:02:03.424Z +Engine/Plugins/Runtime/Synthesis/Synthesis.uplugin 2024-12-14T13:02:03.956Z +Engine/Plugins/Runtime/USDCore/USDCore.uplugin 2024-12-14T13:02:26.395Z +Engine/Plugins/Runtime/WaveTable/WaveTable.uplugin 2024-12-14T13:02:26.489Z +Engine/Plugins/Runtime/WebMMoviePlayer/WebMMoviePlayer.uplugin 2024-12-14T13:02:26.534Z +Engine/Plugins/Runtime/WindowsDeviceProfileSelector/WindowsDeviceProfileSelector.uplugin 2024-12-14T13:02:26.600Z +Engine/Plugins/Runtime/WindowsMoviePlayer/WindowsMoviePlayer.uplugin 2024-12-14T13:02:26.604Z +Engine/Plugins/Runtime/Windows/XInputDevice/XInputDevice.uplugin 2024-12-14T13:02:26.597Z +Engine/Plugins/Runtime/XRBase/XRBase.uplugin 2024-12-14T13:02:26.704Z +Engine/Plugins/Tests/InterchangeTests/InterchangeTests.uplugin 2025-02-15T18:11:40.777Z +Engine/Plugins/TraceUtilities/TraceUtilities.uplugin 2024-12-14T13:02:27.883Z +Engine/Plugins/VirtualProduction/Takes/Takes.uplugin 2024-12-14T13:02:48.425Z +Engine/Plugins/WorldMetrics/WorldMetrics.uplugin 2024-12-14T13:02:55.046Z +Engine/Content/Internationalization/icudt64l/cnvalias.icu 2024-12-14T13:12:17.224Z +Engine/Content/Internationalization/icudt64l/confusables.cfu 2024-12-14T13:12:17.227Z +Engine/Content/Internationalization/icudt64l/currencyNumericCodes.res 2024-12-14T13:12:17.288Z +Engine/Content/Internationalization/icudt64l/dayPeriods.res 2024-12-14T13:12:17.293Z +Engine/Content/Internationalization/icudt64l/en.res 2024-12-14T12:45:31.213Z +Engine/Content/Internationalization/icudt64l/en_001.res 2024-12-14T12:45:31.213Z +Engine/Content/Internationalization/icudt64l/en_150.res 2024-12-14T12:45:31.213Z +Engine/Content/Internationalization/icudt64l/en_AE.res 2024-12-14T12:45:31.220Z +Engine/Content/Internationalization/icudt64l/en_AG.res 2024-12-14T13:12:17.296Z +Engine/Content/Internationalization/icudt64l/en_AI.res 2024-12-14T13:12:17.297Z +Engine/Content/Internationalization/icudt64l/en_AS.res 2024-12-14T13:12:17.297Z +Engine/Content/Internationalization/icudt64l/en_AT.res 2024-12-14T12:45:31.221Z +Engine/Content/Internationalization/icudt64l/en_AU.res 2024-12-14T12:45:31.221Z +Engine/Content/Internationalization/icudt64l/en_BB.res 2024-12-14T13:12:17.298Z +Engine/Content/Internationalization/icudt64l/en_BE.res 2024-12-14T12:45:31.221Z +Engine/Content/Internationalization/icudt64l/en_BI.res 2024-12-14T12:45:31.222Z +Engine/Content/Internationalization/icudt64l/en_BM.res 2024-12-14T13:12:17.306Z +Engine/Content/Internationalization/icudt64l/en_BS.res 2024-12-14T13:12:17.306Z +Engine/Content/Internationalization/icudt64l/en_BW.res 2024-12-14T12:45:31.222Z +Engine/Content/Internationalization/icudt64l/en_BZ.res 2024-12-14T12:45:31.222Z +Engine/Content/Internationalization/icudt64l/en_CA.res 2024-12-14T12:45:31.222Z +Engine/Content/Internationalization/icudt64l/en_CC.res 2024-12-14T13:12:17.308Z +Engine/Content/Internationalization/icudt64l/en_CH.res 2024-12-14T12:45:31.223Z +Engine/Content/Internationalization/icudt64l/en_CK.res 2024-12-14T13:12:17.308Z +Engine/Content/Internationalization/icudt64l/en_CM.res 2024-12-14T13:12:17.313Z +Engine/Content/Internationalization/icudt64l/en_CX.res 2024-12-14T13:12:17.313Z +Engine/Content/Internationalization/icudt64l/en_CY.res 2024-12-14T13:12:17.314Z +Engine/Content/Internationalization/icudt64l/en_DE.res 2024-12-14T12:45:31.223Z +Engine/Content/Internationalization/icudt64l/en_DG.res 2024-12-14T13:12:17.314Z +Engine/Content/Internationalization/icudt64l/en_DK.res 2024-12-14T12:45:31.223Z +Engine/Content/Internationalization/icudt64l/en_DM.res 2024-12-14T13:12:17.320Z +Engine/Content/Internationalization/icudt64l/en_ER.res 2024-12-14T13:12:17.321Z +Engine/Content/Internationalization/icudt64l/en_FI.res 2024-12-14T12:45:31.223Z +Engine/Content/Internationalization/icudt64l/en_FJ.res 2024-12-14T13:12:17.321Z +Engine/Content/Internationalization/icudt64l/en_FK.res 2024-12-14T13:12:17.322Z +Engine/Content/Internationalization/icudt64l/en_FM.res 2024-12-14T13:12:17.328Z +Engine/Content/Internationalization/icudt64l/en_GB.res 2024-12-14T12:45:31.231Z +Engine/Content/Internationalization/icudt64l/en_GD.res 2024-12-14T13:12:17.328Z +Engine/Content/Internationalization/icudt64l/en_GG.res 2024-12-14T13:12:17.329Z +Engine/Content/Internationalization/icudt64l/en_GH.res 2024-12-14T13:12:17.329Z +Engine/Content/Internationalization/icudt64l/en_GI.res 2024-12-14T13:12:17.329Z +Engine/Content/Internationalization/icudt64l/en_GM.res 2024-12-14T13:12:17.330Z +Engine/Content/Internationalization/icudt64l/en_GU.res 2024-12-14T13:12:17.330Z +Engine/Content/Internationalization/icudt64l/en_GY.res 2024-12-14T13:12:17.330Z +Engine/Content/Internationalization/icudt64l/en_HK.res 2024-12-14T12:45:31.232Z +Engine/Content/Internationalization/icudt64l/en_IE.res 2024-12-14T12:45:31.232Z +Engine/Content/Internationalization/icudt64l/en_IL.res 2024-12-14T12:45:31.232Z +Engine/Content/Internationalization/icudt64l/en_IM.res 2024-12-14T13:12:17.331Z +Engine/Content/Internationalization/icudt64l/en_IN.res 2024-12-14T12:45:31.232Z +Engine/Content/Internationalization/icudt64l/en_IO.res 2024-12-14T13:12:17.332Z +Engine/Content/Internationalization/icudt64l/en_JE.res 2024-12-14T13:12:17.332Z +Engine/Content/Internationalization/icudt64l/en_JM.res 2024-12-14T13:12:17.332Z +Engine/Content/Internationalization/icudt64l/en_KE.res 2024-12-14T13:12:17.333Z +Engine/Content/Internationalization/icudt64l/en_KI.res 2024-12-14T13:12:17.333Z +Engine/Content/Internationalization/icudt64l/en_KN.res 2024-12-14T13:12:17.341Z +Engine/Content/Internationalization/icudt64l/en_KY.res 2024-12-14T13:12:17.341Z +Engine/Content/Internationalization/icudt64l/en_LC.res 2024-12-14T13:12:17.342Z +Engine/Content/Internationalization/icudt64l/en_LR.res 2024-12-14T13:12:17.342Z +Engine/Content/Internationalization/icudt64l/en_LS.res 2024-12-14T13:12:17.342Z +Engine/Content/Internationalization/icudt64l/en_MG.res 2024-12-14T13:12:17.343Z +Engine/Content/Internationalization/icudt64l/en_MH.res 2024-12-14T13:12:17.343Z +Engine/Content/Internationalization/icudt64l/en_MO.res 2024-12-14T13:12:17.343Z +Engine/Content/Internationalization/icudt64l/en_MP.res 2024-12-14T12:45:31.221Z +Engine/Content/Internationalization/icudt64l/en_MS.res 2024-12-14T13:12:17.344Z +Engine/Content/Internationalization/icudt64l/en_MT.res 2024-12-14T12:45:31.232Z +Engine/Content/Internationalization/icudt64l/en_MU.res 2024-12-14T12:45:31.221Z +Engine/Content/Internationalization/icudt64l/en_MW.res 2024-12-14T12:45:31.220Z +Engine/Content/Internationalization/icudt64l/en_MY.res 2024-12-14T13:12:17.345Z +Engine/Content/Internationalization/icudt64l/en_NA.res 2024-12-14T13:12:17.345Z +Engine/Content/Internationalization/icudt64l/en_NF.res 2024-12-14T13:12:17.346Z +Engine/Content/Internationalization/icudt64l/en_NG.res 2024-12-14T12:45:31.233Z +Engine/Content/Internationalization/icudt64l/en_NH.res 2024-12-14T12:45:31.233Z +Engine/Content/Internationalization/icudt64l/en_NL.res 2024-12-14T12:45:31.233Z +Engine/Content/Internationalization/icudt64l/en_NR.res 2024-12-14T13:12:17.347Z +Engine/Content/Internationalization/icudt64l/en_NU.res 2024-12-14T13:12:17.349Z +Engine/Content/Internationalization/icudt64l/en_NZ.res 2024-12-14T12:45:31.234Z +Engine/Content/Internationalization/icudt64l/en_PG.res 2024-12-14T13:12:17.350Z +Engine/Content/Internationalization/icudt64l/en_PH.res 2024-12-14T13:12:17.351Z +Engine/Content/Internationalization/icudt64l/en_PK.res 2024-12-14T12:45:31.234Z +Engine/Content/Internationalization/icudt64l/en_PN.res 2024-12-14T13:12:17.351Z +Engine/Content/Internationalization/icudt64l/en_PR.res 2024-12-14T13:12:17.351Z +Engine/Content/Internationalization/icudt64l/en_PW.res 2024-12-14T13:12:17.352Z +Engine/Content/Internationalization/icudt64l/en_RH.res 2024-12-14T12:45:31.234Z +Engine/Content/Internationalization/icudt64l/en_RW.res 2024-12-14T13:12:17.352Z +Engine/Content/Internationalization/icudt64l/en_SB.res 2024-12-14T13:12:17.352Z +Engine/Content/Internationalization/icudt64l/en_SC.res 2024-12-14T13:12:17.353Z +Engine/Content/Internationalization/icudt64l/en_SD.res 2024-12-14T13:12:17.353Z +Engine/Content/Internationalization/icudt64l/en_SE.res 2024-12-14T12:45:31.234Z +Engine/Content/Internationalization/icudt64l/en_SG.res 2024-12-14T12:45:31.235Z +Engine/Content/Internationalization/icudt64l/en_SH.res 2024-12-14T13:12:17.354Z +Engine/Content/Internationalization/icudt64l/en_SI.res 2024-12-14T12:45:31.235Z +Engine/Content/Internationalization/icudt64l/en_SL.res 2024-12-14T13:12:17.354Z +Engine/Content/Internationalization/icudt64l/en_SS.res 2024-12-14T13:12:17.354Z +Engine/Content/Internationalization/icudt64l/en_SX.res 2024-12-14T13:12:17.355Z +Engine/Content/Internationalization/icudt64l/en_SZ.res 2024-12-14T13:12:17.355Z +Engine/Content/Internationalization/icudt64l/en_TC.res 2024-12-14T13:12:17.355Z +Engine/Content/Internationalization/icudt64l/en_TK.res 2024-12-14T13:12:17.355Z +Engine/Content/Internationalization/icudt64l/en_TO.res 2024-12-14T13:12:17.356Z +Engine/Content/Internationalization/icudt64l/en_TT.res 2024-12-14T13:12:17.356Z +Engine/Content/Internationalization/icudt64l/en_TV.res 2024-12-14T13:12:17.356Z +Engine/Content/Internationalization/icudt64l/en_TZ.res 2024-12-14T13:12:17.357Z +Engine/Content/Internationalization/icudt64l/en_UG.res 2024-12-14T12:45:31.233Z +Engine/Content/Internationalization/icudt64l/en_UM.res 2024-12-14T13:12:17.357Z +Engine/Content/Internationalization/icudt64l/en_US.res 2024-12-14T13:12:17.357Z +Engine/Content/Internationalization/icudt64l/en_US_POSIX.res 2024-12-14T12:45:31.235Z +Engine/Content/Internationalization/icudt64l/en_VC.res 2024-12-14T13:12:17.358Z +Engine/Content/Internationalization/icudt64l/en_VG.res 2024-12-14T13:12:17.358Z +Engine/Content/Internationalization/icudt64l/en_VI.res 2024-12-14T12:45:31.234Z +Engine/Content/Internationalization/icudt64l/en_VU.res 2024-12-14T13:12:17.359Z +Engine/Content/Internationalization/icudt64l/en_WS.res 2024-12-14T13:12:17.359Z +Engine/Content/Internationalization/icudt64l/en_ZA.res 2024-12-14T12:45:31.235Z +Engine/Content/Internationalization/icudt64l/en_ZM.res 2024-12-14T12:45:31.233Z +Engine/Content/Internationalization/icudt64l/en_ZW.res 2024-12-14T12:45:31.235Z +Engine/Content/Internationalization/icudt64l/genderList.res 2024-12-14T13:12:17.360Z +Engine/Content/Internationalization/icudt64l/icustd.res 2024-12-14T13:12:17.361Z +Engine/Content/Internationalization/icudt64l/icuver.res 2024-12-14T13:12:17.362Z +Engine/Content/Internationalization/icudt64l/keyTypeData.res 2024-12-14T13:12:17.362Z +Engine/Content/Internationalization/icudt64l/likelySubtags.res 2024-12-14T13:12:17.394Z +Engine/Content/Internationalization/icudt64l/metadata.res 2024-12-14T13:12:17.394Z +Engine/Content/Internationalization/icudt64l/metaZones.res 2024-12-14T13:12:17.395Z +Engine/Content/Internationalization/icudt64l/nfkc.nrm 2024-12-14T13:12:17.395Z +Engine/Content/Internationalization/icudt64l/nfkc_cf.nrm 2024-12-14T13:12:17.396Z +Engine/Content/Internationalization/icudt64l/numberingSystems.res 2024-12-14T13:12:17.396Z +Engine/Content/Internationalization/icudt64l/pluralRanges.res 2024-12-14T13:12:17.396Z +Engine/Content/Internationalization/icudt64l/plurals.res 2024-12-14T13:12:17.397Z +Engine/Content/Internationalization/icudt64l/pool.res 2024-12-14T12:45:31.250Z +Engine/Content/Internationalization/icudt64l/root.res 2024-12-14T12:45:31.263Z +Engine/Content/Internationalization/icudt64l/supplementalData.res 2024-12-14T13:12:17.435Z +Engine/Content/Internationalization/icudt64l/timezoneTypes.res 2024-12-14T13:12:17.436Z +Engine/Content/Internationalization/icudt64l/ulayout.icu 2024-12-14T13:12:17.438Z +Engine/Content/Internationalization/icudt64l/unames.icu 2024-12-14T13:12:17.438Z +Engine/Content/Internationalization/icudt64l/uts46.nrm 2024-12-14T13:12:17.471Z +Engine/Content/Internationalization/icudt64l/windowsZones.res 2024-12-14T13:12:17.472Z +Engine/Content/Internationalization/icudt64l/zoneinfo64.res 2024-12-14T13:12:17.503Z +Engine/Content/Internationalization/icudt64l/brkitr/char.brk 2024-12-14T13:12:17.219Z +Engine/Content/Internationalization/icudt64l/brkitr/en.res 2024-12-14T13:12:17.219Z +Engine/Content/Internationalization/icudt64l/brkitr/en_US.res 2024-12-14T13:12:17.219Z +Engine/Content/Internationalization/icudt64l/brkitr/en_US_POSIX.res 2024-12-14T13:12:17.220Z +Engine/Content/Internationalization/icudt64l/brkitr/line.brk 2024-12-14T13:12:17.220Z +Engine/Content/Internationalization/icudt64l/brkitr/line_loose.brk 2024-12-14T13:12:17.221Z +Engine/Content/Internationalization/icudt64l/brkitr/line_normal.brk 2024-12-14T13:12:17.221Z +Engine/Content/Internationalization/icudt64l/brkitr/root.res 2024-12-14T13:12:17.221Z +Engine/Content/Internationalization/icudt64l/brkitr/sent.brk 2024-12-14T13:12:17.222Z +Engine/Content/Internationalization/icudt64l/brkitr/sent_el.brk 2024-12-14T13:12:17.222Z +Engine/Content/Internationalization/icudt64l/brkitr/title.brk 2024-12-14T13:12:17.223Z +Engine/Content/Internationalization/icudt64l/brkitr/word.brk 2024-12-14T13:12:17.223Z +Engine/Content/Internationalization/icudt64l/brkitr/word_POSIX.brk 2024-12-14T13:12:17.223Z +Engine/Content/Internationalization/icudt64l/coll/en.res 2024-12-14T13:12:17.225Z +Engine/Content/Internationalization/icudt64l/coll/en_US.res 2024-12-14T13:12:17.225Z +Engine/Content/Internationalization/icudt64l/coll/en_US_POSIX.res 2024-12-14T13:12:17.226Z +Engine/Content/Internationalization/icudt64l/coll/root.res 2024-12-14T13:12:17.226Z +Engine/Content/Internationalization/icudt64l/coll/ucadata.icu 2024-12-14T13:12:17.227Z +Engine/Content/Internationalization/icudt64l/curr/en.res 2024-12-14T12:45:31.167Z +Engine/Content/Internationalization/icudt64l/curr/en_001.res 2024-12-14T12:45:31.167Z +Engine/Content/Internationalization/icudt64l/curr/en_150.res 2024-12-14T12:45:31.167Z +Engine/Content/Internationalization/icudt64l/curr/en_AE.res 2024-12-14T12:45:31.167Z +Engine/Content/Internationalization/icudt64l/curr/en_AG.res 2024-12-14T13:12:17.229Z +Engine/Content/Internationalization/icudt64l/curr/en_AI.res 2024-12-14T13:12:17.229Z +Engine/Content/Internationalization/icudt64l/curr/en_AT.res 2024-12-14T13:12:17.233Z +Engine/Content/Internationalization/icudt64l/curr/en_AU.res 2024-12-14T12:45:31.168Z +Engine/Content/Internationalization/icudt64l/curr/en_BB.res 2024-12-14T12:45:31.168Z +Engine/Content/Internationalization/icudt64l/curr/en_BE.res 2024-12-14T12:45:31.168Z +Engine/Content/Internationalization/icudt64l/curr/en_BI.res 2024-12-14T12:45:31.168Z +Engine/Content/Internationalization/icudt64l/curr/en_BM.res 2024-12-14T12:45:31.178Z +Engine/Content/Internationalization/icudt64l/curr/en_BS.res 2024-12-14T12:45:31.178Z +Engine/Content/Internationalization/icudt64l/curr/en_BW.res 2024-12-14T12:45:31.179Z +Engine/Content/Internationalization/icudt64l/curr/en_BZ.res 2024-12-14T12:45:31.179Z +Engine/Content/Internationalization/icudt64l/curr/en_CA.res 2024-12-14T12:45:31.179Z +Engine/Content/Internationalization/icudt64l/curr/en_CC.res 2024-12-14T13:12:17.236Z +Engine/Content/Internationalization/icudt64l/curr/en_CH.res 2024-12-14T12:45:31.179Z +Engine/Content/Internationalization/icudt64l/curr/en_CK.res 2024-12-14T12:45:31.180Z +Engine/Content/Internationalization/icudt64l/curr/en_CM.res 2024-12-14T13:12:17.237Z +Engine/Content/Internationalization/icudt64l/curr/en_CX.res 2024-12-14T13:12:17.237Z +Engine/Content/Internationalization/icudt64l/curr/en_CY.res 2024-12-14T13:12:17.237Z +Engine/Content/Internationalization/icudt64l/curr/en_DE.res 2024-12-14T13:12:17.238Z +Engine/Content/Internationalization/icudt64l/curr/en_DG.res 2024-12-14T13:12:17.238Z +Engine/Content/Internationalization/icudt64l/curr/en_DK.res 2024-12-14T12:45:31.180Z +Engine/Content/Internationalization/icudt64l/curr/en_DM.res 2024-12-14T13:12:17.239Z +Engine/Content/Internationalization/icudt64l/curr/en_ER.res 2024-12-14T12:45:31.180Z +Engine/Content/Internationalization/icudt64l/curr/en_FI.res 2024-12-14T12:45:31.168Z +Engine/Content/Internationalization/icudt64l/curr/en_FJ.res 2024-12-14T12:45:31.180Z +Engine/Content/Internationalization/icudt64l/curr/en_FK.res 2024-12-14T12:45:31.181Z +Engine/Content/Internationalization/icudt64l/curr/en_FM.res 2024-12-14T13:12:17.240Z +Engine/Content/Internationalization/icudt64l/curr/en_GB.res 2024-12-14T12:45:31.181Z +Engine/Content/Internationalization/icudt64l/curr/en_GD.res 2024-12-14T13:12:17.240Z +Engine/Content/Internationalization/icudt64l/curr/en_GG.res 2024-12-14T13:12:17.241Z +Engine/Content/Internationalization/icudt64l/curr/en_GH.res 2024-12-14T12:45:31.181Z +Engine/Content/Internationalization/icudt64l/curr/en_GI.res 2024-12-14T12:45:31.181Z +Engine/Content/Internationalization/icudt64l/curr/en_GM.res 2024-12-14T12:45:31.182Z +Engine/Content/Internationalization/icudt64l/curr/en_GY.res 2024-12-14T12:45:31.182Z +Engine/Content/Internationalization/icudt64l/curr/en_HK.res 2024-12-14T12:45:31.182Z +Engine/Content/Internationalization/icudt64l/curr/en_IE.res 2024-12-14T13:12:17.244Z +Engine/Content/Internationalization/icudt64l/curr/en_IL.res 2024-12-14T13:12:17.244Z +Engine/Content/Internationalization/icudt64l/curr/en_IM.res 2024-12-14T13:12:17.245Z +Engine/Content/Internationalization/icudt64l/curr/en_IN.res 2024-12-14T12:45:31.190Z +Engine/Content/Internationalization/icudt64l/curr/en_IO.res 2024-12-14T12:45:31.180Z +Engine/Content/Internationalization/icudt64l/curr/en_JE.res 2024-12-14T12:45:31.181Z +Engine/Content/Internationalization/icudt64l/curr/en_JM.res 2024-12-14T12:45:31.190Z +Engine/Content/Internationalization/icudt64l/curr/en_KE.res 2024-12-14T12:45:31.190Z +Engine/Content/Internationalization/icudt64l/curr/en_KI.res 2024-12-14T12:45:31.179Z +Engine/Content/Internationalization/icudt64l/curr/en_KN.res 2024-12-14T13:12:17.246Z +Engine/Content/Internationalization/icudt64l/curr/en_KY.res 2024-12-14T12:45:31.190Z +Engine/Content/Internationalization/icudt64l/curr/en_LC.res 2024-12-14T13:12:17.247Z +Engine/Content/Internationalization/icudt64l/curr/en_LR.res 2024-12-14T12:45:31.191Z +Engine/Content/Internationalization/icudt64l/curr/en_LS.res 2024-12-14T12:45:31.191Z +Engine/Content/Internationalization/icudt64l/curr/en_MG.res 2024-12-14T12:45:31.191Z +Engine/Content/Internationalization/icudt64l/curr/en_MO.res 2024-12-14T12:45:31.191Z +Engine/Content/Internationalization/icudt64l/curr/en_MS.res 2024-12-14T12:45:31.167Z +Engine/Content/Internationalization/icudt64l/curr/en_MT.res 2024-12-14T12:45:31.191Z +Engine/Content/Internationalization/icudt64l/curr/en_MU.res 2024-12-14T12:45:31.192Z +Engine/Content/Internationalization/icudt64l/curr/en_MW.res 2024-12-14T12:45:31.192Z +Engine/Content/Internationalization/icudt64l/curr/en_MY.res 2024-12-14T12:45:31.192Z +Engine/Content/Internationalization/icudt64l/curr/en_NA.res 2024-12-14T12:45:31.192Z +Engine/Content/Internationalization/icudt64l/curr/en_NF.res 2024-12-14T13:12:17.255Z +Engine/Content/Internationalization/icudt64l/curr/en_NG.res 2024-12-14T12:45:31.193Z +Engine/Content/Internationalization/icudt64l/curr/en_NH.res 2024-12-14T12:45:31.200Z +Engine/Content/Internationalization/icudt64l/curr/en_NL.res 2024-12-14T13:12:17.256Z +Engine/Content/Internationalization/icudt64l/curr/en_NR.res 2024-12-14T13:12:17.256Z +Engine/Content/Internationalization/icudt64l/curr/en_NU.res 2024-12-14T13:12:17.257Z +Engine/Content/Internationalization/icudt64l/curr/en_NZ.res 2024-12-14T12:45:31.200Z +Engine/Content/Internationalization/icudt64l/curr/en_PG.res 2024-12-14T12:45:31.201Z +Engine/Content/Internationalization/icudt64l/curr/en_PH.res 2024-12-14T12:45:31.201Z +Engine/Content/Internationalization/icudt64l/curr/en_PK.res 2024-12-14T12:45:31.201Z +Engine/Content/Internationalization/icudt64l/curr/en_PN.res 2024-12-14T13:12:17.266Z +Engine/Content/Internationalization/icudt64l/curr/en_PW.res 2024-12-14T13:12:17.266Z +Engine/Content/Internationalization/icudt64l/curr/en_RH.res 2024-12-14T12:45:31.201Z +Engine/Content/Internationalization/icudt64l/curr/en_RW.res 2024-12-14T12:45:31.202Z +Engine/Content/Internationalization/icudt64l/curr/en_SB.res 2024-12-14T12:45:31.202Z +Engine/Content/Internationalization/icudt64l/curr/en_SC.res 2024-12-14T12:45:31.202Z +Engine/Content/Internationalization/icudt64l/curr/en_SD.res 2024-12-14T13:12:17.268Z +Engine/Content/Internationalization/icudt64l/curr/en_SE.res 2024-12-14T12:45:31.202Z +Engine/Content/Internationalization/icudt64l/curr/en_SG.res 2024-12-14T12:45:31.202Z +Engine/Content/Internationalization/icudt64l/curr/en_SH.res 2024-12-14T12:45:31.203Z +Engine/Content/Internationalization/icudt64l/curr/en_SI.res 2024-12-14T12:45:31.200Z +Engine/Content/Internationalization/icudt64l/curr/en_SL.res 2024-12-14T12:45:31.203Z +Engine/Content/Internationalization/icudt64l/curr/en_SS.res 2024-12-14T12:45:31.210Z +Engine/Content/Internationalization/icudt64l/curr/en_SX.res 2024-12-14T12:45:31.210Z +Engine/Content/Internationalization/icudt64l/curr/en_SZ.res 2024-12-14T12:45:31.211Z +Engine/Content/Internationalization/icudt64l/curr/en_TC.res 2024-12-14T13:12:17.277Z +Engine/Content/Internationalization/icudt64l/curr/en_TK.res 2024-12-14T12:45:31.200Z +Engine/Content/Internationalization/icudt64l/curr/en_TO.res 2024-12-14T12:45:31.211Z +Engine/Content/Internationalization/icudt64l/curr/en_TT.res 2024-12-14T12:45:31.211Z +Engine/Content/Internationalization/icudt64l/curr/en_TV.res 2024-12-14T12:45:31.192Z +Engine/Content/Internationalization/icudt64l/curr/en_TZ.res 2024-12-14T12:45:31.211Z +Engine/Content/Internationalization/icudt64l/curr/en_UG.res 2024-12-14T12:45:31.211Z +Engine/Content/Internationalization/icudt64l/curr/en_VC.res 2024-12-14T12:45:31.212Z +Engine/Content/Internationalization/icudt64l/curr/en_VG.res 2024-12-14T13:12:17.280Z +Engine/Content/Internationalization/icudt64l/curr/en_VU.res 2024-12-14T12:45:31.212Z +Engine/Content/Internationalization/icudt64l/curr/en_WS.res 2024-12-14T12:45:31.212Z +Engine/Content/Internationalization/icudt64l/curr/en_ZA.res 2024-12-14T12:45:31.212Z +Engine/Content/Internationalization/icudt64l/curr/en_ZM.res 2024-12-14T12:45:31.212Z +Engine/Content/Internationalization/icudt64l/curr/en_ZW.res 2024-12-14T12:45:31.201Z +Engine/Content/Internationalization/icudt64l/curr/pool.res 2024-12-14T12:45:31.213Z +Engine/Content/Internationalization/icudt64l/curr/root.res 2024-12-14T12:45:31.213Z +Engine/Content/Internationalization/icudt64l/curr/supplementalData.res 2024-12-14T13:12:17.287Z +Engine/Content/Internationalization/icudt64l/lang/en.res 2024-12-14T12:45:31.236Z +Engine/Content/Internationalization/icudt64l/lang/en_001.res 2024-12-14T12:45:31.236Z +Engine/Content/Internationalization/icudt64l/lang/en_150.res 2024-12-14T13:12:17.363Z +Engine/Content/Internationalization/icudt64l/lang/en_AG.res 2024-12-14T13:12:17.363Z +Engine/Content/Internationalization/icudt64l/lang/en_AI.res 2024-12-14T13:12:17.363Z +Engine/Content/Internationalization/icudt64l/lang/en_AT.res 2024-12-14T13:12:17.364Z +Engine/Content/Internationalization/icudt64l/lang/en_AU.res 2024-12-14T12:45:31.247Z +Engine/Content/Internationalization/icudt64l/lang/en_BB.res 2024-12-14T13:12:17.365Z +Engine/Content/Internationalization/icudt64l/lang/en_BE.res 2024-12-14T12:45:31.248Z +Engine/Content/Internationalization/icudt64l/lang/en_BM.res 2024-12-14T13:12:17.365Z +Engine/Content/Internationalization/icudt64l/lang/en_BS.res 2024-12-14T13:12:17.366Z +Engine/Content/Internationalization/icudt64l/lang/en_BW.res 2024-12-14T13:12:17.366Z +Engine/Content/Internationalization/icudt64l/lang/en_BZ.res 2024-12-14T13:12:17.366Z +Engine/Content/Internationalization/icudt64l/lang/en_CA.res 2024-12-14T12:45:31.248Z +Engine/Content/Internationalization/icudt64l/lang/en_CC.res 2024-12-14T13:12:17.367Z +Engine/Content/Internationalization/icudt64l/lang/en_CH.res 2024-12-14T12:45:31.248Z +Engine/Content/Internationalization/icudt64l/lang/en_CK.res 2024-12-14T13:12:17.367Z +Engine/Content/Internationalization/icudt64l/lang/en_CM.res 2024-12-14T13:12:17.367Z +Engine/Content/Internationalization/icudt64l/lang/en_CX.res 2024-12-14T13:12:17.368Z +Engine/Content/Internationalization/icudt64l/lang/en_CY.res 2024-12-14T13:12:17.368Z +Engine/Content/Internationalization/icudt64l/lang/en_DE.res 2024-12-14T13:12:17.368Z +Engine/Content/Internationalization/icudt64l/lang/en_DG.res 2024-12-14T13:12:17.369Z +Engine/Content/Internationalization/icudt64l/lang/en_DK.res 2024-12-14T13:12:17.369Z +Engine/Content/Internationalization/icudt64l/lang/en_DM.res 2024-12-14T13:12:17.369Z +Engine/Content/Internationalization/icudt64l/lang/en_ER.res 2024-12-14T13:12:17.369Z +Engine/Content/Internationalization/icudt64l/lang/en_FI.res 2024-12-14T12:45:31.247Z +Engine/Content/Internationalization/icudt64l/lang/en_FJ.res 2024-12-14T13:12:17.370Z +Engine/Content/Internationalization/icudt64l/lang/en_FK.res 2024-12-14T13:12:17.370Z +Engine/Content/Internationalization/icudt64l/lang/en_FM.res 2024-12-14T13:12:17.370Z +Engine/Content/Internationalization/icudt64l/lang/en_GB.res 2024-12-14T12:45:31.248Z +Engine/Content/Internationalization/icudt64l/lang/en_GD.res 2024-12-14T13:12:17.371Z +Engine/Content/Internationalization/icudt64l/lang/en_GG.res 2024-12-14T13:12:17.371Z +Engine/Content/Internationalization/icudt64l/lang/en_GH.res 2024-12-14T13:12:17.371Z +Engine/Content/Internationalization/icudt64l/lang/en_GI.res 2024-12-14T13:12:17.372Z +Engine/Content/Internationalization/icudt64l/lang/en_GM.res 2024-12-14T13:12:17.372Z +Engine/Content/Internationalization/icudt64l/lang/en_GY.res 2024-12-14T13:12:17.372Z +Engine/Content/Internationalization/icudt64l/lang/en_HK.res 2024-12-14T12:45:31.248Z +Engine/Content/Internationalization/icudt64l/lang/en_IE.res 2024-12-14T13:12:17.373Z +Engine/Content/Internationalization/icudt64l/lang/en_IL.res 2024-12-14T13:12:17.373Z +Engine/Content/Internationalization/icudt64l/lang/en_IM.res 2024-12-14T13:12:17.374Z +Engine/Content/Internationalization/icudt64l/lang/en_IN.res 2024-12-14T12:45:31.249Z +Engine/Content/Internationalization/icudt64l/lang/en_IO.res 2024-12-14T13:12:17.375Z +Engine/Content/Internationalization/icudt64l/lang/en_JE.res 2024-12-14T13:12:17.375Z +Engine/Content/Internationalization/icudt64l/lang/en_JM.res 2024-12-14T13:12:17.376Z +Engine/Content/Internationalization/icudt64l/lang/en_KE.res 2024-12-14T13:12:17.376Z +Engine/Content/Internationalization/icudt64l/lang/en_KI.res 2024-12-14T13:12:17.376Z +Engine/Content/Internationalization/icudt64l/lang/en_KN.res 2024-12-14T13:12:17.377Z +Engine/Content/Internationalization/icudt64l/lang/en_KY.res 2024-12-14T13:12:17.377Z +Engine/Content/Internationalization/icudt64l/lang/en_LC.res 2024-12-14T13:12:17.377Z +Engine/Content/Internationalization/icudt64l/lang/en_LR.res 2024-12-14T13:12:17.378Z +Engine/Content/Internationalization/icudt64l/lang/en_LS.res 2024-12-14T13:12:17.378Z +Engine/Content/Internationalization/icudt64l/lang/en_MG.res 2024-12-14T13:12:17.378Z +Engine/Content/Internationalization/icudt64l/lang/en_MO.res 2024-12-14T13:12:17.379Z +Engine/Content/Internationalization/icudt64l/lang/en_MS.res 2024-12-14T13:12:17.379Z +Engine/Content/Internationalization/icudt64l/lang/en_MT.res 2024-12-14T13:12:17.379Z +Engine/Content/Internationalization/icudt64l/lang/en_MU.res 2024-12-14T13:12:17.380Z +Engine/Content/Internationalization/icudt64l/lang/en_MW.res 2024-12-14T12:45:31.247Z +Engine/Content/Internationalization/icudt64l/lang/en_MY.res 2024-12-14T13:12:17.380Z +Engine/Content/Internationalization/icudt64l/lang/en_NA.res 2024-12-14T13:12:17.381Z +Engine/Content/Internationalization/icudt64l/lang/en_NF.res 2024-12-14T13:12:17.382Z +Engine/Content/Internationalization/icudt64l/lang/en_NG.res 2024-12-14T12:45:31.249Z +Engine/Content/Internationalization/icudt64l/lang/en_NH.res 2024-12-14T12:45:31.249Z +Engine/Content/Internationalization/icudt64l/lang/en_NL.res 2024-12-14T13:12:17.383Z +Engine/Content/Internationalization/icudt64l/lang/en_NR.res 2024-12-14T13:12:17.383Z +Engine/Content/Internationalization/icudt64l/lang/en_NU.res 2024-12-14T13:12:17.383Z +Engine/Content/Internationalization/icudt64l/lang/en_NZ.res 2024-12-14T12:45:31.250Z +Engine/Content/Internationalization/icudt64l/lang/en_PG.res 2024-12-14T13:12:17.384Z +Engine/Content/Internationalization/icudt64l/lang/en_PH.res 2024-12-14T13:12:17.384Z +Engine/Content/Internationalization/icudt64l/lang/en_PK.res 2024-12-14T13:12:17.384Z +Engine/Content/Internationalization/icudt64l/lang/en_PN.res 2024-12-14T13:12:17.384Z +Engine/Content/Internationalization/icudt64l/lang/en_PW.res 2024-12-14T13:12:17.385Z +Engine/Content/Internationalization/icudt64l/lang/en_RH.res 2024-12-14T12:45:31.250Z +Engine/Content/Internationalization/icudt64l/lang/en_RW.res 2024-12-14T13:12:17.385Z +Engine/Content/Internationalization/icudt64l/lang/en_SB.res 2024-12-14T13:12:17.385Z +Engine/Content/Internationalization/icudt64l/lang/en_SC.res 2024-12-14T13:12:17.386Z +Engine/Content/Internationalization/icudt64l/lang/en_SD.res 2024-12-14T13:12:17.386Z +Engine/Content/Internationalization/icudt64l/lang/en_SE.res 2024-12-14T13:12:17.386Z +Engine/Content/Internationalization/icudt64l/lang/en_SG.res 2024-12-14T13:12:17.387Z +Engine/Content/Internationalization/icudt64l/lang/en_SH.res 2024-12-14T13:12:17.387Z +Engine/Content/Internationalization/icudt64l/lang/en_SI.res 2024-12-14T12:45:31.249Z +Engine/Content/Internationalization/icudt64l/lang/en_SL.res 2024-12-14T13:12:17.387Z +Engine/Content/Internationalization/icudt64l/lang/en_SS.res 2024-12-14T13:12:17.388Z +Engine/Content/Internationalization/icudt64l/lang/en_SX.res 2024-12-14T13:12:17.388Z +Engine/Content/Internationalization/icudt64l/lang/en_SZ.res 2024-12-14T13:12:17.388Z +Engine/Content/Internationalization/icudt64l/lang/en_TC.res 2024-12-14T13:12:17.389Z +Engine/Content/Internationalization/icudt64l/lang/en_TK.res 2024-12-14T13:12:17.389Z +Engine/Content/Internationalization/icudt64l/lang/en_TO.res 2024-12-14T13:12:17.389Z +Engine/Content/Internationalization/icudt64l/lang/en_TT.res 2024-12-14T13:12:17.389Z +Engine/Content/Internationalization/icudt64l/lang/en_TV.res 2024-12-14T13:12:17.390Z +Engine/Content/Internationalization/icudt64l/lang/en_TZ.res 2024-12-14T13:12:17.390Z +Engine/Content/Internationalization/icudt64l/lang/en_UG.res 2024-12-14T13:12:17.390Z +Engine/Content/Internationalization/icudt64l/lang/en_VC.res 2024-12-14T13:12:17.390Z +Engine/Content/Internationalization/icudt64l/lang/en_VG.res 2024-12-14T13:12:17.391Z +Engine/Content/Internationalization/icudt64l/lang/en_VU.res 2024-12-14T13:12:17.391Z +Engine/Content/Internationalization/icudt64l/lang/en_WS.res 2024-12-14T13:12:17.391Z +Engine/Content/Internationalization/icudt64l/lang/en_ZA.res 2024-12-14T13:12:17.392Z +Engine/Content/Internationalization/icudt64l/lang/en_ZM.res 2024-12-14T13:12:17.392Z +Engine/Content/Internationalization/icudt64l/lang/en_ZW.res 2024-12-14T12:45:31.249Z +Engine/Content/Internationalization/icudt64l/lang/pool.res 2024-12-14T12:45:31.250Z +Engine/Content/Internationalization/icudt64l/lang/root.res 2024-12-14T12:45:31.250Z +Engine/Content/Internationalization/icudt64l/rbnf/en.res 2024-12-14T13:12:17.398Z +Engine/Content/Internationalization/icudt64l/rbnf/en_001.res 2024-12-14T13:12:17.398Z +Engine/Content/Internationalization/icudt64l/rbnf/en_IN.res 2024-12-14T13:12:17.398Z +Engine/Content/Internationalization/icudt64l/rbnf/root.res 2024-12-14T13:12:17.399Z +Engine/Content/Internationalization/icudt64l/region/en.res 2024-12-14T12:45:31.251Z +Engine/Content/Internationalization/icudt64l/region/en_150.res 2024-12-14T13:12:17.400Z +Engine/Content/Internationalization/icudt64l/region/en_AG.res 2024-12-14T13:12:17.401Z +Engine/Content/Internationalization/icudt64l/region/en_AI.res 2024-12-14T13:12:17.401Z +Engine/Content/Internationalization/icudt64l/region/en_AT.res 2024-12-14T13:12:17.402Z +Engine/Content/Internationalization/icudt64l/region/en_AU.res 2024-12-14T12:45:31.251Z +Engine/Content/Internationalization/icudt64l/region/en_BB.res 2024-12-14T13:12:17.402Z +Engine/Content/Internationalization/icudt64l/region/en_BE.res 2024-12-14T12:45:31.252Z +Engine/Content/Internationalization/icudt64l/region/en_BM.res 2024-12-14T13:12:17.403Z +Engine/Content/Internationalization/icudt64l/region/en_BS.res 2024-12-14T13:12:17.403Z +Engine/Content/Internationalization/icudt64l/region/en_BW.res 2024-12-14T13:12:17.403Z +Engine/Content/Internationalization/icudt64l/region/en_BZ.res 2024-12-14T13:12:17.404Z +Engine/Content/Internationalization/icudt64l/region/en_CA.res 2024-12-14T13:12:17.404Z +Engine/Content/Internationalization/icudt64l/region/en_CC.res 2024-12-14T13:12:17.404Z +Engine/Content/Internationalization/icudt64l/region/en_CH.res 2024-12-14T12:45:31.252Z +Engine/Content/Internationalization/icudt64l/region/en_CK.res 2024-12-14T13:12:17.405Z +Engine/Content/Internationalization/icudt64l/region/en_CM.res 2024-12-14T13:12:17.405Z +Engine/Content/Internationalization/icudt64l/region/en_CX.res 2024-12-14T13:12:17.406Z +Engine/Content/Internationalization/icudt64l/region/en_CY.res 2024-12-14T13:12:17.406Z +Engine/Content/Internationalization/icudt64l/region/en_DE.res 2024-12-14T13:12:17.406Z +Engine/Content/Internationalization/icudt64l/region/en_DG.res 2024-12-14T13:12:17.407Z +Engine/Content/Internationalization/icudt64l/region/en_DK.res 2024-12-14T13:12:17.407Z +Engine/Content/Internationalization/icudt64l/region/en_DM.res 2024-12-14T13:12:17.407Z +Engine/Content/Internationalization/icudt64l/region/en_ER.res 2024-12-14T13:12:17.408Z +Engine/Content/Internationalization/icudt64l/region/en_FI.res 2024-12-14T12:45:31.251Z +Engine/Content/Internationalization/icudt64l/region/en_FJ.res 2024-12-14T13:12:17.408Z +Engine/Content/Internationalization/icudt64l/region/en_FK.res 2024-12-14T13:12:17.408Z +Engine/Content/Internationalization/icudt64l/region/en_FM.res 2024-12-14T13:12:17.409Z +Engine/Content/Internationalization/icudt64l/region/en_GB.res 2024-12-14T12:45:31.260Z +Engine/Content/Internationalization/icudt64l/region/en_GD.res 2024-12-14T13:12:17.409Z +Engine/Content/Internationalization/icudt64l/region/en_GG.res 2024-12-14T13:12:17.410Z +Engine/Content/Internationalization/icudt64l/region/en_GH.res 2024-12-14T13:12:17.410Z +Engine/Content/Internationalization/icudt64l/region/en_GI.res 2024-12-14T13:12:17.410Z +Engine/Content/Internationalization/icudt64l/region/en_GM.res 2024-12-14T13:12:17.411Z +Engine/Content/Internationalization/icudt64l/region/en_GY.res 2024-12-14T13:12:17.411Z +Engine/Content/Internationalization/icudt64l/region/en_HK.res 2024-12-14T13:12:17.411Z +Engine/Content/Internationalization/icudt64l/region/en_IE.res 2024-12-14T13:12:17.412Z +Engine/Content/Internationalization/icudt64l/region/en_IL.res 2024-12-14T13:12:17.412Z +Engine/Content/Internationalization/icudt64l/region/en_IM.res 2024-12-14T13:12:17.413Z +Engine/Content/Internationalization/icudt64l/region/en_IN.res 2024-12-14T12:45:31.260Z +Engine/Content/Internationalization/icudt64l/region/en_IO.res 2024-12-14T13:12:17.414Z +Engine/Content/Internationalization/icudt64l/region/en_JE.res 2024-12-14T13:12:17.414Z +Engine/Content/Internationalization/icudt64l/region/en_JM.res 2024-12-14T13:12:17.415Z +Engine/Content/Internationalization/icudt64l/region/en_KE.res 2024-12-14T13:12:17.415Z +Engine/Content/Internationalization/icudt64l/region/en_KI.res 2024-12-14T13:12:17.415Z +Engine/Content/Internationalization/icudt64l/region/en_KN.res 2024-12-14T13:12:17.416Z +Engine/Content/Internationalization/icudt64l/region/en_KY.res 2024-12-14T13:12:17.416Z +Engine/Content/Internationalization/icudt64l/region/en_LC.res 2024-12-14T13:12:17.416Z +Engine/Content/Internationalization/icudt64l/region/en_LR.res 2024-12-14T13:12:17.417Z +Engine/Content/Internationalization/icudt64l/region/en_LS.res 2024-12-14T13:12:17.417Z +Engine/Content/Internationalization/icudt64l/region/en_MG.res 2024-12-14T13:12:17.418Z +Engine/Content/Internationalization/icudt64l/region/en_MO.res 2024-12-14T13:12:17.418Z +Engine/Content/Internationalization/icudt64l/region/en_MS.res 2024-12-14T13:12:17.418Z +Engine/Content/Internationalization/icudt64l/region/en_MT.res 2024-12-14T13:12:17.419Z +Engine/Content/Internationalization/icudt64l/region/en_MU.res 2024-12-14T13:12:17.419Z +Engine/Content/Internationalization/icudt64l/region/en_MW.res 2024-12-14T12:45:31.251Z +Engine/Content/Internationalization/icudt64l/region/en_MY.res 2024-12-14T13:12:17.420Z +Engine/Content/Internationalization/icudt64l/region/en_NA.res 2024-12-14T13:12:17.420Z +Engine/Content/Internationalization/icudt64l/region/en_NF.res 2024-12-14T13:12:17.421Z +Engine/Content/Internationalization/icudt64l/region/en_NG.res 2024-12-14T12:45:31.260Z +Engine/Content/Internationalization/icudt64l/region/en_NH.res 2024-12-14T12:45:31.261Z +Engine/Content/Internationalization/icudt64l/region/en_NL.res 2024-12-14T13:12:17.422Z +Engine/Content/Internationalization/icudt64l/region/en_NR.res 2024-12-14T13:12:17.422Z +Engine/Content/Internationalization/icudt64l/region/en_NU.res 2024-12-14T13:12:17.422Z +Engine/Content/Internationalization/icudt64l/region/en_NZ.res 2024-12-14T12:45:31.252Z +Engine/Content/Internationalization/icudt64l/region/en_PG.res 2024-12-14T13:12:17.423Z +Engine/Content/Internationalization/icudt64l/region/en_PH.res 2024-12-14T13:12:17.423Z +Engine/Content/Internationalization/icudt64l/region/en_PK.res 2024-12-14T13:12:17.424Z +Engine/Content/Internationalization/icudt64l/region/en_PN.res 2024-12-14T13:12:17.424Z +Engine/Content/Internationalization/icudt64l/region/en_PW.res 2024-12-14T13:12:17.424Z +Engine/Content/Internationalization/icudt64l/region/en_RH.res 2024-12-14T12:45:31.262Z +Engine/Content/Internationalization/icudt64l/region/en_RW.res 2024-12-14T13:12:17.425Z +Engine/Content/Internationalization/icudt64l/region/en_SB.res 2024-12-14T13:12:17.425Z +Engine/Content/Internationalization/icudt64l/region/en_SC.res 2024-12-14T13:12:17.425Z +Engine/Content/Internationalization/icudt64l/region/en_SD.res 2024-12-14T13:12:17.426Z +Engine/Content/Internationalization/icudt64l/region/en_SE.res 2024-12-14T13:12:17.426Z +Engine/Content/Internationalization/icudt64l/region/en_SG.res 2024-12-14T13:12:17.426Z +Engine/Content/Internationalization/icudt64l/region/en_SH.res 2024-12-14T13:12:17.427Z +Engine/Content/Internationalization/icudt64l/region/en_SI.res 2024-12-14T12:45:31.261Z +Engine/Content/Internationalization/icudt64l/region/en_SL.res 2024-12-14T13:12:17.428Z +Engine/Content/Internationalization/icudt64l/region/en_SS.res 2024-12-14T13:12:17.428Z +Engine/Content/Internationalization/icudt64l/region/en_SX.res 2024-12-14T13:12:17.428Z +Engine/Content/Internationalization/icudt64l/region/en_SZ.res 2024-12-14T13:12:17.429Z +Engine/Content/Internationalization/icudt64l/region/en_TC.res 2024-12-14T13:12:17.429Z +Engine/Content/Internationalization/icudt64l/region/en_TK.res 2024-12-14T13:12:17.429Z +Engine/Content/Internationalization/icudt64l/region/en_TO.res 2024-12-14T13:12:17.430Z +Engine/Content/Internationalization/icudt64l/region/en_TT.res 2024-12-14T13:12:17.430Z +Engine/Content/Internationalization/icudt64l/region/en_TV.res 2024-12-14T13:12:17.430Z +Engine/Content/Internationalization/icudt64l/region/en_TZ.res 2024-12-14T13:12:17.431Z +Engine/Content/Internationalization/icudt64l/region/en_UG.res 2024-12-14T13:12:17.431Z +Engine/Content/Internationalization/icudt64l/region/en_VC.res 2024-12-14T13:12:17.432Z +Engine/Content/Internationalization/icudt64l/region/en_VG.res 2024-12-14T13:12:17.432Z +Engine/Content/Internationalization/icudt64l/region/en_VU.res 2024-12-14T13:12:17.432Z +Engine/Content/Internationalization/icudt64l/region/en_WS.res 2024-12-14T13:12:17.433Z +Engine/Content/Internationalization/icudt64l/region/en_ZA.res 2024-12-14T13:12:17.433Z +Engine/Content/Internationalization/icudt64l/region/en_ZM.res 2024-12-14T13:12:17.433Z +Engine/Content/Internationalization/icudt64l/region/en_ZW.res 2024-12-14T12:45:31.260Z +Engine/Content/Internationalization/icudt64l/region/pool.res 2024-12-14T12:45:31.262Z +Engine/Content/Internationalization/icudt64l/region/root.res 2024-12-14T12:45:31.262Z +Engine/Content/Internationalization/icudt64l/translit/el.res 2024-12-14T13:12:17.436Z +Engine/Content/Internationalization/icudt64l/translit/en.res 2024-12-14T13:12:17.436Z +Engine/Content/Internationalization/icudt64l/translit/root.res 2024-12-14T13:12:17.437Z +Engine/Content/Internationalization/icudt64l/unit/en.res 2024-12-14T12:45:31.263Z +Engine/Content/Internationalization/icudt64l/unit/en_001.res 2024-12-14T12:45:31.263Z +Engine/Content/Internationalization/icudt64l/unit/en_150.res 2024-12-14T13:12:17.439Z +Engine/Content/Internationalization/icudt64l/unit/en_AG.res 2024-12-14T13:12:17.439Z +Engine/Content/Internationalization/icudt64l/unit/en_AI.res 2024-12-14T13:12:17.440Z +Engine/Content/Internationalization/icudt64l/unit/en_AT.res 2024-12-14T13:12:17.440Z +Engine/Content/Internationalization/icudt64l/unit/en_AU.res 2024-12-14T12:45:31.264Z +Engine/Content/Internationalization/icudt64l/unit/en_BB.res 2024-12-14T13:12:17.441Z +Engine/Content/Internationalization/icudt64l/unit/en_BE.res 2024-12-14T12:45:31.264Z +Engine/Content/Internationalization/icudt64l/unit/en_BM.res 2024-12-14T13:12:17.441Z +Engine/Content/Internationalization/icudt64l/unit/en_BS.res 2024-12-14T13:12:17.441Z +Engine/Content/Internationalization/icudt64l/unit/en_BW.res 2024-12-14T13:12:17.442Z +Engine/Content/Internationalization/icudt64l/unit/en_BZ.res 2024-12-14T13:12:17.442Z +Engine/Content/Internationalization/icudt64l/unit/en_CA.res 2024-12-14T12:45:31.265Z +Engine/Content/Internationalization/icudt64l/unit/en_CC.res 2024-12-14T13:12:17.443Z +Engine/Content/Internationalization/icudt64l/unit/en_CH.res 2024-12-14T12:45:31.265Z +Engine/Content/Internationalization/icudt64l/unit/en_CK.res 2024-12-14T13:12:17.443Z +Engine/Content/Internationalization/icudt64l/unit/en_CM.res 2024-12-14T13:12:17.444Z +Engine/Content/Internationalization/icudt64l/unit/en_CX.res 2024-12-14T13:12:17.444Z +Engine/Content/Internationalization/icudt64l/unit/en_CY.res 2024-12-14T13:12:17.444Z +Engine/Content/Internationalization/icudt64l/unit/en_DE.res 2024-12-14T13:12:17.444Z +Engine/Content/Internationalization/icudt64l/unit/en_DG.res 2024-12-14T13:12:17.445Z +Engine/Content/Internationalization/icudt64l/unit/en_DK.res 2024-12-14T13:12:17.445Z +Engine/Content/Internationalization/icudt64l/unit/en_DM.res 2024-12-14T13:12:17.445Z +Engine/Content/Internationalization/icudt64l/unit/en_ER.res 2024-12-14T13:12:17.446Z +Engine/Content/Internationalization/icudt64l/unit/en_FI.res 2024-12-14T12:45:31.264Z +Engine/Content/Internationalization/icudt64l/unit/en_FJ.res 2024-12-14T13:12:17.446Z +Engine/Content/Internationalization/icudt64l/unit/en_FK.res 2024-12-14T13:12:17.446Z +Engine/Content/Internationalization/icudt64l/unit/en_FM.res 2024-12-14T13:12:17.447Z +Engine/Content/Internationalization/icudt64l/unit/en_GB.res 2024-12-14T12:45:31.265Z +Engine/Content/Internationalization/icudt64l/unit/en_GD.res 2024-12-14T13:12:17.447Z +Engine/Content/Internationalization/icudt64l/unit/en_GG.res 2024-12-14T13:12:17.448Z +Engine/Content/Internationalization/icudt64l/unit/en_GH.res 2024-12-14T13:12:17.448Z +Engine/Content/Internationalization/icudt64l/unit/en_GI.res 2024-12-14T13:12:17.448Z +Engine/Content/Internationalization/icudt64l/unit/en_GM.res 2024-12-14T13:12:17.449Z +Engine/Content/Internationalization/icudt64l/unit/en_GY.res 2024-12-14T13:12:17.449Z +Engine/Content/Internationalization/icudt64l/unit/en_HK.res 2024-12-14T13:12:17.449Z +Engine/Content/Internationalization/icudt64l/unit/en_IE.res 2024-12-14T13:12:17.450Z +Engine/Content/Internationalization/icudt64l/unit/en_IL.res 2024-12-14T13:12:17.450Z +Engine/Content/Internationalization/icudt64l/unit/en_IM.res 2024-12-14T13:12:17.450Z +Engine/Content/Internationalization/icudt64l/unit/en_IN.res 2024-12-14T12:45:31.266Z +Engine/Content/Internationalization/icudt64l/unit/en_IO.res 2024-12-14T13:12:17.451Z +Engine/Content/Internationalization/icudt64l/unit/en_JE.res 2024-12-14T13:12:17.451Z +Engine/Content/Internationalization/icudt64l/unit/en_JM.res 2024-12-14T13:12:17.452Z +Engine/Content/Internationalization/icudt64l/unit/en_KE.res 2024-12-14T13:12:17.452Z +Engine/Content/Internationalization/icudt64l/unit/en_KI.res 2024-12-14T13:12:17.452Z +Engine/Content/Internationalization/icudt64l/unit/en_KN.res 2024-12-14T13:12:17.453Z +Engine/Content/Internationalization/icudt64l/unit/en_KY.res 2024-12-14T12:45:31.264Z +Engine/Content/Internationalization/icudt64l/unit/en_LC.res 2024-12-14T13:12:17.453Z +Engine/Content/Internationalization/icudt64l/unit/en_LR.res 2024-12-14T13:12:17.454Z +Engine/Content/Internationalization/icudt64l/unit/en_LS.res 2024-12-14T13:12:17.454Z +Engine/Content/Internationalization/icudt64l/unit/en_MG.res 2024-12-14T13:12:17.454Z +Engine/Content/Internationalization/icudt64l/unit/en_MO.res 2024-12-14T13:12:17.455Z +Engine/Content/Internationalization/icudt64l/unit/en_MS.res 2024-12-14T13:12:17.455Z +Engine/Content/Internationalization/icudt64l/unit/en_MT.res 2024-12-14T13:12:17.455Z +Engine/Content/Internationalization/icudt64l/unit/en_MU.res 2024-12-14T13:12:17.456Z +Engine/Content/Internationalization/icudt64l/unit/en_MW.res 2024-12-14T12:45:31.264Z +Engine/Content/Internationalization/icudt64l/unit/en_MY.res 2024-12-14T13:12:17.456Z +Engine/Content/Internationalization/icudt64l/unit/en_NA.res 2024-12-14T13:12:17.457Z +Engine/Content/Internationalization/icudt64l/unit/en_NF.res 2024-12-14T13:12:17.457Z +Engine/Content/Internationalization/icudt64l/unit/en_NG.res 2024-12-14T12:45:31.266Z +Engine/Content/Internationalization/icudt64l/unit/en_NH.res 2024-12-14T12:45:31.274Z +Engine/Content/Internationalization/icudt64l/unit/en_NL.res 2024-12-14T13:12:17.458Z +Engine/Content/Internationalization/icudt64l/unit/en_NR.res 2024-12-14T13:12:17.458Z +Engine/Content/Internationalization/icudt64l/unit/en_NU.res 2024-12-14T13:12:17.458Z +Engine/Content/Internationalization/icudt64l/unit/en_NZ.res 2024-12-14T12:45:31.265Z +Engine/Content/Internationalization/icudt64l/unit/en_PG.res 2024-12-14T13:12:17.459Z +Engine/Content/Internationalization/icudt64l/unit/en_PH.res 2024-12-14T13:12:17.459Z +Engine/Content/Internationalization/icudt64l/unit/en_PK.res 2024-12-14T13:12:17.459Z +Engine/Content/Internationalization/icudt64l/unit/en_PN.res 2024-12-14T13:12:17.459Z +Engine/Content/Internationalization/icudt64l/unit/en_PW.res 2024-12-14T12:45:31.274Z +Engine/Content/Internationalization/icudt64l/unit/en_RH.res 2024-12-14T12:45:31.274Z +Engine/Content/Internationalization/icudt64l/unit/en_RW.res 2024-12-14T13:12:17.460Z +Engine/Content/Internationalization/icudt64l/unit/en_SB.res 2024-12-14T13:12:17.461Z +Engine/Content/Internationalization/icudt64l/unit/en_SC.res 2024-12-14T13:12:17.461Z +Engine/Content/Internationalization/icudt64l/unit/en_SD.res 2024-12-14T13:12:17.461Z +Engine/Content/Internationalization/icudt64l/unit/en_SE.res 2024-12-14T13:12:17.461Z +Engine/Content/Internationalization/icudt64l/unit/en_SG.res 2024-12-14T13:12:17.462Z +Engine/Content/Internationalization/icudt64l/unit/en_SH.res 2024-12-14T13:12:17.462Z +Engine/Content/Internationalization/icudt64l/unit/en_SI.res 2024-12-14T12:45:31.274Z +Engine/Content/Internationalization/icudt64l/unit/en_SL.res 2024-12-14T13:12:17.463Z +Engine/Content/Internationalization/icudt64l/unit/en_SS.res 2024-12-14T13:12:17.463Z +Engine/Content/Internationalization/icudt64l/unit/en_SX.res 2024-12-14T13:12:17.463Z +Engine/Content/Internationalization/icudt64l/unit/en_SZ.res 2024-12-14T13:12:17.464Z +Engine/Content/Internationalization/icudt64l/unit/en_TC.res 2024-12-14T13:12:17.465Z +Engine/Content/Internationalization/icudt64l/unit/en_TK.res 2024-12-14T13:12:17.465Z +Engine/Content/Internationalization/icudt64l/unit/en_TO.res 2024-12-14T13:12:17.465Z +Engine/Content/Internationalization/icudt64l/unit/en_TT.res 2024-12-14T13:12:17.466Z +Engine/Content/Internationalization/icudt64l/unit/en_TV.res 2024-12-14T13:12:17.466Z +Engine/Content/Internationalization/icudt64l/unit/en_TZ.res 2024-12-14T13:12:17.466Z +Engine/Content/Internationalization/icudt64l/unit/en_UG.res 2024-12-14T13:12:17.466Z +Engine/Content/Internationalization/icudt64l/unit/en_VC.res 2024-12-14T13:12:17.467Z +Engine/Content/Internationalization/icudt64l/unit/en_VG.res 2024-12-14T13:12:17.467Z +Engine/Content/Internationalization/icudt64l/unit/en_VU.res 2024-12-14T13:12:17.468Z +Engine/Content/Internationalization/icudt64l/unit/en_WS.res 2024-12-14T13:12:17.468Z +Engine/Content/Internationalization/icudt64l/unit/en_ZA.res 2024-12-14T13:12:17.469Z +Engine/Content/Internationalization/icudt64l/unit/en_ZM.res 2024-12-14T13:12:17.469Z +Engine/Content/Internationalization/icudt64l/unit/en_ZW.res 2024-12-14T12:45:31.266Z +Engine/Content/Internationalization/icudt64l/unit/pool.res 2024-12-14T12:45:31.275Z +Engine/Content/Internationalization/icudt64l/unit/root.res 2024-12-14T12:45:31.275Z +Engine/Content/Internationalization/icudt64l/zone/en.res 2024-12-14T12:45:31.275Z +Engine/Content/Internationalization/icudt64l/zone/en_001.res 2024-12-14T13:12:17.473Z +Engine/Content/Internationalization/icudt64l/zone/en_150.res 2024-12-14T12:45:31.276Z +Engine/Content/Internationalization/icudt64l/zone/en_AE.res 2024-12-14T12:45:31.276Z +Engine/Content/Internationalization/icudt64l/zone/en_AG.res 2024-12-14T13:12:17.474Z +Engine/Content/Internationalization/icudt64l/zone/en_AI.res 2024-12-14T13:12:17.474Z +Engine/Content/Internationalization/icudt64l/zone/en_AT.res 2024-12-14T13:12:17.474Z +Engine/Content/Internationalization/icudt64l/zone/en_AU.res 2024-12-14T12:45:31.276Z +Engine/Content/Internationalization/icudt64l/zone/en_BB.res 2024-12-14T13:12:17.475Z +Engine/Content/Internationalization/icudt64l/zone/en_BE.res 2024-12-14T12:45:31.276Z +Engine/Content/Internationalization/icudt64l/zone/en_BM.res 2024-12-14T13:12:17.476Z +Engine/Content/Internationalization/icudt64l/zone/en_BS.res 2024-12-14T13:12:17.476Z +Engine/Content/Internationalization/icudt64l/zone/en_BW.res 2024-12-14T13:12:17.476Z +Engine/Content/Internationalization/icudt64l/zone/en_BZ.res 2024-12-14T13:12:17.477Z +Engine/Content/Internationalization/icudt64l/zone/en_CA.res 2024-12-14T12:45:31.284Z +Engine/Content/Internationalization/icudt64l/zone/en_CC.res 2024-12-14T13:12:17.477Z +Engine/Content/Internationalization/icudt64l/zone/en_CH.res 2024-12-14T12:45:31.284Z +Engine/Content/Internationalization/icudt64l/zone/en_CK.res 2024-12-14T13:12:17.478Z +Engine/Content/Internationalization/icudt64l/zone/en_CM.res 2024-12-14T13:12:17.478Z +Engine/Content/Internationalization/icudt64l/zone/en_CX.res 2024-12-14T13:12:17.478Z +Engine/Content/Internationalization/icudt64l/zone/en_CY.res 2024-12-14T13:12:17.479Z +Engine/Content/Internationalization/icudt64l/zone/en_DE.res 2024-12-14T13:12:17.479Z +Engine/Content/Internationalization/icudt64l/zone/en_DG.res 2024-12-14T13:12:17.479Z +Engine/Content/Internationalization/icudt64l/zone/en_DK.res 2024-12-14T13:12:17.479Z +Engine/Content/Internationalization/icudt64l/zone/en_DM.res 2024-12-14T13:12:17.480Z +Engine/Content/Internationalization/icudt64l/zone/en_ER.res 2024-12-14T13:12:17.480Z +Engine/Content/Internationalization/icudt64l/zone/en_FI.res 2024-12-14T12:45:31.276Z +Engine/Content/Internationalization/icudt64l/zone/en_FJ.res 2024-12-14T13:12:17.480Z +Engine/Content/Internationalization/icudt64l/zone/en_FK.res 2024-12-14T13:12:17.481Z +Engine/Content/Internationalization/icudt64l/zone/en_FM.res 2024-12-14T13:12:17.481Z +Engine/Content/Internationalization/icudt64l/zone/en_GB.res 2024-12-14T12:45:31.284Z +Engine/Content/Internationalization/icudt64l/zone/en_GD.res 2024-12-14T13:12:17.481Z +Engine/Content/Internationalization/icudt64l/zone/en_GG.res 2024-12-14T13:12:17.482Z +Engine/Content/Internationalization/icudt64l/zone/en_GH.res 2024-12-14T13:12:17.482Z +Engine/Content/Internationalization/icudt64l/zone/en_GI.res 2024-12-14T13:12:17.482Z +Engine/Content/Internationalization/icudt64l/zone/en_GM.res 2024-12-14T13:12:17.482Z +Engine/Content/Internationalization/icudt64l/zone/en_GU.res 2024-12-14T12:45:31.284Z +Engine/Content/Internationalization/icudt64l/zone/en_GY.res 2024-12-14T12:45:31.284Z +Engine/Content/Internationalization/icudt64l/zone/en_HK.res 2024-12-14T12:45:31.285Z +Engine/Content/Internationalization/icudt64l/zone/en_IE.res 2024-12-14T12:45:31.285Z +Engine/Content/Internationalization/icudt64l/zone/en_IL.res 2024-12-14T13:12:17.484Z +Engine/Content/Internationalization/icudt64l/zone/en_IM.res 2024-12-14T13:12:17.484Z +Engine/Content/Internationalization/icudt64l/zone/en_IN.res 2024-12-14T12:45:31.285Z +Engine/Content/Internationalization/icudt64l/zone/en_IO.res 2024-12-14T13:12:17.485Z +Engine/Content/Internationalization/icudt64l/zone/en_JE.res 2024-12-14T13:12:17.485Z +Engine/Content/Internationalization/icudt64l/zone/en_JM.res 2024-12-14T13:12:17.485Z +Engine/Content/Internationalization/icudt64l/zone/en_KE.res 2024-12-14T13:12:17.486Z +Engine/Content/Internationalization/icudt64l/zone/en_KI.res 2024-12-14T13:12:17.486Z +Engine/Content/Internationalization/icudt64l/zone/en_KN.res 2024-12-14T13:12:17.486Z +Engine/Content/Internationalization/icudt64l/zone/en_KY.res 2024-12-14T13:12:17.487Z +Engine/Content/Internationalization/icudt64l/zone/en_LC.res 2024-12-14T13:12:17.487Z +Engine/Content/Internationalization/icudt64l/zone/en_LR.res 2024-12-14T13:12:17.487Z +Engine/Content/Internationalization/icudt64l/zone/en_LS.res 2024-12-14T13:12:17.488Z +Engine/Content/Internationalization/icudt64l/zone/en_MG.res 2024-12-14T13:12:17.488Z +Engine/Content/Internationalization/icudt64l/zone/en_MH.res 2024-12-14T13:12:17.488Z +Engine/Content/Internationalization/icudt64l/zone/en_MO.res 2024-12-14T12:45:31.285Z +Engine/Content/Internationalization/icudt64l/zone/en_MP.res 2024-12-14T12:45:31.275Z +Engine/Content/Internationalization/icudt64l/zone/en_MS.res 2024-12-14T13:12:17.489Z +Engine/Content/Internationalization/icudt64l/zone/en_MT.res 2024-12-14T12:45:31.276Z +Engine/Content/Internationalization/icudt64l/zone/en_MU.res 2024-12-14T13:12:17.490Z +Engine/Content/Internationalization/icudt64l/zone/en_MW.res 2024-12-14T12:45:31.283Z +Engine/Content/Internationalization/icudt64l/zone/en_MY.res 2024-12-14T12:45:31.285Z +Engine/Content/Internationalization/icudt64l/zone/en_NA.res 2024-12-14T13:12:17.491Z +Engine/Content/Internationalization/icudt64l/zone/en_NF.res 2024-12-14T13:12:17.491Z +Engine/Content/Internationalization/icudt64l/zone/en_NG.res 2024-12-14T12:45:31.293Z +Engine/Content/Internationalization/icudt64l/zone/en_NH.res 2024-12-14T12:45:31.293Z +Engine/Content/Internationalization/icudt64l/zone/en_NL.res 2024-12-14T13:12:17.492Z +Engine/Content/Internationalization/icudt64l/zone/en_NR.res 2024-12-14T13:12:17.492Z +Engine/Content/Internationalization/icudt64l/zone/en_NU.res 2024-12-14T13:12:17.492Z +Engine/Content/Internationalization/icudt64l/zone/en_NZ.res 2024-12-14T12:45:31.294Z +Engine/Content/Internationalization/icudt64l/zone/en_PG.res 2024-12-14T13:12:17.493Z +Engine/Content/Internationalization/icudt64l/zone/en_PH.res 2024-12-14T13:12:17.493Z +Engine/Content/Internationalization/icudt64l/zone/en_PK.res 2024-12-14T13:12:17.494Z +Engine/Content/Internationalization/icudt64l/zone/en_PN.res 2024-12-14T13:12:17.494Z +Engine/Content/Internationalization/icudt64l/zone/en_PW.res 2024-12-14T13:12:17.494Z +Engine/Content/Internationalization/icudt64l/zone/en_RH.res 2024-12-14T12:45:31.294Z +Engine/Content/Internationalization/icudt64l/zone/en_RW.res 2024-12-14T13:12:17.495Z +Engine/Content/Internationalization/icudt64l/zone/en_SB.res 2024-12-14T13:12:17.495Z +Engine/Content/Internationalization/icudt64l/zone/en_SC.res 2024-12-14T13:12:17.496Z +Engine/Content/Internationalization/icudt64l/zone/en_SD.res 2024-12-14T13:12:17.496Z +Engine/Content/Internationalization/icudt64l/zone/en_SE.res 2024-12-14T13:12:17.496Z +Engine/Content/Internationalization/icudt64l/zone/en_SG.res 2024-12-14T12:45:31.294Z +Engine/Content/Internationalization/icudt64l/zone/en_SH.res 2024-12-14T13:12:17.497Z +Engine/Content/Internationalization/icudt64l/zone/en_SI.res 2024-12-14T12:45:31.293Z +Engine/Content/Internationalization/icudt64l/zone/en_SL.res 2024-12-14T13:12:17.497Z +Engine/Content/Internationalization/icudt64l/zone/en_SS.res 2024-12-14T13:12:17.497Z +Engine/Content/Internationalization/icudt64l/zone/en_SX.res 2024-12-14T13:12:17.498Z +Engine/Content/Internationalization/icudt64l/zone/en_SZ.res 2024-12-14T13:12:17.498Z +Engine/Content/Internationalization/icudt64l/zone/en_TC.res 2024-12-14T13:12:17.498Z +Engine/Content/Internationalization/icudt64l/zone/en_TK.res 2024-12-14T13:12:17.498Z +Engine/Content/Internationalization/icudt64l/zone/en_TO.res 2024-12-14T13:12:17.499Z +Engine/Content/Internationalization/icudt64l/zone/en_TT.res 2024-12-14T13:12:17.499Z +Engine/Content/Internationalization/icudt64l/zone/en_TV.res 2024-12-14T13:12:17.499Z +Engine/Content/Internationalization/icudt64l/zone/en_TZ.res 2024-12-14T13:12:17.500Z +Engine/Content/Internationalization/icudt64l/zone/en_UG.res 2024-12-14T13:12:17.500Z +Engine/Content/Internationalization/icudt64l/zone/en_VC.res 2024-12-14T13:12:17.500Z +Engine/Content/Internationalization/icudt64l/zone/en_VG.res 2024-12-14T13:12:17.501Z +Engine/Content/Internationalization/icudt64l/zone/en_VU.res 2024-12-14T13:12:17.501Z +Engine/Content/Internationalization/icudt64l/zone/en_WS.res 2024-12-14T12:45:31.286Z +Engine/Content/Internationalization/icudt64l/zone/en_ZA.res 2024-12-14T13:12:17.502Z +Engine/Content/Internationalization/icudt64l/zone/en_ZM.res 2024-12-14T13:12:17.502Z +Engine/Content/Internationalization/icudt64l/zone/en_ZW.res 2024-12-14T12:45:31.285Z +Engine/Content/Internationalization/icudt64l/zone/pool.res 2024-12-14T12:45:31.294Z +Engine/Content/Internationalization/icudt64l/zone/root.res 2024-12-14T12:45:31.294Z +Engine/Config/Base.ini 2024-12-14T12:44:52.632Z +Engine/Config/BaseCompat.ini 2024-12-14T12:44:52.632Z +Engine/Config/BaseDeviceProfiles.ini 2025-02-15T18:06:44.297Z +Engine/Config/BaseEngine.ini 2024-12-14T12:44:52.634Z +Engine/Config/BaseGame.ini 2024-12-14T12:44:52.634Z +Engine/Config/BaseGameUserSettings.ini 2024-12-14T12:44:52.635Z +Engine/Config/BaseHardware.ini 2024-12-14T12:44:52.635Z +Engine/Config/BaseInput.ini 2024-12-14T12:44:52.635Z +Engine/Config/BaseInstallBundle.ini 2024-12-14T12:44:52.635Z +Engine/Config/BaseRuntimeOptions.ini 2024-12-14T12:44:52.636Z +Engine/Config/BaseScalability.ini 2024-12-14T12:44:52.636Z +Engine/Config/ConfigRedirects.ini 2024-12-14T12:44:52.636Z +Engine/Config/ConsoleVariables.ini 2024-12-14T12:44:52.637Z +Engine/Config/PluginBase.ini 2024-12-14T12:44:52.644Z +Engine/Config/Layouts/DefaultLayout.ini 2024-12-14T12:44:52.638Z +Engine/Config/Layouts/UE4ClassicLayout.ini 2024-12-14T12:44:52.638Z +Engine/Config/VulkanPC/DataDrivenPlatformInfo.ini 2024-12-14T12:44:52.645Z +Engine/Config/Windows/BaseWindowsEngine.ini 2024-12-14T12:44:52.646Z +Engine/Config/Windows/BaseWindowsInput.ini 2024-12-14T12:44:52.646Z +Engine/Config/Windows/DataDrivenPlatformInfo.ini 2024-12-14T12:44:52.646Z +Engine/Config/Windows/WindowsEngine.ini 2024-12-14T12:44:52.647Z +Engine/Config/Windows/WindowsGame.ini 2024-12-14T12:44:52.638Z +Engine/Config/Windows/WindowsInput.ini 2024-12-14T12:44:52.647Z +Engine/Content/Localization/Engine/Engine.locmeta 2024-12-14T12:45:37.223Z +Engine/Content/Localization/Engine/en/Engine.locres 2025-02-15T18:06:50.083Z +vr_great_ryc/Config/DefaultEngine.ini 2025-03-18T02:25:39.117Z +vr_great_ryc/Config/DefaultGame.ini 2025-03-18T02:18:42.797Z +vr_great_ryc/Config/DefaultInput.ini 2025-03-18T02:18:42.778Z +vr_great_ryc/Plugins/SocketIOClient/Config/FilterPlugin.ini 2019-02-13T19:23:26.000Z +Engine/Plugins/2D/Paper2D/Config/BasePaper2D.ini 2024-12-14T12:51:46.932Z +Engine/Plugins/Animation/ACLPlugin/Config/FilterPlugin.ini 2024-12-14T12:51:47.824Z +Engine/Plugins/Animation/ControlRig/Config/BaseControlRig.ini 2024-12-14T12:51:49.355Z +Engine/Plugins/Animation/DeformerGraph/Config/BaseDeformerGraph.ini 2024-12-14T12:51:54.219Z +Engine/Plugins/Animation/IKRig/Config/BaseIKRig.ini 2024-12-14T12:51:55.673Z +Engine/Plugins/Animation/LiveLink/Config/BaseLiveLink.ini 2024-12-14T12:51:55.945Z +Engine/Plugins/Cameras/GameplayCameras/Config/BaseGameplayCameras.ini 2024-12-14T12:52:02.173Z +Engine/Plugins/ChaosVD/Config/DefaultChaosVD.ini 2024-12-14T12:52:04.794Z +Engine/Plugins/ChaosVD/Config/Engine.ini 2024-12-14T12:52:04.795Z +Engine/Plugins/Developer/Concert/ConcertSync/ConcertSyncCore/Config/BaseConcertSyncCore.ini 2024-12-14T12:52:10.057Z +Engine/Plugins/Editor/EditorScriptingUtilities/Config/BaseEditorScriptingUtilities.ini 2024-12-14T12:52:13.521Z +Engine/Plugins/EnhancedInput/Config/BaseEnhancedInput.ini 2024-12-14T12:52:30.204Z +Engine/Plugins/EnhancedInput/Config/Input.ini 2024-12-14T12:52:30.204Z +Engine/Plugins/Enterprise/DatasmithContent/Config/BaseDatasmithContent.ini 2024-12-14T12:52:44.868Z +Engine/Plugins/Enterprise/GLTFExporter/Config/BaseGLTFExporter.ini 2024-12-14T13:12:28.483Z +Engine/Plugins/Enterprise/GLTFExporter/Config/DefaultGLTFExporter.ini 2024-12-14T12:52:58.933Z +Engine/Plugins/Enterprise/GLTFExporter/Config/FilterPlugin.ini 2024-12-14T12:52:58.933Z +Engine/Plugins/Enterprise/VariantManagerContent/Config/BaseVariantManagerContent.ini 2024-12-14T12:53:03.841Z +Engine/Plugins/Experimental/Compositing/HoldoutComposite/Config/BaseHoldoutComposite.ini 2024-12-14T12:55:08.467Z +Engine/Plugins/Experimental/FullBodyIK/Config/BaseFullBodyIK.ini 2024-12-14T12:55:11.107Z +Engine/Plugins/Experimental/MetaHuman/MetaHumanSDK/Config/BaseMetaHumanSDK.ini 2025-02-15T18:10:38.220Z +Engine/Plugins/Experimental/ToolPresets/Config/BaseToolPresets.ini 2024-12-14T12:57:18.421Z +Engine/Plugins/FX/Niagara/Config/BaseNiagara.ini 2024-12-14T12:58:25.530Z +Engine/Plugins/Fab/Config/BaseFab.ini 2025-02-15T18:12:23.637Z +Engine/Plugins/Interchange/Assets/Config/BaseInterchangeAssets.ini 2024-12-14T12:58:47.655Z +Engine/Plugins/Interchange/Runtime/Config/BaseInterchange.ini 2024-12-14T12:58:49.758Z +Engine/Plugins/NNE/NNEDenoiser/Config/Game.ini 2024-12-14T12:59:17.572Z +Engine/Plugins/Online/OnlineSubsystemUtils/Config/Localization/OnlineSubsystemUtils.ini 2024-12-14T12:59:28.664Z +Engine/Plugins/Online/OnlineSubsystem/Config/Localization/OnlineSubsystem.ini 2024-12-14T12:59:26.771Z +Engine/Plugins/Runtime/HairStrands/Config/BaseHairStrands.ini 2024-12-14T13:00:18.633Z +Engine/Plugins/Runtime/InputDebugging/Config/Input.ini 2024-12-14T13:00:58.285Z +Engine/Plugins/Runtime/Metasound/Config/BaseMetasound.ini 2024-12-14T13:01:01.879Z +Engine/Plugins/Runtime/Metasound/Config/DefaultMetaSound.ini 2024-12-14T13:12:52.697Z +Engine/Plugins/Runtime/OpenXR/Config/Engine.ini 2024-12-14T13:01:54.629Z +Engine/Plugins/Runtime/RigVM/Config/BaseRigVM.ini 2024-12-14T13:02:01.681Z +Engine/Plugins/Runtime/RigVM/Config/Editor.ini 2024-12-14T13:02:01.681Z +Engine/Plugins/Runtime/StateTree/Config/BaseStateTree.ini 2024-12-14T13:02:03.217Z +Engine/Plugins/Runtime/Synthesis/Config/BaseSynthesis.ini 2024-12-14T13:02:03.898Z +Engine/Plugins/Runtime/USDCore/Config/BaseUSDCore.ini 2024-12-14T13:02:04.226Z +Engine/Plugins/Runtime/Windows/XInputDevice/Config/Input.ini 2024-12-14T13:02:26.594Z +Engine/Plugins/TraceUtilities/Config/BaseTraceUtilities.ini 2024-12-14T13:02:27.878Z +Engine/Plugins/VirtualProduction/Takes/Config/BaseTakes.ini 2024-12-14T13:02:48.386Z +Engine/Plugins/Online/OnlineSubsystemUtils/Content/Localization/OnlineSubsystemUtils/OnlineSubsystemUtils.locmeta 2024-12-14T12:59:28.671Z +Engine/Plugins/Online/OnlineSubsystemUtils/Content/Localization/OnlineSubsystemUtils/en/OnlineSubsystemUtils.locres 2024-12-14T12:59:28.666Z +Engine/Plugins/Online/OnlineSubsystem/Content/Localization/OnlineSubsystem/OnlineSubsystem.locmeta 2024-12-14T12:59:26.779Z +Engine/Plugins/Online/OnlineSubsystem/Content/Localization/OnlineSubsystem/en/OnlineSubsystem.locres 2024-12-14T12:59:26.773Z +Engine/GlobalShaderCache-PCD3D_SM5.bin 2025-03-20T10:29:02.834Z +Engine/GlobalShaderCache-PCD3D_SM6.bin 2025-03-20T10:29:01.745Z +vr_great_ryc/AssetRegistry.bin 2025-03-20T10:45:18.090Z +vr_great_ryc/Content/bp_save_var.uasset 2025-03-20T10:29:10.476Z +vr_great_ryc/Content/bp_save_var.uexp 2025-03-20T10:29:10.476Z +vr_great_ryc/Content/m_landscape2.uasset 2025-03-20T10:29:33.241Z +vr_great_ryc/Content/m_landscape2.uexp 2025-03-20T10:29:33.242Z +vr_great_ryc/Content/ShaderArchive-Global-PCD3D_SM5-PCD3D_SM5.ushaderbytecode 2025-03-20T10:29:03.024Z +vr_great_ryc/Content/ShaderArchive-Global-PCD3D_SM6-PCD3D_SM6.ushaderbytecode 2025-03-20T10:29:02.934Z +vr_great_ryc/Content/ShaderArchive-vr_great_ryc-PCD3D_SM5-PCD3D_SM5.ushaderbytecode 2025-03-20T10:45:18.359Z +vr_great_ryc/Content/ShaderArchive-vr_great_ryc-PCD3D_SM6-PCD3D_SM6.ushaderbytecode 2025-03-20T10:45:18.249Z +vr_great_ryc/Content/vr_very_big_map.ubulk 2025-03-20T10:29:13.833Z +vr_great_ryc/Content/vr_very_big_map.uexp 2025-03-20T10:29:13.848Z +vr_great_ryc/Content/vr_very_big_map.umap 2025-03-20T10:29:13.835Z +Engine/Content/Animation/DefaultAnimCurveCompressionSettings.uasset 2025-03-20T10:29:10.478Z +Engine/Content/Animation/DefaultAnimCurveCompressionSettings.uexp 2025-03-20T10:29:10.479Z +Engine/Content/Animation/DefaultRecorderBoneCompression.uasset 2025-03-20T10:29:03.524Z +Engine/Content/Animation/DefaultRecorderBoneCompression.uexp 2025-03-20T10:29:03.527Z +Engine/Content/Animation/DefaultVariableFrameStrippingSettings.uasset 2025-03-20T10:29:03.524Z +Engine/Content/Animation/DefaultVariableFrameStrippingSettings.uexp 2025-03-20T10:29:03.527Z +Engine/Content/BasicShapes/BasicShapeMaterial.uasset 2025-03-20T10:29:10.434Z +Engine/Content/BasicShapes/BasicShapeMaterial.uexp 2025-03-20T10:29:10.438Z +Engine/Content/BasicShapes/Cone.uasset 2025-03-20T10:29:10.450Z +Engine/Content/BasicShapes/Cone.ubulk 2025-03-20T10:29:10.449Z +Engine/Content/BasicShapes/Cone.uexp 2025-03-20T10:29:10.452Z +Engine/Content/BasicShapes/Cube.uasset 2025-03-20T10:29:10.454Z +Engine/Content/BasicShapes/Cube.ubulk 2025-03-20T10:29:10.453Z +Engine/Content/BasicShapes/Cube.uexp 2025-03-20T10:29:10.456Z +Engine/Content/BasicShapes/Cylinder.uasset 2025-03-20T10:29:10.450Z +Engine/Content/BasicShapes/Cylinder.ubulk 2025-03-20T10:29:10.449Z +Engine/Content/BasicShapes/Cylinder.uexp 2025-03-20T10:29:10.453Z +Engine/Content/BasicShapes/Plane.uasset 2025-03-20T10:29:10.453Z +Engine/Content/BasicShapes/Plane.ubulk 2025-03-20T10:29:10.452Z +Engine/Content/BasicShapes/Plane.uexp 2025-03-20T10:29:10.455Z +Engine/Content/BasicShapes/Sphere.uasset 2025-03-20T10:29:10.454Z +Engine/Content/BasicShapes/Sphere.ubulk 2025-03-20T10:29:10.453Z +Engine/Content/BasicShapes/Sphere.uexp 2025-03-20T10:29:10.455Z +Engine/Content/EditorBlueprintResources/StandardMacros.uasset 2025-03-20T10:29:29.060Z +Engine/Content/EditorBlueprintResources/StandardMacros.uexp 2025-03-20T10:29:29.060Z +Engine/Content/EditorLandscapeResources/DefaultAlphaTexture.uasset 2025-03-20T10:29:03.146Z +Engine/Content/EditorLandscapeResources/DefaultAlphaTexture.uexp 2025-03-20T10:29:03.147Z +Engine/Content/EditorLandscapeResources/SplineEditorMesh.uasset 2025-03-20T10:29:04.183Z +Engine/Content/EditorLandscapeResources/SplineEditorMesh.ubulk 2025-03-20T10:29:04.181Z +Engine/Content/EditorLandscapeResources/SplineEditorMesh.uexp 2025-03-20T10:29:04.184Z +Engine/Content/EditorLandscapeResources/SplineEditorMeshMat.uasset 2025-03-20T10:29:13.501Z +Engine/Content/EditorLandscapeResources/SplineEditorMeshMat.uexp 2025-03-20T10:29:13.502Z +Engine/Content/EditorMaterials/PhAT_NoCollisionMaterial.uasset 2025-03-20T10:29:03.494Z +Engine/Content/EditorMaterials/PhAT_NoCollisionMaterial.uexp 2025-03-20T10:29:03.495Z +Engine/Content/EditorMaterials/PhAT_UnselectedMaterial.uasset 2025-03-20T10:29:04.192Z +Engine/Content/EditorMaterials/PhAT_UnselectedMaterial.uexp 2025-03-20T10:29:04.193Z +Engine/Content/EditorMaterials/PreviewShadowIndicator.uasset 2025-03-20T10:29:13.512Z +Engine/Content/EditorMaterials/PreviewShadowIndicator.ubulk 2025-03-20T10:29:13.511Z +Engine/Content/EditorMaterials/PreviewShadowIndicator.uexp 2025-03-20T10:29:13.513Z +Engine/Content/EditorMaterials/PreviewShadowIndicatorMaterial.uasset 2025-03-20T10:29:16.324Z +Engine/Content/EditorMaterials/PreviewShadowIndicatorMaterial.uexp 2025-03-20T10:29:16.325Z +Engine/Content/EditorResources/BSPVertex.uasset 2025-03-20T10:29:04.153Z +Engine/Content/EditorResources/BSPVertex.uexp 2025-03-20T10:29:04.154Z +Engine/Content/EditorResources/EmptyActor.uasset 2025-03-20T10:29:29.696Z +Engine/Content/EditorResources/EmptyActor.uexp 2025-03-20T10:29:29.713Z +Engine/Content/EditorResources/S_Actor.uasset 2025-03-20T10:29:14.122Z +Engine/Content/EditorResources/S_Actor.ubulk 2025-03-20T10:29:14.122Z +Engine/Content/EditorResources/S_Actor.uexp 2025-03-20T10:29:14.123Z +Engine/Content/EditorResources/S_BoxReflectionCapture.uasset 2025-03-20T10:29:10.393Z +Engine/Content/EditorResources/S_BoxReflectionCapture.uexp 2025-03-20T10:29:10.396Z +Engine/Content/EditorResources/S_Solver.uasset 2025-03-20T10:29:10.378Z +Engine/Content/EditorResources/S_Solver.ubulk 2025-03-20T10:29:10.377Z +Engine/Content/EditorResources/S_Solver.uexp 2025-03-20T10:29:10.379Z +Engine/Content/EditorResources/S_Terrain.uasset 2025-03-20T10:29:03.146Z +Engine/Content/EditorResources/S_Terrain.ubulk 2025-03-20T10:29:03.146Z +Engine/Content/EditorResources/S_Terrain.uexp 2025-03-20T10:29:03.147Z +Engine/Content/EditorResources/S_Trigger.uasset 2025-03-20T10:29:10.399Z +Engine/Content/EditorResources/S_Trigger.ubulk 2025-03-20T10:29:10.398Z +Engine/Content/EditorResources/S_Trigger.uexp 2025-03-20T10:29:10.400Z +Engine/Content/EditorResources/S_TriggerBox.uasset 2025-03-20T10:29:10.399Z +Engine/Content/EditorResources/S_TriggerBox.uexp 2025-03-20T10:29:10.403Z +Engine/Content/EditorResources/S_TriggerCapsule.uasset 2025-03-20T10:29:10.394Z +Engine/Content/EditorResources/S_TriggerCapsule.uexp 2025-03-20T10:29:10.399Z +Engine/Content/EditorResources/S_TriggerSphere.uasset 2025-03-20T10:29:10.387Z +Engine/Content/EditorResources/S_TriggerSphere.uexp 2025-03-20T10:29:10.391Z +Engine/Content/EngineDamageTypes/DmgTypeBP_Environmental.uasset 2025-03-20T10:29:04.170Z +Engine/Content/EngineDamageTypes/DmgTypeBP_Environmental.uexp 2025-03-20T10:29:04.170Z +Engine/Content/EngineDebugMaterials/DebugEditorMaterial.uasset 2025-03-20T10:29:10.434Z +Engine/Content/EngineDebugMaterials/DebugEditorMaterial.uexp 2025-03-20T10:29:10.435Z +Engine/Content/EngineDebugMaterials/DebugMeshMaterial.uasset 2025-03-20T10:29:04.168Z +Engine/Content/EngineDebugMaterials/DebugMeshMaterial.uexp 2025-03-20T10:29:04.168Z +Engine/Content/EngineDebugMaterials/M_SimpleUnlitTranslucent.uasset 2025-03-20T10:29:13.501Z +Engine/Content/EngineDebugMaterials/M_SimpleUnlitTranslucent.uexp 2025-03-20T10:29:13.502Z +Engine/Content/EngineDebugMaterials/M_VolumeRenderSphereTracePP.uasset 2025-03-20T10:29:10.472Z +Engine/Content/EngineDebugMaterials/M_VolumeRenderSphereTracePP.uexp 2025-03-20T10:29:10.473Z +Engine/Content/EngineDebugMaterials/VolumeToRender.uasset 2025-03-20T10:29:10.357Z +Engine/Content/EngineDebugMaterials/VolumeToRender.uexp 2025-03-20T10:29:10.358Z +Engine/Content/EngineFonts/Roboto.uasset 2025-03-20T10:29:04.182Z +Engine/Content/EngineFonts/Roboto.uexp 2025-03-20T10:29:04.183Z +Engine/Content/EngineFonts/RobotoDistanceField.uasset 2025-03-20T10:29:10.404Z +Engine/Content/EngineFonts/RobotoDistanceField.uexp 2025-03-20T10:29:10.404Z +Engine/Content/EngineMaterials/BaseFlattenDiffuseMap.uasset 2025-03-20T10:29:03.511Z +Engine/Content/EngineMaterials/BaseFlattenDiffuseMap.uexp 2025-03-20T10:29:03.515Z +Engine/Content/EngineMaterials/BaseFlattenDiffuseMap_VT.uasset 2025-03-20T10:29:03.509Z +Engine/Content/EngineMaterials/BaseFlattenDiffuseMap_VT.uexp 2025-03-20T10:29:03.510Z +Engine/Content/EngineMaterials/BaseFlattenEmissiveMap.uasset 2025-03-20T10:29:03.514Z +Engine/Content/EngineMaterials/BaseFlattenEmissiveMap.uexp 2025-03-20T10:29:03.516Z +Engine/Content/EngineMaterials/BaseFlattenEmissiveMap_VT.uasset 2025-03-20T10:29:03.509Z +Engine/Content/EngineMaterials/BaseFlattenEmissiveMap_VT.uexp 2025-03-20T10:29:03.513Z +Engine/Content/EngineMaterials/BaseFlattenGrayscaleMap.uasset 2025-03-20T10:29:03.493Z +Engine/Content/EngineMaterials/BaseFlattenGrayscaleMap.uexp 2025-03-20T10:29:03.493Z +Engine/Content/EngineMaterials/BaseFlattenGrayscaleMap_VT.uasset 2025-03-20T10:29:03.507Z +Engine/Content/EngineMaterials/BaseFlattenGrayscaleMap_VT.uexp 2025-03-20T10:29:03.509Z +Engine/Content/EngineMaterials/BaseFlattenLinearColor.uasset 2025-03-20T10:29:03.511Z +Engine/Content/EngineMaterials/BaseFlattenLinearColor.uexp 2025-03-20T10:29:03.515Z +Engine/Content/EngineMaterials/BaseFlattenLinearColor_VT.uasset 2025-03-20T10:29:03.508Z +Engine/Content/EngineMaterials/BaseFlattenLinearColor_VT.uexp 2025-03-20T10:29:03.512Z +Engine/Content/EngineMaterials/BaseFlattenNormalMap.uasset 2025-03-20T10:29:04.147Z +Engine/Content/EngineMaterials/BaseFlattenNormalMap.uexp 2025-03-20T10:29:04.149Z +Engine/Content/EngineMaterials/BaseFlattenNormalMap_VT.uasset 2025-03-20T10:29:03.508Z +Engine/Content/EngineMaterials/BaseFlattenNormalMap_VT.uexp 2025-03-20T10:29:03.510Z +Engine/Content/EngineMaterials/Black_1x1_EXR_Texture_VT.uasset 2025-03-20T10:29:03.508Z +Engine/Content/EngineMaterials/Black_1x1_EXR_Texture_VT.uexp 2025-03-20T10:29:03.516Z +Engine/Content/EngineMaterials/BlendFunc_DefBase.uasset 2025-03-20T10:29:13.504Z +Engine/Content/EngineMaterials/BlendFunc_DefBase.uexp 2025-03-20T10:29:13.515Z +Engine/Content/EngineMaterials/BlendFunc_DefBlend.uasset 2025-03-20T10:29:13.505Z +Engine/Content/EngineMaterials/BlendFunc_DefBlend.uexp 2025-03-20T10:29:13.514Z +Engine/Content/EngineMaterials/DefaultBloomKernel.uasset 2025-03-20T10:29:04.154Z +Engine/Content/EngineMaterials/DefaultBloomKernel.uexp 2025-03-20T10:29:04.161Z +Engine/Content/EngineMaterials/DefaultBokeh.uasset 2025-03-20T10:29:03.502Z +Engine/Content/EngineMaterials/DefaultBokeh.uexp 2025-03-20T10:29:03.508Z +Engine/Content/EngineMaterials/DefaultCalibrationColor.uasset 2025-03-20T10:29:13.505Z +Engine/Content/EngineMaterials/DefaultCalibrationColor.uexp 2025-03-20T10:29:13.521Z +Engine/Content/EngineMaterials/DefaultCalibrationGrayscale.uasset 2025-03-20T10:29:13.515Z +Engine/Content/EngineMaterials/DefaultCalibrationGrayscale.uexp 2025-03-20T10:29:13.548Z +Engine/Content/EngineMaterials/DefaultDeferredDecalMaterial.uasset 2025-03-20T10:29:10.475Z +Engine/Content/EngineMaterials/DefaultDeferredDecalMaterial.uexp 2025-03-20T10:29:10.477Z +Engine/Content/EngineMaterials/DefaultDestructiblePhysicalMaterial.uasset 2025-03-20T10:29:03.328Z +Engine/Content/EngineMaterials/DefaultDestructiblePhysicalMaterial.uexp 2025-03-20T10:29:03.333Z +Engine/Content/EngineMaterials/DefaultDiffuse.uasset 2025-03-20T10:29:14.141Z +Engine/Content/EngineMaterials/DefaultDiffuse.ubulk 2025-03-20T10:29:14.138Z +Engine/Content/EngineMaterials/DefaultDiffuse.uexp 2025-03-20T10:29:14.142Z +Engine/Content/EngineMaterials/DefaultDiffuse_TC_Masks.uasset 2025-03-20T10:29:29.695Z +Engine/Content/EngineMaterials/DefaultDiffuse_TC_Masks.ubulk 2025-03-20T10:29:29.692Z +Engine/Content/EngineMaterials/DefaultDiffuse_TC_Masks.uexp 2025-03-20T10:29:29.714Z +Engine/Content/EngineMaterials/DefaultLightFunctionMaterial.uasset 2025-03-20T10:29:14.105Z +Engine/Content/EngineMaterials/DefaultLightFunctionMaterial.uexp 2025-03-20T10:29:14.106Z +Engine/Content/EngineMaterials/DefaultMaterial.uasset 2025-03-20T10:29:14.122Z +Engine/Content/EngineMaterials/DefaultMaterial.uexp 2025-03-20T10:29:14.126Z +Engine/Content/EngineMaterials/DefaultNormal.uasset 2025-03-20T10:29:29.713Z +Engine/Content/EngineMaterials/DefaultNormal.ubulk 2025-03-20T10:29:29.693Z +Engine/Content/EngineMaterials/DefaultNormal.uexp 2025-03-20T10:29:29.716Z +Engine/Content/EngineMaterials/DefaultPhysicalMaterial.uasset 2025-03-20T10:29:03.333Z +Engine/Content/EngineMaterials/DefaultPhysicalMaterial.uexp 2025-03-20T10:29:03.334Z +Engine/Content/EngineMaterials/DefaultPostProcessMaterial.uasset 2025-03-20T10:29:10.475Z +Engine/Content/EngineMaterials/DefaultPostProcessMaterial.uexp 2025-03-20T10:29:10.476Z +Engine/Content/EngineMaterials/DefaultTextMaterialOpaque.uasset 2025-03-20T10:29:10.479Z +Engine/Content/EngineMaterials/DefaultTextMaterialOpaque.uexp 2025-03-20T10:29:10.481Z +Engine/Content/EngineMaterials/DefaultWhiteGrid.uasset 2025-03-20T10:29:04.151Z +Engine/Content/EngineMaterials/DefaultWhiteGrid.ubulk 2025-03-20T10:29:04.148Z +Engine/Content/EngineMaterials/DefaultWhiteGrid.uexp 2025-03-20T10:29:04.152Z +Engine/Content/EngineMaterials/DefaultWhiteGrid_Low.uasset 2025-03-20T10:29:03.511Z +Engine/Content/EngineMaterials/DefaultWhiteGrid_Low.uexp 2025-03-20T10:29:03.514Z +Engine/Content/EngineMaterials/EmissiveMeshMaterial.uasset 2025-03-20T10:29:14.121Z +Engine/Content/EngineMaterials/EmissiveMeshMaterial.uexp 2025-03-20T10:29:14.124Z +Engine/Content/EngineMaterials/FastBlueNoise_scalar_128x128x64.uasset 2025-03-20T10:29:03.496Z +Engine/Content/EngineMaterials/FastBlueNoise_scalar_128x128x64.uexp 2025-03-20T10:29:03.505Z +Engine/Content/EngineMaterials/FastBlueNoise_vec2_128x128x64.uasset 2025-03-20T10:29:03.496Z +Engine/Content/EngineMaterials/FastBlueNoise_vec2_128x128x64.uexp 2025-03-20T10:29:03.512Z +Engine/Content/EngineMaterials/FlattenMaterial.uasset 2025-03-20T10:29:10.474Z +Engine/Content/EngineMaterials/FlattenMaterial.uexp 2025-03-20T10:29:10.475Z +Engine/Content/EngineMaterials/FlattenMaterial_VT.uasset 2025-03-20T10:29:14.119Z +Engine/Content/EngineMaterials/FlattenMaterial_VT.uexp 2025-03-20T10:29:14.123Z +Engine/Content/EngineMaterials/FlattenMaterial_WS_Normal_VT.uasset 2025-03-20T10:29:14.115Z +Engine/Content/EngineMaterials/FlattenMaterial_WS_Normal_VT.uexp 2025-03-20T10:29:14.120Z +Engine/Content/EngineMaterials/GizmoMaterial.uasset 2025-03-20T10:29:10.363Z +Engine/Content/EngineMaterials/GizmoMaterial.uexp 2025-03-20T10:29:10.365Z +Engine/Content/EngineMaterials/Good64x64TilingNoiseHighFreq.uasset 2025-03-20T10:29:04.142Z +Engine/Content/EngineMaterials/Good64x64TilingNoiseHighFreq.uexp 2025-03-20T10:29:04.142Z +Engine/Content/EngineMaterials/HairColorMap.uasset 2025-03-20T10:29:10.371Z +Engine/Content/EngineMaterials/HairColorMap.uexp 2025-03-20T10:29:10.373Z +Engine/Content/EngineMaterials/HairDebugColor.uasset 2025-03-20T10:29:10.368Z +Engine/Content/EngineMaterials/HairDebugColor.uexp 2025-03-20T10:29:10.370Z +Engine/Content/EngineMaterials/InvalidLightmapSettings.uasset 2025-03-20T10:29:03.516Z +Engine/Content/EngineMaterials/InvalidLightmapSettings.ubulk 2025-03-20T10:29:03.512Z +Engine/Content/EngineMaterials/InvalidLightmapSettings.uexp 2025-03-20T10:29:03.517Z +Engine/Content/EngineMaterials/MiniFont.uasset 2025-03-20T10:29:03.501Z +Engine/Content/EngineMaterials/MiniFont.uexp 2025-03-20T10:29:03.509Z +Engine/Content/EngineMaterials/M_InvalidLightmapSettings.uasset 2025-03-20T10:29:14.122Z +Engine/Content/EngineMaterials/M_InvalidLightmapSettings.uexp 2025-03-20T10:29:14.126Z +Engine/Content/EngineMaterials/NaniteHiddenSectionMaterial.uasset 2025-03-20T10:29:10.363Z +Engine/Content/EngineMaterials/NaniteHiddenSectionMaterial.uexp 2025-03-20T10:29:10.365Z +Engine/Content/EngineMaterials/PhAT_JointLimitMaterial.uasset 2025-03-20T10:29:10.474Z +Engine/Content/EngineMaterials/PhAT_JointLimitMaterial.uexp 2025-03-20T10:29:10.475Z +Engine/Content/EngineMaterials/PPM_DefaultCalibrationColor.uasset 2025-03-20T10:29:16.325Z +Engine/Content/EngineMaterials/PPM_DefaultCalibrationColor.uexp 2025-03-20T10:29:16.327Z +Engine/Content/EngineMaterials/PPM_DefaultCalibrationGrayscale.uasset 2025-03-20T10:29:16.324Z +Engine/Content/EngineMaterials/PPM_DefaultCalibrationGrayscale.uexp 2025-03-20T10:29:16.325Z +Engine/Content/EngineMaterials/PreintegratedSkinBRDF.uasset 2025-03-20T10:29:04.143Z +Engine/Content/EngineMaterials/PreintegratedSkinBRDF.uexp 2025-03-20T10:29:04.144Z +Engine/Content/EngineMaterials/RemoveSurfaceMaterial.uasset 2025-03-20T10:29:10.364Z +Engine/Content/EngineMaterials/RemoveSurfaceMaterial.uexp 2025-03-20T10:29:10.366Z +Engine/Content/EngineMaterials/T_Default_Material_Grid_M.uasset 2025-03-20T10:29:14.118Z +Engine/Content/EngineMaterials/T_Default_Material_Grid_M.ubulk 2025-03-20T10:29:14.109Z +Engine/Content/EngineMaterials/T_Default_Material_Grid_M.uexp 2025-03-20T10:29:14.121Z +Engine/Content/EngineMaterials/T_Default_Material_Grid_N.uasset 2025-03-20T10:29:14.109Z +Engine/Content/EngineMaterials/T_Default_Material_Grid_N.ubulk 2025-03-20T10:29:14.107Z +Engine/Content/EngineMaterials/T_Default_Material_Grid_N.uexp 2025-03-20T10:29:14.114Z +Engine/Content/EngineMaterials/T_Default_Normal.uasset 2025-03-20T10:29:29.716Z +Engine/Content/EngineMaterials/T_Default_Normal.ubulk 2025-03-20T10:29:29.715Z +Engine/Content/EngineMaterials/T_Default_Normal.uexp 2025-03-20T10:29:29.717Z +Engine/Content/EngineMaterials/WeightMapArrayPlaceholderTexture.uasset 2025-03-20T10:29:14.139Z +Engine/Content/EngineMaterials/WeightMapArrayPlaceholderTexture.uexp 2025-03-20T10:29:14.141Z +Engine/Content/EngineMaterials/WeightMapPlaceholderTexture.uasset 2025-03-20T10:29:03.507Z +Engine/Content/EngineMaterials/WeightMapPlaceholderTexture.uexp 2025-03-20T10:29:03.509Z +Engine/Content/EngineMaterials/Widget3DPassThrough.uasset 2025-03-20T10:29:10.471Z +Engine/Content/EngineMaterials/Widget3DPassThrough.uexp 2025-03-20T10:29:10.473Z +Engine/Content/EngineMaterials/Widget3DPassThrough_Masked.uasset 2025-03-20T10:29:17.086Z +Engine/Content/EngineMaterials/Widget3DPassThrough_Masked.uexp 2025-03-20T10:29:17.086Z +Engine/Content/EngineMaterials/Widget3DPassThrough_Masked_OneSided.uasset 2025-03-20T10:29:19.265Z +Engine/Content/EngineMaterials/Widget3DPassThrough_Masked_OneSided.uexp 2025-03-20T10:29:19.269Z +Engine/Content/EngineMaterials/Widget3DPassThrough_Opaque.uasset 2025-03-20T10:29:17.087Z +Engine/Content/EngineMaterials/Widget3DPassThrough_Opaque.uexp 2025-03-20T10:29:17.087Z +Engine/Content/EngineMaterials/Widget3DPassThrough_Opaque_OneSided.uasset 2025-03-20T10:29:19.258Z +Engine/Content/EngineMaterials/Widget3DPassThrough_Opaque_OneSided.uexp 2025-03-20T10:29:19.260Z +Engine/Content/EngineMaterials/Widget3DPassThrough_Translucent.uasset 2025-03-20T10:29:19.261Z +Engine/Content/EngineMaterials/Widget3DPassThrough_Translucent.uexp 2025-03-20T10:29:19.262Z +Engine/Content/EngineMaterials/Widget3DPassThrough_Translucent_OneSided.uasset 2025-03-20T10:29:10.466Z +Engine/Content/EngineMaterials/Widget3DPassThrough_Translucent_OneSided.uexp 2025-03-20T10:29:10.467Z +Engine/Content/EngineMaterials/WorldGridMaterial.uasset 2025-03-20T10:29:14.121Z +Engine/Content/EngineMaterials/WorldGridMaterial.uexp 2025-03-20T10:29:14.126Z +Engine/Content/EngineMeshes/Sphere.uasset 2025-03-20T10:29:04.166Z +Engine/Content/EngineMeshes/Sphere.ubulk 2025-03-20T10:29:04.166Z +Engine/Content/EngineMeshes/Sphere.uexp 2025-03-20T10:29:04.168Z +Engine/Content/EngineResources/Black.uasset 2025-03-20T10:29:10.378Z +Engine/Content/EngineResources/Black.uexp 2025-03-20T10:29:10.385Z +Engine/Content/EngineResources/DefaultTexture.uasset 2025-03-20T10:29:14.115Z +Engine/Content/EngineResources/DefaultTexture.ubulk 2025-03-20T10:29:14.114Z +Engine/Content/EngineResources/DefaultTexture.uexp 2025-03-20T10:29:14.118Z +Engine/Content/EngineResources/DefaultTextureCube.uasset 2025-03-20T10:29:14.107Z +Engine/Content/EngineResources/DefaultTextureCube.uexp 2025-03-20T10:29:14.108Z +Engine/Content/EngineResources/DefaultVolumeTexture.uasset 2025-03-20T10:29:14.120Z +Engine/Content/EngineResources/DefaultVolumeTexture.uexp 2025-03-20T10:29:14.121Z +Engine/Content/EngineResources/DefaultVolumeTexture2D.uasset 2025-03-20T10:29:14.122Z +Engine/Content/EngineResources/DefaultVolumeTexture2D.uexp 2025-03-20T10:29:14.123Z +Engine/Content/EngineResources/GradientTexture0.uasset 2025-03-20T10:29:10.379Z +Engine/Content/EngineResources/GradientTexture0.uexp 2025-03-20T10:29:10.389Z +Engine/Content/EngineResources/LandscapeVisibilityLayerInfo.uasset 2025-03-20T10:29:04.136Z +Engine/Content/EngineResources/LandscapeVisibilityLayerInfo.uexp 2025-03-20T10:29:04.137Z +Engine/Content/EngineResources/WhiteSquareTexture.uasset 2025-03-20T10:29:10.386Z +Engine/Content/EngineResources/WhiteSquareTexture.uexp 2025-03-20T10:29:10.390Z +Engine/Content/EngineSky/BP_Sky_Sphere.uasset 2025-03-20T10:29:29.059Z +Engine/Content/EngineSky/BP_Sky_Sphere.uexp 2025-03-20T10:29:29.060Z +Engine/Content/EngineSky/C_Sky_Cloud_Color.uasset 2025-03-20T10:29:29.060Z +Engine/Content/EngineSky/C_Sky_Cloud_Color.uexp 2025-03-20T10:29:29.061Z +Engine/Content/EngineSky/C_Sky_Horizon_Color.uasset 2025-03-20T10:29:29.060Z +Engine/Content/EngineSky/C_Sky_Horizon_Color.uexp 2025-03-20T10:29:29.061Z +Engine/Content/EngineSky/C_Sky_Zenith_Color.uasset 2025-03-20T10:29:29.060Z +Engine/Content/EngineSky/C_Sky_Zenith_Color.uexp 2025-03-20T10:29:29.061Z +Engine/Content/EngineSky/M_SimpleSkyDome.uasset 2025-03-20T10:29:33.240Z +Engine/Content/EngineSky/M_SimpleSkyDome.uexp 2025-03-20T10:29:33.240Z +Engine/Content/EngineSky/M_Sky_Panning_Clouds2.uasset 2025-03-20T10:29:33.245Z +Engine/Content/EngineSky/M_Sky_Panning_Clouds2.uexp 2025-03-20T10:29:33.246Z +Engine/Content/EngineSky/SM_SkySphere.uasset 2025-03-20T10:29:29.065Z +Engine/Content/EngineSky/SM_SkySphere.ubulk 2025-03-20T10:29:29.064Z +Engine/Content/EngineSky/SM_SkySphere.uexp 2025-03-20T10:29:29.066Z +Engine/Content/EngineSky/T_Sky_Blue.uasset 2025-03-20T10:29:31.968Z +Engine/Content/EngineSky/T_Sky_Blue.ubulk 2025-03-20T10:29:31.967Z +Engine/Content/EngineSky/T_Sky_Blue.uexp 2025-03-20T10:29:31.969Z +Engine/Content/EngineSky/T_Sky_Clouds_M.uasset 2025-03-20T10:29:31.963Z +Engine/Content/EngineSky/T_Sky_Clouds_M.ubulk 2025-03-20T10:29:31.962Z +Engine/Content/EngineSky/T_Sky_Clouds_M.uexp 2025-03-20T10:29:31.963Z +Engine/Content/EngineSky/T_Sky_Stars.uasset 2025-03-20T10:29:31.964Z +Engine/Content/EngineSky/T_Sky_Stars.ubulk 2025-03-20T10:29:31.964Z +Engine/Content/EngineSky/T_Sky_Stars.uexp 2025-03-20T10:29:31.965Z +Engine/Content/EngineSounds/Master.uasset 2025-03-20T10:29:03.358Z +Engine/Content/EngineSounds/Master.uexp 2025-03-20T10:29:03.361Z +Engine/Content/Maps/Entry.uexp 2025-03-20T10:29:10.868Z +Engine/Content/Maps/Entry.umap 2025-03-20T10:29:10.867Z +Engine/Content/Maps/Entry_BuiltData.uasset 2025-03-20T10:29:10.469Z +Engine/Content/Maps/Entry_BuiltData.uexp 2025-03-20T10:29:10.470Z +vr_great_ryc/Content/blueprints/bp_save.uasset 2025-03-20T10:29:10.878Z +vr_great_ryc/Content/blueprints/bp_save.uexp 2025-03-20T10:29:10.879Z +vr_great_ryc/Content/blueprints/bp_spline_reforged.uasset 2025-03-20T10:29:29.046Z +vr_great_ryc/Content/blueprints/bp_spline_reforged.uexp 2025-03-20T10:29:29.047Z +vr_great_ryc/Content/blueprints/bp_text_printer.uasset 2025-03-20T10:29:17.032Z +vr_great_ryc/Content/blueprints/bp_text_printer.uexp 2025-03-20T10:29:17.032Z +vr_great_ryc/Content/blueprints/tuple_float_vector.uasset 2025-03-20T10:29:10.476Z +vr_great_ryc/Content/blueprints/tuple_float_vector.uexp 2025-03-20T10:29:10.476Z +vr_great_ryc/Content/Draha/bp_time_ghost.uasset 2025-03-20T10:29:17.107Z +vr_great_ryc/Content/Draha/bp_time_ghost.uexp 2025-03-20T10:29:17.107Z +vr_great_ryc/Content/hud/HUD.uasset 2025-03-20T10:29:29.047Z +vr_great_ryc/Content/hud/HUD.uexp 2025-03-20T10:29:29.047Z +vr_great_ryc/Content/materials/mpc_heart.uasset 2025-03-20T10:29:10.469Z +vr_great_ryc/Content/materials/mpc_heart.uexp 2025-03-20T10:29:10.470Z +vr_great_ryc/Content/materials/m_heart.uasset 2025-03-20T10:29:17.074Z +vr_great_ryc/Content/materials/m_heart.uexp 2025-03-20T10:29:17.074Z +vr_great_ryc/Content/VR_Basic_map_sharedassets/roots_LayerInfo.uasset 2025-03-20T10:29:29.059Z +vr_great_ryc/Content/VR_Basic_map_sharedassets/roots_LayerInfo.uexp 2025-03-20T10:29:29.059Z +Engine/Content/EditorMaterials/Camera/CineMat.uasset 2025-03-20T10:29:13.501Z +Engine/Content/EditorMaterials/Camera/CineMat.uexp 2025-03-20T10:29:13.503Z +Engine/Content/EditorMaterials/Camera/MI_CineMat_Rig.uasset 2025-03-20T10:29:04.184Z +Engine/Content/EditorMaterials/Camera/MI_CineMat_Rig.uexp 2025-03-20T10:29:04.184Z +Engine/Content/EditorMaterials/Dataflow/DataflowTwoSidedVertexMaterial.uasset 2025-03-20T10:29:10.433Z +Engine/Content/EditorMaterials/Dataflow/DataflowTwoSidedVertexMaterial.uexp 2025-03-20T10:29:10.434Z +Engine/Content/EditorMaterials/Dataflow/DataflowVertexMaterial.uasset 2025-03-20T10:29:10.433Z +Engine/Content/EditorMaterials/Dataflow/DataflowVertexMaterial.uexp 2025-03-20T10:29:10.434Z +Engine/Content/EditorMaterials/ParticleSystems/PSysThumbnail_NoImage.uasset 2025-03-20T10:29:10.364Z +Engine/Content/EditorMaterials/ParticleSystems/PSysThumbnail_NoImage.ubulk 2025-03-20T10:29:10.360Z +Engine/Content/EditorMaterials/ParticleSystems/PSysThumbnail_NoImage.uexp 2025-03-20T10:29:10.367Z +Engine/Content/EditorMaterials/ParticleSystems/PSysThumbnail_OOD.uasset 2025-03-20T10:29:10.363Z +Engine/Content/EditorMaterials/ParticleSystems/PSysThumbnail_OOD.ubulk 2025-03-20T10:29:10.360Z +Engine/Content/EditorMaterials/ParticleSystems/PSysThumbnail_OOD.uexp 2025-03-20T10:29:10.365Z +Engine/Content/EditorMeshes/Camera/SM_CraneRig_Arm.uasset 2025-03-20T10:29:10.441Z +Engine/Content/EditorMeshes/Camera/SM_CraneRig_Arm.ubulk 2025-03-20T10:29:10.438Z +Engine/Content/EditorMeshes/Camera/SM_CraneRig_Arm.uexp 2025-03-20T10:29:10.443Z +Engine/Content/EditorMeshes/Camera/SM_CraneRig_Base.uasset 2025-03-20T10:29:10.442Z +Engine/Content/EditorMeshes/Camera/SM_CraneRig_Base.ubulk 2025-03-20T10:29:10.440Z +Engine/Content/EditorMeshes/Camera/SM_CraneRig_Base.uexp 2025-03-20T10:29:10.443Z +Engine/Content/EditorMeshes/Camera/SM_CraneRig_Body.uasset 2025-03-20T10:29:10.440Z +Engine/Content/EditorMeshes/Camera/SM_CraneRig_Body.ubulk 2025-03-20T10:29:10.438Z +Engine/Content/EditorMeshes/Camera/SM_CraneRig_Body.uexp 2025-03-20T10:29:10.441Z +Engine/Content/EditorMeshes/Camera/SM_CraneRig_Mount.uasset 2025-03-20T10:29:10.441Z +Engine/Content/EditorMeshes/Camera/SM_CraneRig_Mount.ubulk 2025-03-20T10:29:10.437Z +Engine/Content/EditorMeshes/Camera/SM_CraneRig_Mount.uexp 2025-03-20T10:29:10.442Z +Engine/Content/EditorMeshes/Camera/SM_RailRig_Mount.uasset 2025-03-20T10:29:10.440Z +Engine/Content/EditorMeshes/Camera/SM_RailRig_Mount.ubulk 2025-03-20T10:29:10.437Z +Engine/Content/EditorMeshes/Camera/SM_RailRig_Mount.uexp 2025-03-20T10:29:10.442Z +Engine/Content/EditorMeshes/Camera/SM_RailRig_Track.uasset 2025-03-20T10:29:10.437Z +Engine/Content/EditorMeshes/Camera/SM_RailRig_Track.ubulk 2025-03-20T10:29:10.436Z +Engine/Content/EditorMeshes/Camera/SM_RailRig_Track.uexp 2025-03-20T10:29:10.440Z +Engine/Content/EditorResources/SequenceRecorder/Countdown.uasset 2025-03-20T10:29:03.260Z +Engine/Content/EditorResources/SequenceRecorder/Countdown.uexp 2025-03-20T10:29:03.261Z +Engine/Content/EditorResources/SequenceRecorder/RecordingIndicator.uasset 2025-03-20T10:29:03.260Z +Engine/Content/EditorResources/SequenceRecorder/RecordingIndicator.uexp 2025-03-20T10:29:03.261Z +Engine/Content/EngineFonts/Faces/DroidSansFallback.uasset 2025-03-20T10:29:04.178Z +Engine/Content/EngineFonts/Faces/DroidSansFallback.uexp 2025-03-20T10:29:04.178Z +Engine/Content/EngineFonts/Faces/DroidSansFallback.ufont 2025-03-20T10:29:04.177Z +Engine/Content/EngineFonts/Faces/RobotoBold.uasset 2025-03-20T10:29:04.142Z +Engine/Content/EngineFonts/Faces/RobotoBold.uexp 2025-03-20T10:29:04.142Z +Engine/Content/EngineFonts/Faces/RobotoBold.ufont 2025-03-20T10:29:04.141Z +Engine/Content/EngineFonts/Faces/RobotoBoldItalic.uasset 2025-03-20T10:29:04.358Z +Engine/Content/EngineFonts/Faces/RobotoBoldItalic.uexp 2025-03-20T10:29:04.383Z +Engine/Content/EngineFonts/Faces/RobotoBoldItalic.ufont 2025-03-20T10:29:04.324Z +Engine/Content/EngineFonts/Faces/RobotoItalic.uasset 2025-03-20T10:29:04.153Z +Engine/Content/EngineFonts/Faces/RobotoItalic.uexp 2025-03-20T10:29:04.154Z +Engine/Content/EngineFonts/Faces/RobotoItalic.ufont 2025-03-20T10:29:04.151Z +Engine/Content/EngineFonts/Faces/RobotoLight.uasset 2025-03-20T10:29:04.140Z +Engine/Content/EngineFonts/Faces/RobotoLight.uexp 2025-03-20T10:29:04.140Z +Engine/Content/EngineFonts/Faces/RobotoLight.ufont 2025-03-20T10:29:04.138Z +Engine/Content/EngineFonts/Faces/RobotoRegular.uasset 2025-03-20T10:29:04.140Z +Engine/Content/EngineFonts/Faces/RobotoRegular.uexp 2025-03-20T10:29:04.141Z +Engine/Content/EngineFonts/Faces/RobotoRegular.ufont 2025-03-20T10:29:04.140Z +Engine/Content/EngineMaterials/EnergyConservation/Diffuse_Energy.uasset 2025-03-20T10:29:03.494Z +Engine/Content/EngineMaterials/EnergyConservation/Diffuse_Energy.uexp 2025-03-20T10:29:03.502Z +Engine/Content/EngineMaterials/EnergyConservation/GGX_ReflectionEnergy.uasset 2025-03-20T10:29:04.149Z +Engine/Content/EngineMaterials/EnergyConservation/GGX_ReflectionEnergy.uexp 2025-03-20T10:29:04.149Z +Engine/Content/EngineMaterials/EnergyConservation/GGX_TransmissionEnergyArray.uasset 2025-03-20T10:29:04.321Z +Engine/Content/EngineMaterials/EnergyConservation/GGX_TransmissionEnergyArray.uexp 2025-03-20T10:29:04.326Z +Engine/Content/EngineMaterials/EnergyConservation/SheenLegacy_Energy.uasset 2025-03-20T10:29:04.147Z +Engine/Content/EngineMaterials/EnergyConservation/SheenLegacy_Energy.uexp 2025-03-20T10:29:04.148Z +Engine/Content/EngineMaterials/EnergyConservation/Sheen_Energy.uasset 2025-03-20T10:29:03.495Z +Engine/Content/EngineMaterials/EnergyConservation/Sheen_Energy.uexp 2025-03-20T10:29:03.502Z +Engine/Content/EngineMaterials/LTC/GGX_LTCAmp.uasset 2025-03-20T10:29:04.150Z +Engine/Content/EngineMaterials/LTC/GGX_LTCAmp.uexp 2025-03-20T10:29:04.153Z +Engine/Content/EngineMaterials/LTC/GGX_LTCMat.uasset 2025-03-20T10:29:04.149Z +Engine/Content/EngineMaterials/LTC/GGX_LTCMat.uexp 2025-03-20T10:29:04.151Z +Engine/Content/EngineMaterials/LTC/Sheen_LTC.uasset 2025-03-20T10:29:03.496Z +Engine/Content/EngineMaterials/LTC/Sheen_LTC.uexp 2025-03-20T10:29:03.501Z +Engine/Content/EngineResources/FilmGrains/Marcie_Grain_v3_128_M2_000.uasset 2025-03-20T10:29:04.155Z +Engine/Content/EngineResources/FilmGrains/Marcie_Grain_v3_128_M2_000.uexp 2025-03-20T10:29:04.156Z +Engine/Content/EngineSky/VolumetricClouds/m_SimpleVolumetricCloud.uasset 2025-03-20T10:29:10.472Z +Engine/Content/EngineSky/VolumetricClouds/m_SimpleVolumetricCloud.uexp 2025-03-20T10:29:10.475Z +Engine/Content/EngineSky/VolumetricClouds/m_SimpleVolumetricCloud_Inst.uasset 2025-03-20T10:29:10.452Z +Engine/Content/EngineSky/VolumetricClouds/m_SimpleVolumetricCloud_Inst.uexp 2025-03-20T10:29:10.459Z +Engine/Content/EngineSky/VolumetricClouds/T_CloudMask.uasset 2025-03-20T10:29:10.424Z +Engine/Content/EngineSky/VolumetricClouds/T_CloudMask.ubulk 2025-03-20T10:29:10.423Z +Engine/Content/EngineSky/VolumetricClouds/T_CloudMask.uexp 2025-03-20T10:29:10.425Z +Engine/Content/EngineSky/VolumetricClouds/T_CloudPattern.uasset 2025-03-20T10:29:10.407Z +Engine/Content/EngineSky/VolumetricClouds/T_CloudPattern.ubulk 2025-03-20T10:29:10.406Z +Engine/Content/EngineSky/VolumetricClouds/T_CloudPattern.uexp 2025-03-20T10:29:10.407Z +Engine/Content/EngineSky/VolumetricClouds/T_Profile_08.uasset 2025-03-20T10:29:10.386Z +Engine/Content/EngineSky/VolumetricClouds/T_Profile_08.ubulk 2025-03-20T10:29:10.385Z +Engine/Content/EngineSky/VolumetricClouds/T_Profile_08.uexp 2025-03-20T10:29:10.388Z +Engine/Content/EngineSky/VolumetricClouds/VT_Lightning.uasset 2025-03-20T10:29:10.385Z +Engine/Content/EngineSky/VolumetricClouds/VT_Lightning.uexp 2025-03-20T10:29:10.389Z +Engine/Content/EngineSky/VolumetricClouds/VT_PerlinWorley_Balanced.uasset 2025-03-20T10:29:10.382Z +Engine/Content/EngineSky/VolumetricClouds/VT_PerlinWorley_Balanced.uexp 2025-03-20T10:29:10.407Z +Engine/Content/EngineSounds/Submixes/MasterEQEffectPreset.uasset 2025-03-20T10:29:10.470Z +Engine/Content/EngineSounds/Submixes/MasterEQEffectPreset.uexp 2025-03-20T10:29:10.471Z +Engine/Content/EngineSounds/Submixes/MasterEQSubmixDefault.uasset 2025-03-20T10:29:29.046Z +Engine/Content/EngineSounds/Submixes/MasterEQSubmixDefault.uexp 2025-03-20T10:29:29.046Z +Engine/Content/EngineSounds/Submixes/MasterReverbEffectPreset.uasset 2025-03-20T10:29:10.470Z +Engine/Content/EngineSounds/Submixes/MasterReverbEffectPreset.uexp 2025-03-20T10:29:10.470Z +Engine/Content/EngineSounds/Submixes/MasterReverbSubmixDefault.uasset 2025-03-20T10:29:29.049Z +Engine/Content/EngineSounds/Submixes/MasterReverbSubmixDefault.uexp 2025-03-20T10:29:29.050Z +Engine/Content/EngineSounds/Submixes/MasterSubmixDefault.uasset 2025-03-20T10:29:29.045Z +Engine/Content/EngineSounds/Submixes/MasterSubmixDefault.uexp 2025-03-20T10:29:29.046Z +Engine/Content/Functions/Engine_MaterialFunctions02/FixRotateAboutAxisNormals.uasset 2025-03-20T10:29:29.053Z +Engine/Content/Functions/Engine_MaterialFunctions02/FixRotateAboutAxisNormals.uexp 2025-03-20T10:29:29.054Z +Engine/Content/Functions/Engine_MaterialFunctions02/Lerp_3Color.uasset 2025-03-20T10:29:03.517Z +Engine/Content/Functions/Engine_MaterialFunctions02/Lerp_3Color.uexp 2025-03-20T10:29:03.523Z +Engine/Content/Functions/Engine_MaterialFunctions02/Lerp_Multiple_Float2.uasset 2025-03-20T10:29:29.040Z +Engine/Content/Functions/Engine_MaterialFunctions02/Lerp_Multiple_Float2.uexp 2025-03-20T10:29:29.040Z +Engine/Content/Functions/Engine_MaterialFunctions02/ms_PivotPainter2_UnpackIntegerAsFloat.uasset 2025-03-20T10:29:29.054Z +Engine/Content/Functions/Engine_MaterialFunctions02/ms_PivotPainter2_UnpackIntegerAsFloat.uexp 2025-03-20T10:29:29.054Z +Engine/Content/Functions/Engine_MaterialFunctions02/ObjectLocalBounds.uasset 2025-03-20T10:29:03.515Z +Engine/Content/Functions/Engine_MaterialFunctions02/ObjectLocalBounds.uexp 2025-03-20T10:29:03.517Z +Engine/Content/Functions/Engine_MaterialFunctions02/SafeNormalize.uasset 2025-03-20T10:29:03.513Z +Engine/Content/Functions/Engine_MaterialFunctions02/SafeNormalize.uexp 2025-03-20T10:29:03.515Z +Engine/Content/Functions/Engine_MaterialFunctions02/SplitComponents.uasset 2025-03-20T10:29:04.163Z +Engine/Content/Functions/Engine_MaterialFunctions02/SplitComponents.uexp 2025-03-20T10:29:04.164Z +Engine/Content/MapTemplates/Materials/BasicAsset01.uasset 2025-03-20T10:29:29.067Z +Engine/Content/MapTemplates/Materials/BasicAsset01.uexp 2025-03-20T10:29:29.068Z +Engine/Content/MaterialTemplates/LayerBlends/T_DefaultMaskTexture.uasset 2025-03-20T10:29:29.714Z +Engine/Content/MaterialTemplates/LayerBlends/T_DefaultMaskTexture.uexp 2025-03-20T10:29:29.715Z +Engine/Content/MaterialTemplates/Textures/T_Noise01.uasset 2025-03-20T10:29:29.716Z +Engine/Content/MaterialTemplates/Textures/T_Noise01.ubulk 2025-03-20T10:29:29.716Z +Engine/Content/MaterialTemplates/Textures/T_Noise01.uexp 2025-03-20T10:29:29.717Z +Engine/Content/OpenWorldTemplate/LandscapeMaterial/MF_ProcGrid.uasset 2025-03-20T10:29:19.307Z +Engine/Content/OpenWorldTemplate/LandscapeMaterial/MF_ProcGrid.uexp 2025-03-20T10:29:19.309Z +Engine/Content/OpenWorldTemplate/LandscapeMaterial/M_ProcGrid.uasset 2025-03-20T10:29:29.069Z +Engine/Content/OpenWorldTemplate/LandscapeMaterial/M_ProcGrid.uexp 2025-03-20T10:29:29.070Z +Engine/Content/OpenWorldTemplate/LandscapeMaterial/T_GridChecker_A.uasset 2025-03-20T10:29:26.871Z +Engine/Content/OpenWorldTemplate/LandscapeMaterial/T_GridChecker_A.ubulk 2025-03-20T10:29:26.870Z +Engine/Content/OpenWorldTemplate/LandscapeMaterial/T_GridChecker_A.uexp 2025-03-20T10:29:26.871Z +Engine/Content/VREditor/LaserPointer/VR_LaserPower_01.uasset 2025-03-20T10:29:10.371Z +Engine/Content/VREditor/LaserPointer/VR_LaserPower_01.ubulk 2025-03-20T10:29:10.370Z +Engine/Content/VREditor/LaserPointer/VR_LaserPower_01.uexp 2025-03-20T10:29:10.374Z +Engine/Content/VREditor/SnapGrid/SnapGridMaterial.uasset 2025-03-20T10:29:17.091Z +Engine/Content/VREditor/SnapGrid/SnapGridMaterial.uexp 2025-03-20T10:29:17.091Z +Engine/Content/VREditor/SnapGrid/SnapGridPlaneMesh.uasset 2025-03-20T10:29:10.462Z +Engine/Content/VREditor/SnapGrid/SnapGridPlaneMesh.ubulk 2025-03-20T10:29:10.462Z +Engine/Content/VREditor/SnapGrid/SnapGridPlaneMesh.uexp 2025-03-20T10:29:10.463Z +Engine/Content/VREditor/TransformGizmo/BoundingBoxCorner.uasset 2025-03-20T10:29:10.441Z +Engine/Content/VREditor/TransformGizmo/BoundingBoxCorner.ubulk 2025-03-20T10:29:10.440Z +Engine/Content/VREditor/TransformGizmo/BoundingBoxCorner.uexp 2025-03-20T10:29:10.445Z +Engine/Content/VREditor/TransformGizmo/BoundingBoxEdge.uasset 2025-03-20T10:29:10.439Z +Engine/Content/VREditor/TransformGizmo/BoundingBoxEdge.ubulk 2025-03-20T10:29:10.439Z +Engine/Content/VREditor/TransformGizmo/BoundingBoxEdge.uexp 2025-03-20T10:29:10.440Z +Engine/Content/VREditor/TransformGizmo/Main.uasset 2025-03-20T10:29:13.504Z +Engine/Content/VREditor/TransformGizmo/Main.uexp 2025-03-20T10:29:13.505Z +Engine/Content/VREditor/TransformGizmo/PlaneTranslationHandle.uasset 2025-03-20T10:29:10.449Z +Engine/Content/VREditor/TransformGizmo/PlaneTranslationHandle.ubulk 2025-03-20T10:29:10.447Z +Engine/Content/VREditor/TransformGizmo/PlaneTranslationHandle.uexp 2025-03-20T10:29:10.453Z +Engine/Content/VREditor/TransformGizmo/RotationHandleFull.uasset 2025-03-20T10:29:10.449Z +Engine/Content/VREditor/TransformGizmo/RotationHandleFull.ubulk 2025-03-20T10:29:10.447Z +Engine/Content/VREditor/TransformGizmo/RotationHandleFull.uexp 2025-03-20T10:29:10.451Z +Engine/Content/VREditor/TransformGizmo/RotationHandleIndicator.uasset 2025-03-20T10:29:10.450Z +Engine/Content/VREditor/TransformGizmo/RotationHandleIndicator.ubulk 2025-03-20T10:29:10.447Z +Engine/Content/VREditor/TransformGizmo/RotationHandleIndicator.uexp 2025-03-20T10:29:10.450Z +Engine/Content/VREditor/TransformGizmo/RotationHandleQuarter.uasset 2025-03-20T10:29:10.449Z +Engine/Content/VREditor/TransformGizmo/RotationHandleQuarter.ubulk 2025-03-20T10:29:10.445Z +Engine/Content/VREditor/TransformGizmo/RotationHandleQuarter.uexp 2025-03-20T10:29:10.451Z +Engine/Content/VREditor/TransformGizmo/SM_Sequencer_Node.uasset 2025-03-20T10:29:04.190Z +Engine/Content/VREditor/TransformGizmo/SM_Sequencer_Node.ubulk 2025-03-20T10:29:04.186Z +Engine/Content/VREditor/TransformGizmo/SM_Sequencer_Node.uexp 2025-03-20T10:29:04.191Z +Engine/Content/VREditor/TransformGizmo/StartRotationHandleIndicator.uasset 2025-03-20T10:29:10.445Z +Engine/Content/VREditor/TransformGizmo/StartRotationHandleIndicator.ubulk 2025-03-20T10:29:10.441Z +Engine/Content/VREditor/TransformGizmo/StartRotationHandleIndicator.uexp 2025-03-20T10:29:10.448Z +Engine/Content/VREditor/TransformGizmo/TransformGizmoFreeRotation.uasset 2025-03-20T10:29:10.450Z +Engine/Content/VREditor/TransformGizmo/TransformGizmoFreeRotation.ubulk 2025-03-20T10:29:10.447Z +Engine/Content/VREditor/TransformGizmo/TransformGizmoFreeRotation.uexp 2025-03-20T10:29:10.462Z +Engine/Content/VREditor/TransformGizmo/TransformGizmoMaterial.uasset 2025-03-20T10:29:10.474Z +Engine/Content/VREditor/TransformGizmo/TransformGizmoMaterial.uexp 2025-03-20T10:29:10.477Z +Engine/Content/VREditor/TransformGizmo/TransformGizmoMaterial_Inst.uasset 2025-03-20T10:29:10.446Z +Engine/Content/VREditor/TransformGizmo/TransformGizmoMaterial_Inst.uexp 2025-03-20T10:29:10.448Z +Engine/Content/VREditor/TransformGizmo/TranslateArrowHandle.uasset 2025-03-20T10:29:10.443Z +Engine/Content/VREditor/TransformGizmo/TranslateArrowHandle.ubulk 2025-03-20T10:29:10.441Z +Engine/Content/VREditor/TransformGizmo/TranslateArrowHandle.uexp 2025-03-20T10:29:10.446Z +Engine/Content/VREditor/TransformGizmo/TranslucentTransformGizmoMaterial.uasset 2025-03-20T10:29:13.505Z +Engine/Content/VREditor/TransformGizmo/TranslucentTransformGizmoMaterial.uexp 2025-03-20T10:29:13.507Z +Engine/Content/VREditor/TransformGizmo/TranslucentTransformGizmoMaterial_Inst.uasset 2025-03-20T10:29:04.184Z +Engine/Content/VREditor/TransformGizmo/TranslucentTransformGizmoMaterial_Inst.uexp 2025-03-20T10:29:04.188Z +Engine/Content/VREditor/TransformGizmo/UniformScaleHandle.uasset 2025-03-20T10:29:10.442Z +Engine/Content/VREditor/TransformGizmo/UniformScaleHandle.ubulk 2025-03-20T10:29:10.440Z +Engine/Content/VREditor/TransformGizmo/UniformScaleHandle.uexp 2025-03-20T10:29:10.449Z +Engine/Content/VREditor/TransformGizmo/Xray.uasset 2025-03-20T10:29:13.504Z +Engine/Content/VREditor/TransformGizmo/Xray.uexp 2025-03-20T10:29:13.505Z +vr_great_ryc/Content/Characters/MannequinsXR/B_MannequinsXR.uasset 2025-03-20T10:29:29.047Z +vr_great_ryc/Content/Characters/MannequinsXR/B_MannequinsXR.uexp 2025-03-20T10:29:29.047Z +vr_great_ryc/Content/Fab/arch/arch.uasset 2025-03-20T10:29:20.453Z +vr_great_ryc/Content/Fab/arch/arch.ubulk 2025-03-20T10:29:20.452Z +vr_great_ryc/Content/Fab/arch/arch.uexp 2025-03-20T10:29:20.474Z +vr_great_ryc/Content/Fab/arch/Green_Bean_001.uasset 2025-03-20T10:29:29.067Z +vr_great_ryc/Content/Fab/arch/Green_Bean_001.uexp 2025-03-20T10:29:29.067Z +vr_great_ryc/Content/Fab/arch/Ivy_stem_001.uasset 2025-03-20T10:29:26.860Z +vr_great_ryc/Content/Fab/arch/Ivy_stem_001.uexp 2025-03-20T10:29:26.861Z +vr_great_ryc/Content/Fab/arch/Material_002.uasset 2025-03-20T10:29:29.066Z +vr_great_ryc/Content/Fab/arch/Material_002.uexp 2025-03-20T10:29:29.067Z +vr_great_ryc/Content/Fab/arch/OrangeLeaf1_001.uasset 2025-03-20T10:29:26.860Z +vr_great_ryc/Content/Fab/arch/OrangeLeaf1_001.uexp 2025-03-20T10:29:26.861Z +vr_great_ryc/Content/Fab/arch/OrangeLeaf2_001.uasset 2025-03-20T10:29:26.861Z +vr_great_ryc/Content/Fab/arch/OrangeLeaf2_001.uexp 2025-03-20T10:29:26.864Z +vr_great_ryc/Content/Fab/arch/Orange_Leaf_1.uasset 2025-03-20T10:29:26.863Z +vr_great_ryc/Content/Fab/arch/Orange_Leaf_1.uexp 2025-03-20T10:29:26.867Z +vr_great_ryc/Content/Fab/arch/Orange_Leaf_1_Rough.uasset 2025-03-20T10:29:19.295Z +vr_great_ryc/Content/Fab/arch/Orange_Leaf_1_Rough.uexp 2025-03-20T10:29:19.303Z +vr_great_ryc/Content/Fab/arch/Orange_Leaf_2.uasset 2025-03-20T10:29:26.875Z +vr_great_ryc/Content/Fab/arch/Orange_Leaf_2.uexp 2025-03-20T10:29:26.887Z +vr_great_ryc/Content/Fab/arch/Orange_Leaf_2_Rough.uasset 2025-03-20T10:29:26.865Z +vr_great_ryc/Content/Fab/arch/Orange_Leaf_2_Rough.uexp 2025-03-20T10:29:26.869Z +vr_great_ryc/Content/Fab/arch/pine_bark_normal.uasset 2025-03-20T10:29:26.865Z +vr_great_ryc/Content/Fab/arch/pine_bark_normal.ubulk 2025-03-20T10:29:26.865Z +vr_great_ryc/Content/Fab/arch/pine_bark_normal.uexp 2025-03-20T10:29:26.866Z +vr_great_ryc/Content/Fab/arch/pine_bark_roughness.uasset 2025-03-20T10:29:26.865Z +vr_great_ryc/Content/Fab/arch/pine_bark_roughness.ubulk 2025-03-20T10:29:26.865Z +vr_great_ryc/Content/Fab/arch/pine_bark_roughness.uexp 2025-03-20T10:29:26.866Z +vr_great_ryc/Content/Fab/Helix_Bridge/Custom.uasset 2025-03-20T10:38:29.144Z +vr_great_ryc/Content/Fab/Helix_Bridge/Custom.uexp 2025-03-20T10:38:29.145Z +vr_great_ryc/Content/Fab/Helix_Bridge/helix_bridge.uasset 2025-03-20T10:29:19.347Z +vr_great_ryc/Content/Fab/Helix_Bridge/helix_bridge.ubulk 2025-03-20T10:29:19.344Z +vr_great_ryc/Content/Fab/Helix_Bridge/helix_bridge.uexp 2025-03-20T10:29:19.581Z +vr_great_ryc/Content/Fab/Helix_Bridge/Material_001.uasset 2025-03-20T10:38:29.141Z +vr_great_ryc/Content/Fab/Helix_Bridge/Material_001.uexp 2025-03-20T10:38:29.142Z +vr_great_ryc/Content/Fab/Helix_Bridge/Material_002.uasset 2025-03-20T10:40:38.664Z +vr_great_ryc/Content/Fab/Helix_Bridge/Material_002.uexp 2025-03-20T10:40:38.665Z +vr_great_ryc/Content/Fab/Helix_Bridge/Material_003.uasset 2025-03-20T10:38:29.239Z +vr_great_ryc/Content/Fab/Helix_Bridge/Material_003.uexp 2025-03-20T10:38:29.240Z +vr_great_ryc/Content/Fab/Helix_Bridge/Material_004.uasset 2025-03-20T10:38:29.138Z +vr_great_ryc/Content/Fab/Helix_Bridge/Material_004.uexp 2025-03-20T10:38:29.138Z +vr_great_ryc/Content/forest_V2/forest_level_sharedassets/grass_LayerInfo.uasset 2025-03-20T10:29:29.060Z +vr_great_ryc/Content/forest_V2/forest_level_sharedassets/grass_LayerInfo.uexp 2025-03-20T10:29:29.060Z +vr_great_ryc/Content/forest_V2/NewMap_sharedassets/Rock_LayerInfo.uasset 2025-03-20T10:29:29.059Z +vr_great_ryc/Content/forest_V2/NewMap_sharedassets/Rock_LayerInfo.uexp 2025-03-20T10:29:29.060Z +vr_great_ryc/Content/Megascans/Surfaces/grass_type.uasset 2025-03-20T10:29:29.056Z +vr_great_ryc/Content/Megascans/Surfaces/grass_type.uexp 2025-03-20T10:29:29.057Z +vr_great_ryc/Content/MSPresets/M_MS_Billboard_Material/M_MS_Billboard_Material.uasset 2025-03-20T10:29:33.242Z +vr_great_ryc/Content/MSPresets/M_MS_Billboard_Material/M_MS_Billboard_Material.uexp 2025-03-20T10:29:33.244Z +vr_great_ryc/Content/MSPresets/M_MS_Default_Material/M_MS_Default_Material.uasset 2025-03-20T10:29:29.069Z +vr_great_ryc/Content/MSPresets/M_MS_Default_Material/M_MS_Default_Material.uexp 2025-03-20T10:29:29.070Z +vr_great_ryc/Content/MSPresets/M_MS_Foliage_Material/M_MS_Foliage_Material.uasset 2025-03-20T10:29:33.244Z +vr_great_ryc/Content/MSPresets/M_MS_Foliage_Material/M_MS_Foliage_Material.uexp 2025-03-20T10:29:33.245Z +vr_great_ryc/Content/VRTemplate/Blueprints/GrabComponent.uasset 2025-03-20T10:29:10.477Z +vr_great_ryc/Content/VRTemplate/Blueprints/GrabComponent.uexp 2025-03-20T10:29:10.478Z +vr_great_ryc/Content/VRTemplate/Blueprints/GrabType.uasset 2025-03-20T10:29:10.467Z +vr_great_ryc/Content/VRTemplate/Blueprints/GrabType.uexp 2025-03-20T10:29:10.469Z +vr_great_ryc/Content/VRTemplate/Blueprints/Menu.uasset 2025-03-20T10:29:19.299Z +vr_great_ryc/Content/VRTemplate/Blueprints/Menu.uexp 2025-03-20T10:29:19.301Z +vr_great_ryc/Content/VRTemplate/Blueprints/VRGameMode.uasset 2025-03-20T10:29:29.054Z +vr_great_ryc/Content/VRTemplate/Blueprints/VRGameMode.uexp 2025-03-20T10:29:29.055Z +vr_great_ryc/Content/VRTemplate/Blueprints/VRPawn.uasset 2025-03-20T10:29:29.047Z +vr_great_ryc/Content/VRTemplate/Blueprints/VRPawn.uexp 2025-03-20T10:29:29.048Z +vr_great_ryc/Content/VRTemplate/Blueprints/VRTeleportVisualizer.uasset 2025-03-20T10:29:19.297Z +vr_great_ryc/Content/VRTemplate/Blueprints/VRTeleportVisualizer.uexp 2025-03-20T10:29:19.299Z +vr_great_ryc/Content/VRTemplate/Blueprints/WidgetMenu.uasset 2025-03-20T10:29:10.472Z +vr_great_ryc/Content/VRTemplate/Blueprints/WidgetMenu.uexp 2025-03-20T10:29:10.473Z +vr_great_ryc/Content/VRTemplate/Haptics/GrabHapticEffect.uasset 2025-03-20T10:29:10.469Z +vr_great_ryc/Content/VRTemplate/Haptics/GrabHapticEffect.uexp 2025-03-20T10:29:10.470Z +vr_great_ryc/Content/VRTemplate/Input/B_InputModifier_XAxisPositiveOnly.uasset 2025-03-20T10:29:10.469Z +vr_great_ryc/Content/VRTemplate/Input/B_InputModifier_XAxisPositiveOnly.uexp 2025-03-20T10:29:10.470Z +vr_great_ryc/Content/VRTemplate/Input/IMC_Default.uasset 2025-03-20T10:29:13.495Z +vr_great_ryc/Content/VRTemplate/Input/IMC_Default.uexp 2025-03-20T10:29:13.497Z +vr_great_ryc/Content/VRTemplate/Input/IMC_Hands.uasset 2025-03-20T10:29:10.512Z +vr_great_ryc/Content/VRTemplate/Input/IMC_Hands.uexp 2025-03-20T10:29:10.513Z +vr_great_ryc/Content/VRTemplate/Input/IMC_Menu.uasset 2025-03-20T10:29:10.512Z +vr_great_ryc/Content/VRTemplate/Input/IMC_Menu.uexp 2025-03-20T10:29:10.513Z +vr_great_ryc/Content/VRTemplate/Input/IMC_Weapon_Left.uasset 2025-03-20T10:29:10.512Z +vr_great_ryc/Content/VRTemplate/Input/IMC_Weapon_Left.uexp 2025-03-20T10:29:10.513Z +vr_great_ryc/Content/VRTemplate/Input/IMC_Weapon_Right.uasset 2025-03-20T10:29:10.512Z +vr_great_ryc/Content/VRTemplate/Input/IMC_Weapon_Right.uexp 2025-03-20T10:29:10.514Z +vr_great_ryc/Content/VRTemplate/Materials/DefaultRibbonMaterial_NoGradient.uasset 2025-03-20T10:29:19.267Z +vr_great_ryc/Content/VRTemplate/Materials/DefaultRibbonMaterial_NoGradient.uexp 2025-03-20T10:29:19.269Z +vr_great_ryc/Content/VRTemplate/Materials/M_TeleportCylinder.uasset 2025-03-20T10:29:17.067Z +vr_great_ryc/Content/VRTemplate/Materials/M_TeleportCylinder.uexp 2025-03-20T10:29:17.069Z +vr_great_ryc/Content/VRTemplate/Materials/M_TeleportNoise.uasset 2025-03-20T10:29:17.069Z +vr_great_ryc/Content/VRTemplate/Materials/M_TeleportNoise.uexp 2025-03-20T10:29:17.069Z +vr_great_ryc/Content/VRTemplate/Materials/M_VRCursor.uasset 2025-03-20T10:29:19.266Z +vr_great_ryc/Content/VRTemplate/Materials/M_VRCursor.uexp 2025-03-20T10:29:19.269Z +vr_great_ryc/Content/VRTemplate/VFX/NPC_VRTemplate.uasset 2025-03-20T10:29:03.111Z +vr_great_ryc/Content/VRTemplate/VFX/NPC_VRTemplate.uexp 2025-03-20T10:29:03.111Z +vr_great_ryc/Content/VRTemplate/VFX/NS_MenuLaser.uasset 2025-03-20T10:29:11.567Z +vr_great_ryc/Content/VRTemplate/VFX/NS_MenuLaser.uexp 2025-03-20T10:29:11.567Z +vr_great_ryc/Content/VRTemplate/VFX/NS_PlayAreaBounds.uasset 2025-03-20T10:29:16.333Z +vr_great_ryc/Content/VRTemplate/VFX/NS_PlayAreaBounds.uexp 2025-03-20T10:29:16.334Z +vr_great_ryc/Content/VRTemplate/VFX/NS_TeleportRing.uasset 2025-03-20T10:29:16.333Z +vr_great_ryc/Content/VRTemplate/VFX/NS_TeleportRing.uexp 2025-03-20T10:29:16.333Z +vr_great_ryc/Content/VRTemplate/VFX/NS_TeleportTrace.uasset 2025-03-20T10:29:19.302Z +vr_great_ryc/Content/VRTemplate/VFX/NS_TeleportTrace.uexp 2025-03-20T10:29:19.303Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/03KEPW5H41SUQW40EH4ENUUU1.uexp 2025-03-20T10:29:16.332Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/03KEPW5H41SUQW40EH4ENUUU1.umap 2025-03-20T10:29:16.330Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0EIZU396GJITVCAKP3S6Y7WYU.uexp 2025-03-20T10:29:16.536Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0EIZU396GJITVCAKP3S6Y7WYU.umap 2025-03-20T10:29:16.535Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0GDU52LX698F36WGFVKHR028W.ubulk 2025-03-20T10:29:16.345Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0GDU52LX698F36WGFVKHR028W.uexp 2025-03-20T10:29:16.351Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0GDU52LX698F36WGFVKHR028W.umap 2025-03-20T10:29:16.348Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0GHU8Y2XIOU6O35K0CLX2FVHF.uexp 2025-03-20T10:29:16.331Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0GHU8Y2XIOU6O35K0CLX2FVHF.umap 2025-03-20T10:29:16.327Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0JGIO2RREURSBWDK9IQC9HPPU.uexp 2025-03-20T10:29:16.370Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0JGIO2RREURSBWDK9IQC9HPPU.umap 2025-03-20T10:29:16.363Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0N6MPAC7SKUX1M1EDOEAY1J54.uexp 2025-03-20T10:29:16.364Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0N6MPAC7SKUX1M1EDOEAY1J54.umap 2025-03-20T10:29:16.362Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0T537GZUSYCBM7DNGKRW5GRPZ.uexp 2025-03-20T10:29:13.530Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0T537GZUSYCBM7DNGKRW5GRPZ.umap 2025-03-20T10:29:13.529Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0WG0QE4A48F1IULCELBVDJ8OH.uexp 2025-03-20T10:29:16.531Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0WG0QE4A48F1IULCELBVDJ8OH.umap 2025-03-20T10:29:16.531Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0Y0E7SAYUW6ST0KUVSAF5UDRE.ubulk 2025-03-20T10:29:17.031Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0Y0E7SAYUW6ST0KUVSAF5UDRE.uexp 2025-03-20T10:29:17.038Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/0Y0E7SAYUW6ST0KUVSAF5UDRE.umap 2025-03-20T10:29:17.032Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/11DPM2VXR5SOL5J3H2DGFMYTT.uexp 2025-03-20T10:29:17.032Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/11DPM2VXR5SOL5J3H2DGFMYTT.umap 2025-03-20T10:29:17.029Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/159XY4B6TCDOFHOY687VIOJFZ.ubulk 2025-03-20T10:29:16.345Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/159XY4B6TCDOFHOY687VIOJFZ.uexp 2025-03-20T10:29:16.358Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/159XY4B6TCDOFHOY687VIOJFZ.umap 2025-03-20T10:29:16.350Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/188BU25EJZ6925PGYP6K6MBLM.uexp 2025-03-20T10:29:16.565Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/188BU25EJZ6925PGYP6K6MBLM.umap 2025-03-20T10:29:16.564Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/1FMK1P7IYCDA0XOJHP7WZ5TU0.ubulk 2025-03-20T10:29:16.654Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/1FMK1P7IYCDA0XOJHP7WZ5TU0.uexp 2025-03-20T10:29:16.656Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/1FMK1P7IYCDA0XOJHP7WZ5TU0.umap 2025-03-20T10:29:16.654Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/1KYBRPIRF9WDKZ7T8QACOOKSH.uexp 2025-03-20T10:29:16.332Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/1KYBRPIRF9WDKZ7T8QACOOKSH.umap 2025-03-20T10:29:16.330Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/2505WML912WIPXEYNNKDTHZHQ.ubulk 2025-03-20T10:29:16.352Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/2505WML912WIPXEYNNKDTHZHQ.uexp 2025-03-20T10:29:16.583Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/2505WML912WIPXEYNNKDTHZHQ.umap 2025-03-20T10:29:16.356Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/26QL9MNW7KFZ5CD4QMR4DMKPM.ubulk 2025-03-20T10:29:19.327Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/26QL9MNW7KFZ5CD4QMR4DMKPM.uexp 2025-03-20T10:29:19.330Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/26QL9MNW7KFZ5CD4QMR4DMKPM.umap 2025-03-20T10:29:19.328Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/273EKBKV9S98B9H1V4HL916V5.uexp 2025-03-20T10:29:16.599Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/273EKBKV9S98B9H1V4HL916V5.umap 2025-03-20T10:29:16.599Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/27RNRAS2WYBTJMIQJWNM6GBDS.ubulk 2025-03-20T10:29:17.036Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/27RNRAS2WYBTJMIQJWNM6GBDS.uexp 2025-03-20T10:29:17.046Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/27RNRAS2WYBTJMIQJWNM6GBDS.umap 2025-03-20T10:29:17.041Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/2H237VEH33492LUUWSSJC3TYF.uexp 2025-03-20T10:29:13.536Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/2H237VEH33492LUUWSSJC3TYF.umap 2025-03-20T10:29:13.531Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/2QF9E4MFKUIB9V98U04M8IZON.ubulk 2025-03-20T10:29:17.032Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/2QF9E4MFKUIB9V98U04M8IZON.uexp 2025-03-20T10:29:17.043Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/2QF9E4MFKUIB9V98U04M8IZON.umap 2025-03-20T10:29:17.036Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/2RYTH6VXMK9QYB83IZ9MH720P.ubulk 2025-03-20T10:29:19.264Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/2RYTH6VXMK9QYB83IZ9MH720P.uexp 2025-03-20T10:29:19.268Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/2RYTH6VXMK9QYB83IZ9MH720P.umap 2025-03-20T10:29:19.265Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/2Y3CCR598ABRRZKHTO4H6Y9NE.uexp 2025-03-20T10:29:13.530Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/2Y3CCR598ABRRZKHTO4H6Y9NE.umap 2025-03-20T10:29:13.529Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/30E3YRJ9DPA0R6J7FZDUSJ47Y.uexp 2025-03-20T10:29:16.352Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/30E3YRJ9DPA0R6J7FZDUSJ47Y.umap 2025-03-20T10:29:16.351Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/3U9OIYQ7ICMGY0I5ZI5UZ5ABH.uexp 2025-03-20T10:29:16.346Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/3U9OIYQ7ICMGY0I5ZI5UZ5ABH.umap 2025-03-20T10:29:16.343Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/44HCG21JCMF23X90FOI8Q2AV6.uexp 2025-03-20T10:29:16.368Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/44HCG21JCMF23X90FOI8Q2AV6.umap 2025-03-20T10:29:16.364Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/4ISXWB7I1SNJY3SAM195D6C6J.uexp 2025-03-20T10:29:16.325Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/4ISXWB7I1SNJY3SAM195D6C6J.umap 2025-03-20T10:29:16.322Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/4NRNCZDOFMT1866FAK8TK3ZWD.ubulk 2025-03-20T10:29:19.268Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/4NRNCZDOFMT1866FAK8TK3ZWD.uexp 2025-03-20T10:29:19.280Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/4NRNCZDOFMT1866FAK8TK3ZWD.umap 2025-03-20T10:29:19.275Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/4U2LKKA4YGBXVIG3GQQVG2V4T.ubulk 2025-03-20T10:29:16.348Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/4U2LKKA4YGBXVIG3GQQVG2V4T.uexp 2025-03-20T10:29:16.362Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/4U2LKKA4YGBXVIG3GQQVG2V4T.umap 2025-03-20T10:29:16.350Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/4ZTCDL2PU8EE7XIUK9SCGJPLY.uexp 2025-03-20T10:29:16.321Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/4ZTCDL2PU8EE7XIUK9SCGJPLY.umap 2025-03-20T10:29:16.319Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/4ZUY1ZAU11R4OZIRG5RBQSHDY.ubulk 2025-03-20T10:29:17.039Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/4ZUY1ZAU11R4OZIRG5RBQSHDY.uexp 2025-03-20T10:29:17.067Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/4ZUY1ZAU11R4OZIRG5RBQSHDY.umap 2025-03-20T10:29:17.041Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/5J3MJIZRES9WYIH51XR26ZJQQ.uexp 2025-03-20T10:29:16.605Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/5J3MJIZRES9WYIH51XR26ZJQQ.umap 2025-03-20T10:29:16.605Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/5OM8Z1VYBTN87JU2L8UO9IESD.uexp 2025-03-20T10:29:16.362Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/5OM8Z1VYBTN87JU2L8UO9IESD.umap 2025-03-20T10:29:16.359Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/5US9MPR7MRNXQUHJ3T0CC74VD.uexp 2025-03-20T10:29:16.531Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/5US9MPR7MRNXQUHJ3T0CC74VD.umap 2025-03-20T10:29:16.531Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/5VTVKVOJXSTF3K4E6MNFSS023.uexp 2025-03-20T10:29:16.371Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/5VTVKVOJXSTF3K4E6MNFSS023.umap 2025-03-20T10:29:16.365Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/65LE5UMZ0BTYVOO6DCFBBL0BQ.uexp 2025-03-20T10:29:16.601Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/65LE5UMZ0BTYVOO6DCFBBL0BQ.umap 2025-03-20T10:29:16.601Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/670RYM6FG3BG1IPM029I03N9T.uexp 2025-03-20T10:29:16.414Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/670RYM6FG3BG1IPM029I03N9T.umap 2025-03-20T10:29:16.362Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/6IAMW8L8MXNG0BD3XN0RNDGM1.uexp 2025-03-20T10:29:16.350Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/6IAMW8L8MXNG0BD3XN0RNDGM1.umap 2025-03-20T10:29:16.342Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/6OS9642F7JZD3VEX9MQOTU694.uexp 2025-03-20T10:29:16.348Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/6OS9642F7JZD3VEX9MQOTU694.umap 2025-03-20T10:29:16.344Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/6RD84NH82F5OGW7E2QY0Z7NRJ.uexp 2025-03-20T10:29:16.627Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/6RD84NH82F5OGW7E2QY0Z7NRJ.umap 2025-03-20T10:29:16.312Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/6RJS0H87XIMO7F4QOHQ3F87SY.uexp 2025-03-20T10:29:16.365Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/6RJS0H87XIMO7F4QOHQ3F87SY.umap 2025-03-20T10:29:16.362Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/76ELQ0EVSRZ1NAB0HW85C92J5.uexp 2025-03-20T10:29:16.358Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/76ELQ0EVSRZ1NAB0HW85C92J5.umap 2025-03-20T10:29:16.356Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/78WJ9S5KOD9H406EEMNXPT3X4.uexp 2025-03-20T10:29:16.323Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/78WJ9S5KOD9H406EEMNXPT3X4.umap 2025-03-20T10:29:16.321Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7AWVE9G3OBPLOWXY8DOUPII2C.ubulk 2025-03-20T10:29:19.319Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7AWVE9G3OBPLOWXY8DOUPII2C.uexp 2025-03-20T10:29:19.322Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7AWVE9G3OBPLOWXY8DOUPII2C.umap 2025-03-20T10:29:19.320Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7BP97Y9EH9OKLVG3KUAC2D1SZ.uexp 2025-03-20T10:29:13.529Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7BP97Y9EH9OKLVG3KUAC2D1SZ.umap 2025-03-20T10:29:13.528Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7CTIW8QJJ5YJCOHHPPFFZJBHQ.uexp 2025-03-20T10:29:16.579Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7CTIW8QJJ5YJCOHHPPFFZJBHQ.umap 2025-03-20T10:29:16.578Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7HVFGSE8BGV37E70TYP5YSF2H.ubulk 2025-03-20T10:29:19.263Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7HVFGSE8BGV37E70TYP5YSF2H.uexp 2025-03-20T10:29:19.281Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7HVFGSE8BGV37E70TYP5YSF2H.umap 2025-03-20T10:29:19.266Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7LHUJGFHRB8XW2ON5RDLIVK1G.uexp 2025-03-20T10:29:13.543Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7LHUJGFHRB8XW2ON5RDLIVK1G.umap 2025-03-20T10:29:13.537Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7RWVBRWMLXH1POJOID0RID05I.ubulk 2025-03-20T10:29:19.323Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7RWVBRWMLXH1POJOID0RID05I.uexp 2025-03-20T10:29:19.326Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7RWVBRWMLXH1POJOID0RID05I.umap 2025-03-20T10:29:19.324Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7SVFFCF9OSIBJVEKDJ7QMR5SU.uexp 2025-03-20T10:29:16.575Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/7SVFFCF9OSIBJVEKDJ7QMR5SU.umap 2025-03-20T10:29:16.575Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/82QV37RK8D8ZQIIDFZAEEUN00.uexp 2025-03-20T10:29:13.529Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/82QV37RK8D8ZQIIDFZAEEUN00.umap 2025-03-20T10:29:13.528Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/87JPRHTXXAUHHBMEYBCXT6QCR.uexp 2025-03-20T10:29:16.349Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/87JPRHTXXAUHHBMEYBCXT6QCR.umap 2025-03-20T10:29:16.343Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/881E9N873V5FR27QA5B1M2551.uexp 2025-03-20T10:29:16.355Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/881E9N873V5FR27QA5B1M2551.umap 2025-03-20T10:29:16.352Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/8A2WMNDEP4GNQKBPVV3R12MID.uexp 2025-03-20T10:29:16.364Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/8A2WMNDEP4GNQKBPVV3R12MID.umap 2025-03-20T10:29:16.360Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/8O5M5CXOEAP95LSN37FE25XY9.uexp 2025-03-20T10:29:16.337Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/8O5M5CXOEAP95LSN37FE25XY9.umap 2025-03-20T10:29:16.334Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9AW7M5T4W9AIHU86NDL2HJ3BM.ubulk 2025-03-20T10:29:17.065Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9AW7M5T4W9AIHU86NDL2HJ3BM.uexp 2025-03-20T10:29:17.067Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9AW7M5T4W9AIHU86NDL2HJ3BM.umap 2025-03-20T10:29:17.065Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9FTFBMMHRETY54LL4PSL5DWZD.uexp 2025-03-20T10:29:16.359Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9FTFBMMHRETY54LL4PSL5DWZD.umap 2025-03-20T10:29:16.357Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9M4E2KIKIXPKEODNMVCDSCTM7.ubulk 2025-03-20T10:29:19.309Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9M4E2KIKIXPKEODNMVCDSCTM7.uexp 2025-03-20T10:29:19.315Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9M4E2KIKIXPKEODNMVCDSCTM7.umap 2025-03-20T10:29:19.311Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9PM30ZK0LPO4BFXG3TB7S5249.uexp 2025-03-20T10:29:16.363Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9PM30ZK0LPO4BFXG3TB7S5249.umap 2025-03-20T10:29:16.359Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9WZDECIP1TGFUT1G1HAJRQ1EP.uexp 2025-03-20T10:29:16.332Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9WZDECIP1TGFUT1G1HAJRQ1EP.umap 2025-03-20T10:29:16.331Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9X7PQ49MFTN9XWLQ4GIJKESAQ.uexp 2025-03-20T10:29:13.537Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9X7PQ49MFTN9XWLQ4GIJKESAQ.umap 2025-03-20T10:29:13.535Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9YWQ7QBF1E3DIZ1RRKYZEB38B.uexp 2025-03-20T10:29:14.106Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/9YWQ7QBF1E3DIZ1RRKYZEB38B.umap 2025-03-20T10:29:14.105Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/A36U6M7U420BP0V63C46KBP8E.uexp 2025-03-20T10:29:16.353Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/A36U6M7U420BP0V63C46KBP8E.umap 2025-03-20T10:29:16.350Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/A9KROX7USA54LWTBHZSPIRP0Q.uexp 2025-03-20T10:29:16.348Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/A9KROX7USA54LWTBHZSPIRP0Q.umap 2025-03-20T10:29:16.343Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/AD291D9GKUQADUYYHRRDG66O3.uexp 2025-03-20T10:29:16.363Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/AD291D9GKUQADUYYHRRDG66O3.umap 2025-03-20T10:29:16.359Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/AFA3VQJLM0ULFV4NGAX2QM4V6.ubulk 2025-03-20T10:29:16.350Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/AFA3VQJLM0ULFV4NGAX2QM4V6.uexp 2025-03-20T10:29:16.356Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/AFA3VQJLM0ULFV4NGAX2QM4V6.umap 2025-03-20T10:29:16.351Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/AK06LUOH1U8LEZIJKY9Q6UWS4.uexp 2025-03-20T10:29:14.124Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/AK06LUOH1U8LEZIJKY9Q6UWS4.umap 2025-03-20T10:29:14.123Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/AL84T2RJTFQ685SCNQRS3GZHD.uexp 2025-03-20T10:29:13.490Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/AL84T2RJTFQ685SCNQRS3GZHD.umap 2025-03-20T10:29:13.489Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/AMYY1RDRAVGNXOL91KQJX5QZT.ubulk 2025-03-20T10:29:16.677Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/AMYY1RDRAVGNXOL91KQJX5QZT.uexp 2025-03-20T10:29:16.679Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/AMYY1RDRAVGNXOL91KQJX5QZT.umap 2025-03-20T10:29:16.678Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/B46778XVFILFLP8F6LJGX4IH6.uexp 2025-03-20T10:29:16.356Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/B46778XVFILFLP8F6LJGX4IH6.umap 2025-03-20T10:29:16.352Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/B6NAQSEU8HG5S9DUCKNDQ6UT5.ubulk 2025-03-20T10:29:19.265Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/B6NAQSEU8HG5S9DUCKNDQ6UT5.uexp 2025-03-20T10:29:19.278Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/B6NAQSEU8HG5S9DUCKNDQ6UT5.umap 2025-03-20T10:29:19.267Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/B92O6D6RLSUT02LPWHTV9KCXM.uexp 2025-03-20T10:29:16.344Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/B92O6D6RLSUT02LPWHTV9KCXM.umap 2025-03-20T10:29:16.337Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/BBEXK61LU828NVLU1ADON5VJA.uexp 2025-03-20T10:29:16.414Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/BBEXK61LU828NVLU1ADON5VJA.umap 2025-03-20T10:29:16.327Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/BCLRMAQKLZWMWVI53DOOTPRMA.uexp 2025-03-20T10:29:16.325Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/BCLRMAQKLZWMWVI53DOOTPRMA.umap 2025-03-20T10:29:16.323Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/BEXVYHOE4BJNJGA4KK3IAOD45.uexp 2025-03-20T10:29:16.334Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/BEXVYHOE4BJNJGA4KK3IAOD45.umap 2025-03-20T10:29:16.331Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/BZY5MHM0AG13QH1J0TWAZIXX8.uexp 2025-03-20T10:29:16.342Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/BZY5MHM0AG13QH1J0TWAZIXX8.umap 2025-03-20T10:29:16.336Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/C3SZL14XYYR3XMWOGGL2YK5X9.uexp 2025-03-20T10:29:16.349Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/C3SZL14XYYR3XMWOGGL2YK5X9.umap 2025-03-20T10:29:16.344Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/C5S8MQKTBGF75NX7ZKW8K6JJS.ubulk 2025-03-20T10:29:16.630Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/C5S8MQKTBGF75NX7ZKW8K6JJS.uexp 2025-03-20T10:29:16.632Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/C5S8MQKTBGF75NX7ZKW8K6JJS.umap 2025-03-20T10:29:16.630Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/C6PRY7N946X6BQ5ZAMWKSZMYI.uexp 2025-03-20T10:29:16.323Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/C6PRY7N946X6BQ5ZAMWKSZMYI.umap 2025-03-20T10:29:16.322Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/C8N08CD6QWPTVGQTBJ7DXNBZN.uexp 2025-03-20T10:29:16.357Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/C8N08CD6QWPTVGQTBJ7DXNBZN.umap 2025-03-20T10:29:16.353Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/CKIQ64RZPAFUQWFF8HQMR7BCE.ubulk 2025-03-20T10:29:16.701Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/CKIQ64RZPAFUQWFF8HQMR7BCE.uexp 2025-03-20T10:29:16.703Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/CKIQ64RZPAFUQWFF8HQMR7BCE.umap 2025-03-20T10:29:16.702Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/CL8K1NBCU84Z5GBCD9J0LO087.ubulk 2025-03-20T10:29:19.265Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/CL8K1NBCU84Z5GBCD9J0LO087.uexp 2025-03-20T10:29:19.275Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/CL8K1NBCU84Z5GBCD9J0LO087.umap 2025-03-20T10:29:19.266Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/CZ1R5AWU70U1G6VMVRPKZM5EY.uexp 2025-03-20T10:29:16.355Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/CZ1R5AWU70U1G6VMVRPKZM5EY.umap 2025-03-20T10:29:16.352Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/D1QO3W14TWRECN4RVZYUPK59U.uexp 2025-03-20T10:29:16.553Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/D1QO3W14TWRECN4RVZYUPK59U.umap 2025-03-20T10:29:16.552Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/DF57YF4CD036T1YWRVN0MSJSN.uexp 2025-03-20T10:29:16.340Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/DF57YF4CD036T1YWRVN0MSJSN.umap 2025-03-20T10:29:16.335Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/DP4ESOT3RRDQGKR1PNOQ8EOMZ.uexp 2025-03-20T10:29:16.331Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/DP4ESOT3RRDQGKR1PNOQ8EOMZ.umap 2025-03-20T10:29:16.327Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/DPMO5LEEXB6G0UQCQRHCP9MFB.uexp 2025-03-20T10:29:14.199Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/DPMO5LEEXB6G0UQCQRHCP9MFB.umap 2025-03-20T10:29:14.198Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/E5UONQTNBQNZNH327BIJFLH24.ubulk 2025-03-20T10:29:19.267Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/E5UONQTNBQNZNH327BIJFLH24.uexp 2025-03-20T10:29:19.280Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/E5UONQTNBQNZNH327BIJFLH24.umap 2025-03-20T10:29:19.273Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/E7PS121KW7F03HX36JOZXM9KB.ubulk 2025-03-20T10:29:19.321Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/E7PS121KW7F03HX36JOZXM9KB.uexp 2025-03-20T10:29:19.328Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/E7PS121KW7F03HX36JOZXM9KB.umap 2025-03-20T10:29:19.322Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/ESD1LEQWIV5XD23SZJ1ZJ6VSJ.uexp 2025-03-20T10:29:16.336Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/ESD1LEQWIV5XD23SZJ1ZJ6VSJ.umap 2025-03-20T10:29:16.334Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/ESUQJ7WB0UTJXZ74BQ3WUE1Q4.uexp 2025-03-20T10:29:16.337Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/ESUQJ7WB0UTJXZ74BQ3WUE1Q4.umap 2025-03-20T10:29:16.334Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/EU7XJHM31AT4FBDTXGL406UTG.uexp 2025-03-20T10:29:16.337Z +vr_great_ryc/Content/vr_very_big_map/_Generated_/EU7XJHM31AT4FBDTXGL406UTG.umap 2025-03-20T10:29:16.336Z +Engine/Content/ArtTools/RenderToTexture/MaterialFunctions/FoliageZRotation.uasset 2025-03-20T10:29:29.058Z +Engine/Content/ArtTools/RenderToTexture/MaterialFunctions/FoliageZRotation.uexp 2025-03-20T10:29:29.059Z +Engine/Content/ArtTools/RenderToTexture/Meshes/S_1_Unit_Plane.uasset 2025-03-20T10:29:10.453Z +Engine/Content/ArtTools/RenderToTexture/Meshes/S_1_Unit_Plane.ubulk 2025-03-20T10:29:10.453Z +Engine/Content/ArtTools/RenderToTexture/Meshes/S_1_Unit_Plane.uexp 2025-03-20T10:29:10.460Z +Engine/Content/EngineMaterials/Substrate/GLints/AGlintTex2dArray.uasset 2025-03-20T10:29:11.121Z +Engine/Content/EngineMaterials/Substrate/GLints/AGlintTex2dArray.uexp 2025-03-20T10:29:11.124Z +Engine/Content/EngineMaterials/Substrate/GLints2/AGlintTex2dArray2.uasset 2025-03-20T10:29:11.117Z +Engine/Content/EngineMaterials/Substrate/GLints2/AGlintTex2dArray2.uexp 2025-03-20T10:29:11.124Z +Engine/Content/EngineMaterials/Substrate/Volume/SubstrateSimpleVolumeEnvLUT3D.uasset 2025-03-20T10:29:11.122Z +Engine/Content/EngineMaterials/Substrate/Volume/SubstrateSimpleVolumeEnvLUT3D.uexp 2025-03-20T10:29:11.122Z +Engine/Content/EngineMaterials/Substrate/Volume/SubstrateSimpleVolumeLUT3D.uasset 2025-03-20T10:29:11.121Z +Engine/Content/EngineMaterials/Substrate/Volume/SubstrateSimpleVolumeLUT3D.uexp 2025-03-20T10:29:11.123Z +Engine/Content/Functions/Engine_MaterialFunctions01/Gradient/GeneratedRoundRect.uasset 2025-03-20T10:29:04.171Z +Engine/Content/Functions/Engine_MaterialFunctions01/Gradient/GeneratedRoundRect.uexp 2025-03-20T10:29:04.173Z +Engine/Content/Functions/Engine_MaterialFunctions01/Gradient/LinearGradient.uasset 2025-03-20T10:29:29.053Z +Engine/Content/Functions/Engine_MaterialFunctions01/Gradient/LinearGradient.uexp 2025-03-20T10:29:29.054Z +Engine/Content/Functions/Engine_MaterialFunctions01/Gradient/SphereGradient-2D.uasset 2025-03-20T10:29:03.516Z +Engine/Content/Functions/Engine_MaterialFunctions01/Gradient/SphereGradient-2D.uexp 2025-03-20T10:29:03.517Z +Engine/Content/Functions/Engine_MaterialFunctions01/ImageAdjustment/3ColorBlend.uasset 2025-03-20T10:29:29.044Z +Engine/Content/Functions/Engine_MaterialFunctions01/ImageAdjustment/3ColorBlend.uexp 2025-03-20T10:29:29.045Z +Engine/Content/Functions/Engine_MaterialFunctions01/ImageAdjustment/CheapContrast.uasset 2025-03-20T10:29:19.304Z +Engine/Content/Functions/Engine_MaterialFunctions01/ImageAdjustment/CheapContrast.uexp 2025-03-20T10:29:19.304Z +Engine/Content/Functions/Engine_MaterialFunctions01/Opacity/CameraDepthFade.uasset 2025-03-20T10:29:04.169Z +Engine/Content/Functions/Engine_MaterialFunctions01/Opacity/CameraDepthFade.uexp 2025-03-20T10:29:04.170Z +Engine/Content/Functions/Engine_MaterialFunctions01/Shading/ConvertFromDiffSpec.uasset 2025-03-20T10:29:04.170Z +Engine/Content/Functions/Engine_MaterialFunctions01/Shading/ConvertFromDiffSpec.uexp 2025-03-20T10:29:04.170Z +Engine/Content/Functions/Engine_MaterialFunctions01/Shading/FuzzyShading.uasset 2025-03-20T10:29:19.327Z +Engine/Content/Functions/Engine_MaterialFunctions01/Shading/FuzzyShading.uexp 2025-03-20T10:29:19.328Z +Engine/Content/Functions/Engine_MaterialFunctions01/Shading/PowerToRoughness.uasset 2025-03-20T10:29:04.169Z +Engine/Content/Functions/Engine_MaterialFunctions01/Shading/PowerToRoughness.uexp 2025-03-20T10:29:04.170Z +Engine/Content/Functions/Engine_MaterialFunctions01/SpeedTree/SpeedTreeColorVariation.uasset 2025-03-20T10:29:29.058Z +Engine/Content/Functions/Engine_MaterialFunctions01/SpeedTree/SpeedTreeColorVariation.uexp 2025-03-20T10:29:29.059Z +Engine/Content/Functions/Engine_MaterialFunctions01/Texturing/ComputeMipLevel.uasset 2025-03-20T10:29:29.051Z +Engine/Content/Functions/Engine_MaterialFunctions01/Texturing/ComputeMipLevel.uexp 2025-03-20T10:29:29.052Z +Engine/Content/Functions/Engine_MaterialFunctions01/Texturing/FlattenNormal.uasset 2025-03-20T10:29:03.519Z +Engine/Content/Functions/Engine_MaterialFunctions01/Texturing/FlattenNormal.uexp 2025-03-20T10:29:03.522Z +Engine/Content/Functions/Engine_MaterialFunctions01/Texturing/ScaleUVsByCenter.uasset 2025-03-20T10:29:04.191Z +Engine/Content/Functions/Engine_MaterialFunctions01/Texturing/ScaleUVsByCenter.uexp 2025-03-20T10:29:04.191Z +Engine/Content/Functions/Engine_MaterialFunctions01/Texturing/TextureCropping.uasset 2025-03-20T10:29:29.051Z +Engine/Content/Functions/Engine_MaterialFunctions01/Texturing/TextureCropping.uexp 2025-03-20T10:29:29.051Z +Engine/Content/Functions/Engine_MaterialFunctions01/Units/Km-to-Cm.uasset 2025-03-20T10:29:04.168Z +Engine/Content/Functions/Engine_MaterialFunctions01/Units/Km-to-Cm.uexp 2025-03-20T10:29:04.169Z +Engine/Content/Functions/Engine_MaterialFunctions01/Vectors/OctahedronToUnitVector.uasset 2025-03-20T10:29:29.052Z +Engine/Content/Functions/Engine_MaterialFunctions01/Vectors/OctahedronToUnitVector.uexp 2025-03-20T10:29:29.052Z +Engine/Content/Functions/Engine_MaterialFunctions01/Vectors/UnitVectorToOctahedron.uasset 2025-03-20T10:29:29.050Z +Engine/Content/Functions/Engine_MaterialFunctions01/Vectors/UnitVectorToOctahedron.uexp 2025-03-20T10:29:29.051Z +Engine/Content/Functions/Engine_MaterialFunctions01/WorldPositionOffset/SimpleGrassWind.uasset 2025-03-20T10:29:29.058Z +Engine/Content/Functions/Engine_MaterialFunctions01/WorldPositionOffset/SimpleGrassWind.uexp 2025-03-20T10:29:29.058Z +Engine/Content/Functions/Engine_MaterialFunctions02/ExampleContent/DebugNumberStrip.uasset 2025-03-20T10:29:29.690Z +Engine/Content/Functions/Engine_MaterialFunctions02/ExampleContent/DebugNumberStrip.uexp 2025-03-20T10:29:29.692Z +Engine/Content/Functions/Engine_MaterialFunctions02/Math/AddComponents.uasset 2025-03-20T10:29:03.518Z +Engine/Content/Functions/Engine_MaterialFunctions02/Math/AddComponents.uexp 2025-03-20T10:29:03.523Z +Engine/Content/Functions/Engine_MaterialFunctions02/Math/CreateThirdOrthogonalVector.uasset 2025-03-20T10:29:29.050Z +Engine/Content/Functions/Engine_MaterialFunctions02/Math/CreateThirdOrthogonalVector.uexp 2025-03-20T10:29:29.051Z +Engine/Content/Functions/Engine_MaterialFunctions02/Math/InverseTransformMatrix.uasset 2025-03-20T10:29:29.049Z +Engine/Content/Functions/Engine_MaterialFunctions02/Math/InverseTransformMatrix.uexp 2025-03-20T10:29:29.050Z +Engine/Content/Functions/Engine_MaterialFunctions02/Math/TimeWithSpeedVariable.uasset 2025-03-20T10:29:29.052Z +Engine/Content/Functions/Engine_MaterialFunctions02/Math/TimeWithSpeedVariable.uexp 2025-03-20T10:29:29.053Z +Engine/Content/Functions/Engine_MaterialFunctions02/Math/Transform3x3Matrix.uasset 2025-03-20T10:29:04.191Z +Engine/Content/Functions/Engine_MaterialFunctions02/Math/Transform3x3Matrix.uexp 2025-03-20T10:29:04.192Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/2dArrayLookupByIndex.uasset 2025-03-20T10:29:29.053Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/2dArrayLookupByIndex.uexp 2025-03-20T10:29:29.054Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/Black_1x1_EXR_Texture.uasset 2025-03-20T10:29:03.508Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/Black_1x1_EXR_Texture.uexp 2025-03-20T10:29:03.508Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/ms_PivotPainter2_CalculateMeshElementIndex.uasset 2025-03-20T10:29:29.052Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/ms_PivotPainter2_CalculateMeshElementIndex.uexp 2025-03-20T10:29:29.053Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/ms_PivotPainter2_Decode8BitAlphaAxisExtent.uasset 2025-03-20T10:29:29.055Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/ms_PivotPainter2_Decode8BitAlphaAxisExtent.uexp 2025-03-20T10:29:29.056Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/ms_PivotPainter2_DecodeAxisVector.uasset 2025-03-20T10:29:29.053Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/ms_PivotPainter2_DecodeAxisVector.uexp 2025-03-20T10:29:29.054Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/ms_PivotPainter2_DecodePostion.uasset 2025-03-20T10:29:29.055Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/ms_PivotPainter2_DecodePostion.uexp 2025-03-20T10:29:29.056Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/ms_PivotPainter2_ReturnParentTextureInfo.uasset 2025-03-20T10:29:29.042Z +Engine/Content/Functions/Engine_MaterialFunctions02/PivotPainter2/ms_PivotPainter2_ReturnParentTextureInfo.uexp 2025-03-20T10:29:29.042Z +Engine/Content/Functions/Engine_MaterialFunctions02/Texturing/CustomRotator.uasset 2025-03-20T10:29:03.518Z +Engine/Content/Functions/Engine_MaterialFunctions02/Texturing/CustomRotator.uexp 2025-03-20T10:29:03.524Z +Engine/Content/Functions/Engine_MaterialFunctions02/Texturing/ScreenAlignedPixelToPixelUVs.uasset 2025-03-20T10:29:03.521Z +Engine/Content/Functions/Engine_MaterialFunctions02/Texturing/ScreenAlignedPixelToPixelUVs.uexp 2025-03-20T10:29:03.524Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/BreakOutFloat2Components.uasset 2025-03-20T10:29:04.168Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/BreakOutFloat2Components.uexp 2025-03-20T10:29:04.169Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/BreakOutFloat3Components.uasset 2025-03-20T10:29:04.167Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/BreakOutFloat3Components.uexp 2025-03-20T10:29:04.168Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/BreakOutFloat4Components.uasset 2025-03-20T10:29:04.166Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/BreakOutFloat4Components.uexp 2025-03-20T10:29:04.167Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/CameraDirectionVector.uasset 2025-03-20T10:29:04.164Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/CameraDirectionVector.uexp 2025-03-20T10:29:04.165Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/DebugFloat2Values.uasset 2025-03-20T10:29:26.884Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/DebugFloat2Values.uexp 2025-03-20T10:29:26.885Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/DebugScalarValues.uasset 2025-03-20T10:29:26.920Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/DebugScalarValues.uexp 2025-03-20T10:29:26.920Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/DepthFromWorldPosition.uasset 2025-03-20T10:29:10.476Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/DepthFromWorldPosition.uexp 2025-03-20T10:29:10.477Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/DitherTemporalAA.uasset 2025-03-20T10:29:29.053Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/DitherTemporalAA.uexp 2025-03-20T10:29:29.054Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/MakeFloat2.uasset 2025-03-20T10:29:04.133Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/MakeFloat2.uexp 2025-03-20T10:29:04.134Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/MakeFloat3.uasset 2025-03-20T10:29:04.165Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/MakeFloat3.uexp 2025-03-20T10:29:04.167Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/MakeFloat4.uasset 2025-03-20T10:29:04.164Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/MakeFloat4.uexp 2025-03-20T10:29:04.166Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/VectorLength.uasset 2025-03-20T10:29:03.518Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/VectorLength.uexp 2025-03-20T10:29:03.521Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/VectorToRadialValue.uasset 2025-03-20T10:29:29.057Z +Engine/Content/Functions/Engine_MaterialFunctions02/Utility/VectorToRadialValue.uexp 2025-03-20T10:29:29.058Z +Engine/Content/Functions/Engine_MaterialFunctions02/UVs/BoundingBoxBased_0-1_UVW.uasset 2025-03-20T10:29:04.188Z +Engine/Content/Functions/Engine_MaterialFunctions02/UVs/BoundingBoxBased_0-1_UVW.uexp 2025-03-20T10:29:04.190Z +Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/CameraOffset.uasset 2025-03-20T10:29:03.516Z +Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/CameraOffset.uexp 2025-03-20T10:29:03.518Z +Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/ComponentPivotLocation.uasset 2025-03-20T10:29:29.049Z +Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/ComponentPivotLocation.uexp 2025-03-20T10:29:29.050Z +Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/ObjectPivotPoint.uasset 2025-03-20T10:29:29.057Z +Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/ObjectPivotPoint.uexp 2025-03-20T10:29:29.058Z +Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/ObjectScale.uasset 2025-03-20T10:29:04.171Z +Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/ObjectScale.uexp 2025-03-20T10:29:04.172Z +Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/Sprite.uasset 2025-03-20T10:29:26.904Z +Engine/Content/Functions/Engine_MaterialFunctions02/WorldPositionOffset/Sprite.uexp 2025-03-20T10:29:26.905Z +Engine/Content/Functions/Engine_MaterialFunctions03/Blends/Blend_ColorBurn.uasset 2025-03-20T10:29:19.324Z +Engine/Content/Functions/Engine_MaterialFunctions03/Blends/Blend_ColorBurn.uexp 2025-03-20T10:29:19.324Z +Engine/Content/Functions/Engine_MaterialFunctions03/Blends/Blend_Darken.uasset 2025-03-20T10:29:10.879Z +Engine/Content/Functions/Engine_MaterialFunctions03/Blends/Blend_Darken.uexp 2025-03-20T10:29:10.880Z +Engine/Content/Functions/Engine_MaterialFunctions03/Blends/Blend_LinearDodge.uasset 2025-03-20T10:29:29.056Z +Engine/Content/Functions/Engine_MaterialFunctions03/Blends/Blend_LinearDodge.uexp 2025-03-20T10:29:29.057Z +Engine/Content/Functions/Engine_MaterialFunctions03/Blends/Blend_Overlay.uasset 2025-03-20T10:29:29.058Z +Engine/Content/Functions/Engine_MaterialFunctions03/Blends/Blend_Overlay.uexp 2025-03-20T10:29:29.059Z +Engine/Content/Functions/Engine_MaterialFunctions03/Math/RemapValueRange.uasset 2025-03-20T10:29:03.523Z +Engine/Content/Functions/Engine_MaterialFunctions03/Math/RemapValueRange.uexp 2025-03-20T10:29:03.524Z +Engine/Content/VREditor/Devices/Generic/GenericHMD.uasset 2025-03-20T10:29:10.882Z +Engine/Content/VREditor/Devices/Generic/GenericHMD.ubulk 2025-03-20T10:29:10.881Z +Engine/Content/VREditor/Devices/Generic/GenericHMD.uexp 2025-03-20T10:29:10.887Z +Engine/Content/VREditor/Devices/Generic/GenericHMDMaterial.uasset 2025-03-20T10:29:19.265Z +Engine/Content/VREditor/Devices/Generic/GenericHMDMaterial.uexp 2025-03-20T10:29:19.266Z +Engine/Content/VREditor/Sounds/UI/Drop_Item_From_ContentBrowser.uasset 2025-03-20T10:29:10.363Z +Engine/Content/VREditor/Sounds/UI/Drop_Item_From_ContentBrowser.ubulk 2025-03-20T10:29:10.360Z +Engine/Content/VREditor/Sounds/UI/Drop_Item_From_ContentBrowser.uexp 2025-03-20T10:29:10.365Z +Engine/Content/VREditor/Sounds/UI/Gizmo_Handle_Clicked.uasset 2025-03-20T10:29:10.385Z +Engine/Content/VREditor/Sounds/UI/Gizmo_Handle_Clicked.ubulk 2025-03-20T10:29:10.380Z +Engine/Content/VREditor/Sounds/UI/Gizmo_Handle_Clicked.uexp 2025-03-20T10:29:10.391Z +Engine/Content/VREditor/Sounds/UI/Object_PickUp.uasset 2025-03-20T10:29:10.385Z +Engine/Content/VREditor/Sounds/UI/Object_PickUp.ubulk 2025-03-20T10:29:10.378Z +Engine/Content/VREditor/Sounds/UI/Object_PickUp.uexp 2025-03-20T10:29:10.391Z +Engine/Content/VREditor/Sounds/UI/Object_Snaps_To_Another_Actor.uasset 2025-03-20T10:29:10.386Z +Engine/Content/VREditor/Sounds/UI/Object_Snaps_To_Another_Actor.ubulk 2025-03-20T10:29:10.379Z +Engine/Content/VREditor/Sounds/UI/Object_Snaps_To_Another_Actor.uexp 2025-03-20T10:29:10.391Z +Engine/Content/VREditor/Sounds/UI/Object_Snaps_To_Grid.uasset 2025-03-20T10:29:10.385Z +Engine/Content/VREditor/Sounds/UI/Object_Snaps_To_Grid.ubulk 2025-03-20T10:29:10.378Z +Engine/Content/VREditor/Sounds/UI/Object_Snaps_To_Grid.uexp 2025-03-20T10:29:10.391Z +Engine/Content/VREditor/Sounds/UI/Scaling_Down.uasset 2025-03-20T10:29:10.381Z +Engine/Content/VREditor/Sounds/UI/Scaling_Down.ubulk 2025-03-20T10:29:10.376Z +Engine/Content/VREditor/Sounds/UI/Scaling_Down.uexp 2025-03-20T10:29:10.389Z +Engine/Content/VREditor/Sounds/UI/Scaling_Up.uasset 2025-03-20T10:29:10.376Z +Engine/Content/VREditor/Sounds/UI/Scaling_Up.ubulk 2025-03-20T10:29:10.372Z +Engine/Content/VREditor/Sounds/UI/Scaling_Up.uexp 2025-03-20T10:29:10.382Z +Engine/Content/VREditor/Sounds/UI/Selection_Changes.uasset 2025-03-20T10:29:10.371Z +Engine/Content/VREditor/Sounds/UI/Selection_Changes.ubulk 2025-03-20T10:29:10.370Z +Engine/Content/VREditor/Sounds/UI/Selection_Changes.uexp 2025-03-20T10:29:10.373Z +Engine/Plugins/2D/Paper2D/Content/DefaultPaperTerrainMaterial.uasset 2025-03-20T10:29:10.435Z +Engine/Plugins/2D/Paper2D/Content/DefaultPaperTerrainMaterial.uexp 2025-03-20T10:29:10.436Z +Engine/Plugins/2D/Paper2D/Content/DefaultSpriteMaterial.uasset 2025-03-20T10:29:10.473Z +Engine/Plugins/2D/Paper2D/Content/DefaultSpriteMaterial.uexp 2025-03-20T10:29:10.474Z +Engine/Plugins/2D/Paper2D/Content/DummySprite.uasset 2025-03-20T10:29:04.174Z +Engine/Plugins/2D/Paper2D/Content/DummySprite.uexp 2025-03-20T10:29:04.176Z +Engine/Plugins/2D/Paper2D/Content/MaskedUnlitSpriteMaterial.uasset 2025-03-20T10:29:10.435Z +Engine/Plugins/2D/Paper2D/Content/MaskedUnlitSpriteMaterial.uexp 2025-03-20T10:29:10.435Z +Engine/Plugins/2D/Paper2D/Content/OpaqueUnlitSpriteMaterial.uasset 2025-03-20T10:29:19.262Z +Engine/Plugins/2D/Paper2D/Content/OpaqueUnlitSpriteMaterial.uexp 2025-03-20T10:29:19.263Z +Engine/Plugins/Animation/ACLPlugin/Content/ACLAnimBoneCompressionSettings.uasset 2025-03-20T10:29:03.527Z +Engine/Plugins/Animation/ACLPlugin/Content/ACLAnimBoneCompressionSettings.uexp 2025-03-20T10:29:03.528Z +Engine/Plugins/Animation/ACLPlugin/Content/ACLAnimCurveCompressionSettings.uasset 2025-03-20T10:29:03.527Z +Engine/Plugins/Animation/ACLPlugin/Content/ACLAnimCurveCompressionSettings.uexp 2025-03-20T10:29:03.528Z +Engine/Plugins/Animation/ControlRig/Content/M_Manip.uasset 2025-03-20T10:29:10.475Z +Engine/Plugins/Animation/ControlRig/Content/M_Manip.uexp 2025-03-20T10:29:10.477Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_AdjustTwoSidedBaseColor.uasset 2025-03-20T10:29:19.322Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_AdjustTwoSidedBaseColor.uexp 2025-03-20T10:29:19.327Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_AdjustTwoSidedNormal.uasset 2025-03-20T10:29:19.326Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_AdjustTwoSidedNormal.uexp 2025-03-20T10:29:19.329Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_AOAdjustments.uasset 2025-03-20T10:29:19.330Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_AOAdjustments.uexp 2025-03-20T10:29:19.340Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_BaseColorAdjustments.uasset 2025-03-20T10:29:19.349Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_BaseColorAdjustments.uexp 2025-03-20T10:29:19.350Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_DistanceBasedGradient.uasset 2025-03-20T10:29:19.328Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_DistanceBasedGradient.uexp 2025-03-20T10:29:19.349Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_DistanceBasedOpacity.uasset 2025-03-20T10:29:19.316Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_DistanceBasedOpacity.uexp 2025-03-20T10:29:19.323Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_Fuzz.uasset 2025-03-20T10:29:19.329Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_Fuzz.uexp 2025-03-20T10:29:19.349Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_GenerateBranchMask_Plants.uasset 2025-03-20T10:29:19.324Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_GenerateBranchMask_Plants.uexp 2025-03-20T10:29:19.327Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_GenerateTranslucency.uasset 2025-03-20T10:29:19.324Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_GenerateTranslucency.uexp 2025-03-20T10:29:19.328Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_GenerateTwoSidedSpecular.uasset 2025-03-20T10:29:19.323Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_GenerateTwoSidedSpecular.uexp 2025-03-20T10:29:19.325Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_GrowthEffect.uasset 2025-03-20T10:29:19.324Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_GrowthEffect.uexp 2025-03-20T10:29:19.325Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_HealthSeason.uasset 2025-03-20T10:29:19.321Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_HealthSeason.uexp 2025-03-20T10:29:19.323Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_NormalAdjustments.uasset 2025-03-20T10:29:19.337Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_NormalAdjustments.uexp 2025-03-20T10:29:19.337Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_PerInstanceActorRandom.uasset 2025-03-20T10:29:19.327Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_PerInstanceActorRandom.uexp 2025-03-20T10:29:19.329Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_RoughnessAdjustments.uasset 2025-03-20T10:29:19.341Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_RoughnessAdjustments.uexp 2025-03-20T10:29:19.341Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_Tiling.uasset 2025-03-20T10:29:19.328Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_Tiling.uexp 2025-03-20T10:29:19.340Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_TwoSidedRoughness.uasset 2025-03-20T10:29:19.318Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_TwoSidedRoughness.uexp 2025-03-20T10:29:19.322Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_WindAnimation.uasset 2025-03-20T10:29:19.315Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_WindAnimation.uexp 2025-03-20T10:29:19.318Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_WindGust.uasset 2025-03-20T10:29:19.317Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_WindGust.uexp 2025-03-20T10:29:19.322Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_WorldspaceColorVariation.uasset 2025-03-20T10:29:19.322Z +Engine/Plugins/Fab/Content/MaterialFunctions/QMF_WorldspaceColorVariation.uexp 2025-03-20T10:29:19.323Z +Engine/Plugins/Fab/Content/MaterialParameterCollection/QMPC_GlobalFoliageActor.uasset 2025-03-20T10:29:19.324Z +Engine/Plugins/Fab/Content/MaterialParameterCollection/QMPC_GlobalFoliageActor.uexp 2025-03-20T10:29:19.325Z +Engine/Plugins/Media/MediaPlate/Content/SM_MediaPlateScreen.uasset 2025-03-20T10:29:10.453Z +Engine/Plugins/Media/MediaPlate/Content/SM_MediaPlateScreen.ubulk 2025-03-20T10:29:10.453Z +Engine/Plugins/Media/MediaPlate/Content/SM_MediaPlateScreen.uexp 2025-03-20T10:29:10.459Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDIM_ColorAlbedoNormal_Alpha.uasset 2025-03-20T10:29:10.398Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDIM_ColorAlbedoNormal_Alpha.uexp 2025-03-20T10:29:10.401Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDIM_ColorAlbedoNormal_Default.uasset 2025-03-20T10:29:10.399Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDIM_ColorAlbedoNormal_Default.uexp 2025-03-20T10:29:10.401Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDIM_HighQuality_Alpha.uasset 2025-03-20T10:29:10.401Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDIM_HighQuality_Alpha.uexp 2025-03-20T10:29:10.403Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDIM_HighQuality_Default.uasset 2025-03-20T10:29:10.403Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDIM_HighQuality_Default.uexp 2025-03-20T10:29:10.411Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDOM_Output_Alpha.uasset 2025-03-20T10:29:10.412Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDOM_Output_Alpha.uexp 2025-03-20T10:29:10.421Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDOM_Output_Default.uasset 2025-03-20T10:29:10.413Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDOM_Output_Default.uexp 2025-03-20T10:29:10.422Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDTIM_ColorAlbedoNormal_Alpha.uasset 2025-03-20T10:29:10.411Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDTIM_ColorAlbedoNormal_Alpha.uexp 2025-03-20T10:29:10.414Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDTIM_ColorAlbedoNormal_Default.uasset 2025-03-20T10:29:10.412Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDTIM_ColorAlbedoNormal_Default.uexp 2025-03-20T10:29:10.422Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDTOM_Output_Alpha.uasset 2025-03-20T10:29:10.413Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDTOM_Output_Alpha.uexp 2025-03-20T10:29:10.422Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDTOM_Output_Default.uasset 2025-03-20T10:29:10.413Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDTOM_Output_Default.uexp 2025-03-20T10:29:10.422Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDT_Oidn2-3_Balanced.uasset 2025-03-20T10:29:10.414Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDT_Oidn2-3_Balanced.uexp 2025-03-20T10:29:10.424Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDT_Oidn2-3_Balanced_Alpha.uasset 2025-03-20T10:29:10.426Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNEDT_Oidn2-3_Balanced_Alpha.uexp 2025-03-20T10:29:10.432Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNED_Oidn2-3_Balanced.uasset 2025-03-20T10:29:10.427Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNED_Oidn2-3_Balanced.uexp 2025-03-20T10:29:10.434Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNED_Oidn2-3_Balanced_Alpha.uasset 2025-03-20T10:29:10.426Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNED_Oidn2-3_Balanced_Alpha.uexp 2025-03-20T10:29:10.433Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNED_Oidn2-3_Fast.uasset 2025-03-20T10:29:10.425Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNED_Oidn2-3_Fast.uexp 2025-03-20T10:29:10.434Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNED_Oidn2-3_Fast_Alpha.uasset 2025-03-20T10:29:10.426Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNED_Oidn2-3_Fast_Alpha.uexp 2025-03-20T10:29:10.433Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNED_Oidn2-3_HighQuality.uasset 2025-03-20T10:29:10.428Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNED_Oidn2-3_HighQuality.uexp 2025-03-20T10:29:10.436Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNED_Oidn2-3_HighQuality_Alpha.uasset 2025-03-20T10:29:10.432Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNED_Oidn2-3_HighQuality_Alpha.uexp 2025-03-20T10:29:10.436Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNE_oidn2-3-0_rt_hdr_alb_nrm_small__dyn__fp16_opset11_DenoiseAlpha.uasset 2025-03-20T10:29:10.427Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNE_oidn2-3-0_rt_hdr_alb_nrm_small__dyn__fp16_opset11_DenoiseAlpha.uexp 2025-03-20T10:29:10.437Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNE_oidn2-3-0_rt_hdr_alb_nrm_small__dyn__fp16_opset11_ForwardAlpha.uasset 2025-03-20T10:29:10.435Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNE_oidn2-3-0_rt_hdr_alb_nrm_small__dyn__fp16_opset11_ForwardAlpha.uexp 2025-03-20T10:29:10.445Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNE_oidn2-3-0_rt_hdr_alb_nrm__dyn__fp16_opset11_DenoiseAlpha.uasset 2025-03-20T10:29:10.398Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNE_oidn2-3-0_rt_hdr_alb_nrm__dyn__fp16_opset11_DenoiseAlpha.uexp 2025-03-20T10:29:10.428Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNE_oidn2-3-0_rt_hdr_alb_nrm__dyn__fp16_opset11_ForwardAlpha.uasset 2025-03-20T10:29:10.402Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNE_oidn2-3-0_rt_hdr_alb_nrm__dyn__fp16_opset11_ForwardAlpha.uexp 2025-03-20T10:29:10.415Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNE_oidn2-3-0_rt_hdr_calb_cnrm_large__dyn__fp16_opset11_DenoiseAlpha.uasset 2025-03-20T10:29:10.403Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNE_oidn2-3-0_rt_hdr_calb_cnrm_large__dyn__fp16_opset11_DenoiseAlpha.uexp 2025-03-20T10:29:10.660Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNE_oidn2-3-0_rt_hdr_calb_cnrm_large__dyn__fp16_opset11_ForwardAlpha.uasset 2025-03-20T10:29:10.408Z +Engine/Plugins/NNE/NNEDenoiser/Content/NNE_oidn2-3-0_rt_hdr_calb_cnrm_large__dyn__fp16_opset11_ForwardAlpha.uexp 2025-03-20T10:29:10.635Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Field_03_PP.uasset 2025-03-20T10:29:26.920Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Field_03_PP.ubulk 2025-03-20T10:29:26.920Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Field_03_PP.uexp 2025-03-20T10:29:29.312Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Field_03_PP_FoliageType.uasset 2025-03-20T10:29:19.307Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Field_03_PP_FoliageType.uexp 2025-03-20T10:29:19.309Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Forest_08_PP.uasset 2025-03-20T10:29:26.881Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Forest_08_PP.ubulk 2025-03-20T10:29:26.880Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Forest_08_PP.uexp 2025-03-20T10:29:26.883Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Forest_08_PP_FoliageType.uasset 2025-03-20T10:29:19.303Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Forest_08_PP_FoliageType.uexp 2025-03-20T10:29:19.305Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Forest_09_PP.uasset 2025-03-20T10:29:26.877Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Forest_09_PP.ubulk 2025-03-20T10:29:26.877Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Forest_09_PP.uexp 2025-03-20T10:29:26.885Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Forest_09_PP_FoliageType.uasset 2025-03-20T10:29:19.304Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Forest_09_PP_FoliageType.uexp 2025-03-20T10:29:19.306Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Sapling_06_PP.uasset 2025-03-20T10:29:26.882Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Sapling_06_PP.ubulk 2025-03-20T10:29:26.881Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Sapling_06_PP.uexp 2025-03-20T10:29:26.884Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Sapling_06_PP_FoliageType.uasset 2025-03-20T10:29:19.303Z +vr_great_ryc/Content/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Sapling_06_PP_FoliageType.uexp 2025-03-20T10:29:19.307Z +vr_great_ryc/Content/BlackAlder/Materials/Impostor/MAI_Impostor_BlackAlder.uasset 2025-03-20T10:35:05.482Z +vr_great_ryc/Content/BlackAlder/Materials/Impostor/MAI_Impostor_BlackAlder.uexp 2025-03-20T10:35:05.483Z +vr_great_ryc/Content/BlackAlder/Materials/Impostor/MI_Impostor_Field_03.uasset 2025-03-20T10:35:06.599Z +vr_great_ryc/Content/BlackAlder/Materials/Impostor/MI_Impostor_Field_03.uexp 2025-03-20T10:35:06.601Z +vr_great_ryc/Content/BlackAlder/Textures/Decoration/T_BlackAlder_Decoration_Albedo.uasset 2025-03-20T10:29:32.255Z +vr_great_ryc/Content/BlackAlder/Textures/Decoration/T_BlackAlder_Decoration_Albedo.ubulk 2025-03-20T10:29:32.051Z +vr_great_ryc/Content/BlackAlder/Textures/Decoration/T_BlackAlder_Decoration_Albedo.uexp 2025-03-20T10:29:32.256Z +vr_great_ryc/Content/BlackAlder/Textures/Decoration/T_BlackAlder_Decoration_Albedo.uptnl 2025-03-20T10:29:32.254Z +vr_great_ryc/Content/BlackAlder/Textures/Decoration/T_BlackAlder_Decoration_Mask.uasset 2025-03-20T10:29:32.043Z +vr_great_ryc/Content/BlackAlder/Textures/Decoration/T_BlackAlder_Decoration_Mask.ubulk 2025-03-20T10:29:32.042Z +vr_great_ryc/Content/BlackAlder/Textures/Decoration/T_BlackAlder_Decoration_Mask.uexp 2025-03-20T10:29:32.043Z +vr_great_ryc/Content/BlackAlder/Textures/Decoration/T_BlackAlder_Decoration_Normal.uasset 2025-03-20T10:29:32.051Z +vr_great_ryc/Content/BlackAlder/Textures/Decoration/T_BlackAlder_Decoration_Normal.ubulk 2025-03-20T10:29:32.050Z +vr_great_ryc/Content/BlackAlder/Textures/Decoration/T_BlackAlder_Decoration_Normal.uexp 2025-03-20T10:29:32.051Z +vr_great_ryc/Content/BlackAlder/Textures/Tileable/T_BlackAlder_Tileable_Albedo.uasset 2025-03-20T10:29:32.292Z +vr_great_ryc/Content/BlackAlder/Textures/Tileable/T_BlackAlder_Tileable_Albedo.ubulk 2025-03-20T10:29:32.151Z +vr_great_ryc/Content/BlackAlder/Textures/Tileable/T_BlackAlder_Tileable_Albedo.uexp 2025-03-20T10:29:32.292Z +vr_great_ryc/Content/BlackAlder/Textures/Tileable/T_BlackAlder_Tileable_Albedo.uptnl 2025-03-20T10:29:32.291Z +vr_great_ryc/Content/BlackAlder/Textures/Tileable/T_BlackAlder_Tileable_Mask.uasset 2025-03-20T10:29:32.115Z +vr_great_ryc/Content/BlackAlder/Textures/Tileable/T_BlackAlder_Tileable_Mask.ubulk 2025-03-20T10:29:32.115Z +vr_great_ryc/Content/BlackAlder/Textures/Tileable/T_BlackAlder_Tileable_Mask.uexp 2025-03-20T10:29:32.116Z +vr_great_ryc/Content/BlackAlder/Textures/Tileable/T_BlackAlder_Tileable_Normal.uasset 2025-03-20T10:29:32.454Z +vr_great_ryc/Content/BlackAlder/Textures/Tileable/T_BlackAlder_Tileable_Normal.ubulk 2025-03-20T10:29:32.195Z +vr_great_ryc/Content/BlackAlder/Textures/Tileable/T_BlackAlder_Tileable_Normal.uexp 2025-03-20T10:29:32.455Z +vr_great_ryc/Content/BlackAlder/Textures/Tileable/T_BlackAlder_Tileable_Normal.uptnl 2025-03-20T10:29:32.453Z +vr_great_ryc/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Grasp_Right.uasset 2025-03-20T10:29:11.133Z +vr_great_ryc/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Grasp_Right.uexp 2025-03-20T10:29:11.134Z +vr_great_ryc/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Idle_Right.uasset 2025-03-20T10:29:11.118Z +vr_great_ryc/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Idle_Right.uexp 2025-03-20T10:29:11.119Z +vr_great_ryc/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_IndexCurl_Right.uasset 2025-03-20T10:29:11.133Z +vr_great_ryc/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_IndexCurl_Right.uexp 2025-03-20T10:29:11.135Z +vr_great_ryc/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Point_Right.uasset 2025-03-20T10:29:11.134Z +vr_great_ryc/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_Point_Right.uexp 2025-03-20T10:29:11.134Z +vr_great_ryc/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_ThumbUp_Right.uasset 2025-03-20T10:29:11.110Z +vr_great_ryc/Content/Characters/MannequinsXR/Animations/A_MannequinsXR_ThumbUp_Right.uexp 2025-03-20T10:29:11.115Z +vr_great_ryc/Content/Characters/MannequinsXR/Animations/MDT_MannequinsXR.uasset 2025-03-20T10:29:10.477Z +vr_great_ryc/Content/Characters/MannequinsXR/Animations/MDT_MannequinsXR.uexp 2025-03-20T10:29:10.478Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/M_Mannequin.uasset 2025-03-20T10:29:16.332Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/M_Mannequin.uexp 2025-03-20T10:29:16.333Z +vr_great_ryc/Content/Characters/MannequinsXR/Meshes/ABP_MannequinsXR.uasset 2025-03-20T10:29:29.049Z +vr_great_ryc/Content/Characters/MannequinsXR/Meshes/ABP_MannequinsXR.uexp 2025-03-20T10:29:29.050Z +vr_great_ryc/Content/Characters/MannequinsXR/Meshes/SKM_MannyXR_left.uasset 2025-03-20T10:29:17.130Z +vr_great_ryc/Content/Characters/MannequinsXR/Meshes/SKM_MannyXR_left.uexp 2025-03-20T10:29:17.131Z +vr_great_ryc/Content/Characters/MannequinsXR/Meshes/SKM_MannyXR_right.uasset 2025-03-20T10:29:19.299Z +vr_great_ryc/Content/Characters/MannequinsXR/Meshes/SKM_MannyXR_right.uexp 2025-03-20T10:29:19.300Z +vr_great_ryc/Content/Characters/MannequinsXR/Meshes/SK_MannequinsXR.uasset 2025-03-20T10:29:10.468Z +vr_great_ryc/Content/Characters/MannequinsXR/Meshes/SK_MannequinsXR.uexp 2025-03-20T10:29:10.468Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/arrows_signs.uasset 2025-03-20T10:29:26.877Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/arrows_signs.ubulk 2025-03-20T10:29:26.877Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/arrows_signs.uexp 2025-03-20T10:29:26.878Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/bp_path_both_direction.uasset 2025-03-20T10:29:19.301Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/bp_path_both_direction.uexp 2025-03-20T10:29:19.301Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/Metal.uasset 2025-03-20T10:29:29.068Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/Metal.uexp 2025-03-20T10:29:29.068Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/Natural_Wood2.uasset 2025-03-20T10:29:29.068Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/Natural_Wood2.uexp 2025-03-20T10:29:29.068Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/wood_21_color.uasset 2025-03-20T10:29:26.952Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/wood_21_color.ubulk 2025-03-20T10:29:26.948Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/wood_21_color.uexp 2025-03-20T10:29:26.953Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/wood_21_roughness.uasset 2025-03-20T10:29:26.908Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/wood_21_roughness.ubulk 2025-03-20T10:29:26.907Z +vr_great_ryc/Content/Fab/arrows_sign/both_ways/wood_21_roughness.uexp 2025-03-20T10:29:26.908Z +vr_great_ryc/Content/Fab/arrows_sign/left/arrows_sign_left.uasset 2025-03-20T10:29:19.302Z +vr_great_ryc/Content/Fab/arrows_sign/left/arrows_sign_left.ubulk 2025-03-20T10:29:19.301Z +vr_great_ryc/Content/Fab/arrows_sign/left/arrows_sign_left.uexp 2025-03-20T10:29:19.303Z +vr_great_ryc/Content/Fab/arrows_sign/left/bp_path_left_direction.uasset 2025-03-20T10:29:19.302Z +vr_great_ryc/Content/Fab/arrows_sign/left/bp_path_left_direction.uexp 2025-03-20T10:29:19.303Z +vr_great_ryc/Content/Fab/arrows_sign/left/Metal.uasset 2025-03-20T10:29:29.068Z +vr_great_ryc/Content/Fab/arrows_sign/left/Metal.uexp 2025-03-20T10:29:29.069Z +vr_great_ryc/Content/Fab/arrows_sign/left/Natural_Wood2.uasset 2025-03-20T10:29:29.068Z +vr_great_ryc/Content/Fab/arrows_sign/left/Natural_Wood2.uexp 2025-03-20T10:29:29.068Z +vr_great_ryc/Content/Fab/arrows_sign/left/wood_21_color.uasset 2025-03-20T10:29:26.877Z +vr_great_ryc/Content/Fab/arrows_sign/left/wood_21_color.ubulk 2025-03-20T10:29:26.876Z +vr_great_ryc/Content/Fab/arrows_sign/left/wood_21_color.uexp 2025-03-20T10:29:26.878Z +vr_great_ryc/Content/Fab/arrows_sign/left/wood_21_roughness.uasset 2025-03-20T10:29:26.876Z +vr_great_ryc/Content/Fab/arrows_sign/left/wood_21_roughness.ubulk 2025-03-20T10:29:26.876Z +vr_great_ryc/Content/Fab/arrows_sign/left/wood_21_roughness.uexp 2025-03-20T10:29:26.884Z +vr_great_ryc/Content/Fab/arrows_sign/right/arrows_sign_right.uasset 2025-03-20T10:29:17.054Z +vr_great_ryc/Content/Fab/arrows_sign/right/arrows_sign_right.ubulk 2025-03-20T10:29:17.053Z +vr_great_ryc/Content/Fab/arrows_sign/right/arrows_sign_right.uexp 2025-03-20T10:29:17.054Z +vr_great_ryc/Content/Fab/arrows_sign/right/bp_path_right_direction.uasset 2025-03-20T10:29:17.030Z +vr_great_ryc/Content/Fab/arrows_sign/right/bp_path_right_direction.uexp 2025-03-20T10:29:17.031Z +vr_great_ryc/Content/Fab/arrows_sign/right/Metal.uasset 2025-03-20T10:29:26.858Z +vr_great_ryc/Content/Fab/arrows_sign/right/Metal.uexp 2025-03-20T10:29:26.858Z +vr_great_ryc/Content/Fab/arrows_sign/right/Natural_Wood2.uasset 2025-03-20T10:29:26.855Z +vr_great_ryc/Content/Fab/arrows_sign/right/Natural_Wood2.uexp 2025-03-20T10:29:26.857Z +vr_great_ryc/Content/Fab/arrows_sign/right/wood_21_color.uasset 2025-03-20T10:29:19.280Z +vr_great_ryc/Content/Fab/arrows_sign/right/wood_21_color.ubulk 2025-03-20T10:29:19.279Z +vr_great_ryc/Content/Fab/arrows_sign/right/wood_21_color.uexp 2025-03-20T10:29:19.283Z +vr_great_ryc/Content/Fab/arrows_sign/right/wood_21_roughness.uasset 2025-03-20T10:29:19.283Z +vr_great_ryc/Content/Fab/arrows_sign/right/wood_21_roughness.ubulk 2025-03-20T10:29:19.280Z +vr_great_ryc/Content/Fab/arrows_sign/right/wood_21_roughness.uexp 2025-03-20T10:29:19.285Z +vr_great_ryc/Content/Fab/arrows_sign/straight/arrows_sign_straight.uasset 2025-03-20T10:29:19.303Z +vr_great_ryc/Content/Fab/arrows_sign/straight/arrows_sign_straight.ubulk 2025-03-20T10:29:19.302Z +vr_great_ryc/Content/Fab/arrows_sign/straight/arrows_sign_straight.uexp 2025-03-20T10:29:19.303Z +vr_great_ryc/Content/Fab/arrows_sign/straight/bp_path_straight_direction.uasset 2025-03-20T10:29:19.302Z +vr_great_ryc/Content/Fab/arrows_sign/straight/bp_path_straight_direction.uexp 2025-03-20T10:29:19.302Z +vr_great_ryc/Content/Fab/arrows_sign/straight/Metal.uasset 2025-03-20T10:29:29.068Z +vr_great_ryc/Content/Fab/arrows_sign/straight/Metal.uexp 2025-03-20T10:29:29.069Z +vr_great_ryc/Content/Fab/arrows_sign/straight/Natural_Wood2.uasset 2025-03-20T10:29:29.068Z +vr_great_ryc/Content/Fab/arrows_sign/straight/Natural_Wood2.uexp 2025-03-20T10:29:29.069Z +vr_great_ryc/Content/Fab/arrows_sign/straight/wood_21_color.uasset 2025-03-20T10:29:26.884Z +vr_great_ryc/Content/Fab/arrows_sign/straight/wood_21_color.ubulk 2025-03-20T10:29:26.880Z +vr_great_ryc/Content/Fab/arrows_sign/straight/wood_21_color.uexp 2025-03-20T10:29:26.885Z +vr_great_ryc/Content/Fab/arrows_sign/straight/wood_21_roughness.uasset 2025-03-20T10:29:26.898Z +vr_great_ryc/Content/Fab/arrows_sign/straight/wood_21_roughness.ubulk 2025-03-20T10:29:26.897Z +vr_great_ryc/Content/Fab/arrows_sign/straight/wood_21_roughness.uexp 2025-03-20T10:29:26.898Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/MI_Modular_Concrete_Median_vdqndd1dw_4K.uasset 2025-03-20T10:29:19.307Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/MI_Modular_Concrete_Median_vdqndd1dw_4K.uexp 2025-03-20T10:29:19.310Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/S_Modular_Concrete_Median_vdqndd1dw_lod0_Var1.uasset 2025-03-20T10:29:19.309Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/S_Modular_Concrete_Median_vdqndd1dw_lod0_Var1.ubulk 2025-03-20T10:29:19.307Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/S_Modular_Concrete_Median_vdqndd1dw_lod0_Var1.uexp 2025-03-20T10:29:19.314Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/T_ModularConcreteMedian_vdqndd1dw_4K_DpR.uasset 2025-03-20T10:29:29.035Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/T_ModularConcreteMedian_vdqndd1dw_4K_DpR.ubulk 2025-03-20T10:29:26.938Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/T_ModularConcreteMedian_vdqndd1dw_4K_DpR.uexp 2025-03-20T10:29:29.037Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/T_Modular_Concrete_Median_vdqndd1dw_4K_D.uasset 2025-03-20T10:29:26.952Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/T_Modular_Concrete_Median_vdqndd1dw_4K_D.ubulk 2025-03-20T10:29:26.951Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/T_Modular_Concrete_Median_vdqndd1dw_4K_D.uexp 2025-03-20T10:29:26.953Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/T_Modular_Concrete_Median_vdqndd1dw_4K_N.uasset 2025-03-20T10:29:29.098Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/T_Modular_Concrete_Median_vdqndd1dw_4K_N.ubulk 2025-03-20T10:29:29.097Z +vr_great_ryc/Content/Megascans/3D_Assets/Modular_Concrete_Median_vdqndd1dw/T_Modular_Concrete_Median_vdqndd1dw_4K_N.uexp 2025-03-20T10:29:29.099Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/MI_Kikuyu_Grass_wiljearqx_1K.uasset 2025-03-20T10:29:29.057Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/MI_Kikuyu_Grass_wiljearqx_1K.uexp 2025-03-20T10:29:29.058Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/MI_Kikuyu_Grass_wiljearqx_Billboard_1K.uasset 2025-03-20T10:29:29.057Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/MI_Kikuyu_Grass_wiljearqx_Billboard_1K.uexp 2025-03-20T10:29:29.058Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/S_Kikuyu_Grass_wiljearqx_Var14_lod3.uasset 2025-03-20T10:29:29.714Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/S_Kikuyu_Grass_wiljearqx_Var14_lod3.ubulk 2025-03-20T10:29:29.713Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/S_Kikuyu_Grass_wiljearqx_Var14_lod3.uexp 2025-03-20T10:29:29.716Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_KikuyuGrass_wiljearqx_1K_ART.uasset 2025-03-20T10:29:31.946Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_KikuyuGrass_wiljearqx_1K_ART.ubulk 2025-03-20T10:29:31.945Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_KikuyuGrass_wiljearqx_1K_ART.uexp 2025-03-20T10:29:31.947Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_KikuyuGrass_wiljearqx_1K_billboard_ART.uasset 2025-03-20T10:29:31.949Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_KikuyuGrass_wiljearqx_1K_billboard_ART.ubulk 2025-03-20T10:29:31.948Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_KikuyuGrass_wiljearqx_1K_billboard_ART.uexp 2025-03-20T10:29:31.949Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_Kikuyu_Grass_wiljearqx_1K_D.uasset 2025-03-20T10:29:31.947Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_Kikuyu_Grass_wiljearqx_1K_D.ubulk 2025-03-20T10:29:31.946Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_Kikuyu_Grass_wiljearqx_1K_D.uexp 2025-03-20T10:29:31.947Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_Kikuyu_Grass_wiljearqx_1K_N.uasset 2025-03-20T10:29:31.948Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_Kikuyu_Grass_wiljearqx_1K_N.ubulk 2025-03-20T10:29:31.947Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_Kikuyu_Grass_wiljearqx_1K_N.uexp 2025-03-20T10:29:31.948Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_Kikuyu_Grass_wiljearqx_Billboard_D.uasset 2025-03-20T10:29:31.972Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_Kikuyu_Grass_wiljearqx_Billboard_D.ubulk 2025-03-20T10:29:31.972Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_Kikuyu_Grass_wiljearqx_Billboard_D.uexp 2025-03-20T10:29:31.973Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_Kikuyu_Grass_wiljearqx_Billboard_N.uasset 2025-03-20T10:29:31.970Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_Kikuyu_Grass_wiljearqx_Billboard_N.ubulk 2025-03-20T10:29:31.969Z +vr_great_ryc/Content/Megascans/3D_Plants/Kikuyu_Grass_wiljearqx/T_Kikuyu_Grass_wiljearqx_Billboard_N.uexp 2025-03-20T10:29:31.971Z +vr_great_ryc/Content/Megascans/Surfaces/Desert_Outback_Ground_Dirt_Rocky_09_xisbchvs/T_Desert_Outback_Ground_Dirt_Rocky_09_xisbchvs_4K_D.uasset 2025-03-20T10:29:32.008Z +vr_great_ryc/Content/Megascans/Surfaces/Desert_Outback_Ground_Dirt_Rocky_09_xisbchvs/T_Desert_Outback_Ground_Dirt_Rocky_09_xisbchvs_4K_D.ubulk 2025-03-20T10:29:32.007Z +vr_great_ryc/Content/Megascans/Surfaces/Desert_Outback_Ground_Dirt_Rocky_09_xisbchvs/T_Desert_Outback_Ground_Dirt_Rocky_09_xisbchvs_4K_D.uexp 2025-03-20T10:29:32.008Z +vr_great_ryc/Content/Megascans/Surfaces/Desert_Outback_Ground_Dirt_Rocky_09_xisbchvs/T_Desert_Outback_Ground_Dirt_Rocky_09_xisbchvs_4K_N.uasset 2025-03-20T10:29:32.084Z +vr_great_ryc/Content/Megascans/Surfaces/Desert_Outback_Ground_Dirt_Rocky_09_xisbchvs/T_Desert_Outback_Ground_Dirt_Rocky_09_xisbchvs_4K_N.ubulk 2025-03-20T10:29:32.084Z +vr_great_ryc/Content/Megascans/Surfaces/Desert_Outback_Ground_Dirt_Rocky_09_xisbchvs/T_Desert_Outback_Ground_Dirt_Rocky_09_xisbchvs_4K_N.uexp 2025-03-20T10:29:32.085Z +vr_great_ryc/Content/Megascans/Surfaces/Lawn_Grass_tkynejer/T_LawnGrass_tkynejer_8K_ORDp.uasset 2025-03-20T10:29:32.188Z +vr_great_ryc/Content/Megascans/Surfaces/Lawn_Grass_tkynejer/T_LawnGrass_tkynejer_8K_ORDp.ubulk 2025-03-20T10:29:31.997Z +vr_great_ryc/Content/Megascans/Surfaces/Lawn_Grass_tkynejer/T_LawnGrass_tkynejer_8K_ORDp.uexp 2025-03-20T10:29:32.188Z +vr_great_ryc/Content/Megascans/Surfaces/Lawn_Grass_tkynejer/T_LawnGrass_tkynejer_8K_ORDp.uptnl 2025-03-20T10:29:32.187Z +vr_great_ryc/Content/Megascans/Surfaces/Lawn_Grass_tkynejer/T_Lawn_Grass_tkynejer_8K_D.uasset 2025-03-20T10:29:32.212Z +vr_great_ryc/Content/Megascans/Surfaces/Lawn_Grass_tkynejer/T_Lawn_Grass_tkynejer_8K_D.ubulk 2025-03-20T10:29:32.038Z +vr_great_ryc/Content/Megascans/Surfaces/Lawn_Grass_tkynejer/T_Lawn_Grass_tkynejer_8K_D.uexp 2025-03-20T10:29:32.213Z +vr_great_ryc/Content/Megascans/Surfaces/Lawn_Grass_tkynejer/T_Lawn_Grass_tkynejer_8K_D.uptnl 2025-03-20T10:29:32.212Z +vr_great_ryc/Content/Megascans/Surfaces/Lawn_Grass_tkynejer/T_Lawn_Grass_tkynejer_8K_N.uasset 2025-03-20T10:29:32.394Z +vr_great_ryc/Content/Megascans/Surfaces/Lawn_Grass_tkynejer/T_Lawn_Grass_tkynejer_8K_N.ubulk 2025-03-20T10:29:32.083Z +vr_great_ryc/Content/Megascans/Surfaces/Lawn_Grass_tkynejer/T_Lawn_Grass_tkynejer_8K_N.uexp 2025-03-20T10:29:32.394Z +vr_great_ryc/Content/Megascans/Surfaces/Lawn_Grass_tkynejer/T_Lawn_Grass_tkynejer_8K_N.uptnl 2025-03-20T10:29:32.393Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MasterMaterials/MA_Foliage.uasset 2025-03-20T10:38:22.496Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MasterMaterials/MA_Foliage.uexp 2025-03-20T10:38:22.498Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MasterMaterials/MA_Impostor_SimpleOffset_MS.uasset 2025-03-20T10:33:24.026Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MasterMaterials/MA_Impostor_SimpleOffset_MS.uexp 2025-03-20T10:33:24.027Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialParameterCollection/MPC_GlobalFoliageActor.uasset 2025-03-20T10:29:29.053Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialParameterCollection/MPC_GlobalFoliageActor.uexp 2025-03-20T10:29:29.054Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Grab_Left.uasset 2025-03-20T10:29:10.471Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Grab_Left.uexp 2025-03-20T10:29:10.473Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Grab_Right.uasset 2025-03-20T10:29:10.469Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Grab_Right.uexp 2025-03-20T10:29:10.471Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Menu_Cursor_Left.uasset 2025-03-20T10:29:10.400Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Menu_Cursor_Left.uexp 2025-03-20T10:29:10.410Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Menu_Cursor_Right.uasset 2025-03-20T10:29:10.392Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Menu_Cursor_Right.uexp 2025-03-20T10:29:10.396Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Menu_Interact_Left.uasset 2025-03-20T10:29:10.393Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Menu_Interact_Left.uexp 2025-03-20T10:29:10.401Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Menu_Interact_Right.uasset 2025-03-20T10:29:10.397Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Menu_Interact_Right.uexp 2025-03-20T10:29:10.398Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Menu_Toggle_Left.uasset 2025-03-20T10:29:10.471Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Menu_Toggle_Left.uexp 2025-03-20T10:29:10.473Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Menu_Toggle_Right.uasset 2025-03-20T10:29:10.471Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Menu_Toggle_Right.uexp 2025-03-20T10:29:10.473Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Move.uasset 2025-03-20T10:29:10.478Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Move.uexp 2025-03-20T10:29:10.482Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Shoot_Left.uasset 2025-03-20T10:29:10.399Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Shoot_Left.uexp 2025-03-20T10:29:10.408Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Shoot_Right.uasset 2025-03-20T10:29:10.400Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Shoot_Right.uexp 2025-03-20T10:29:10.408Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Turn.uasset 2025-03-20T10:29:10.474Z +vr_great_ryc/Content/VRTemplate/Input/Actions/IA_Turn.uexp 2025-03-20T10:29:10.477Z +vr_great_ryc/Content/VRTemplate/Materials/Functions/MF_OccludedPixels.uasset 2025-03-20T10:29:10.871Z +vr_great_ryc/Content/VRTemplate/Materials/Functions/MF_OccludedPixels.uexp 2025-03-20T10:29:10.872Z +Engine/Content/Functions/Engine_MaterialFunctions02/ExampleContent/PivotPainter2/PP2_rgb_XVect_a_XExtent.uasset 2025-03-20T10:29:29.693Z +Engine/Content/Functions/Engine_MaterialFunctions02/ExampleContent/PivotPainter2/PP2_rgb_XVect_a_XExtent.uexp 2025-03-20T10:29:29.693Z +Engine/Content/Functions/Engine_MaterialFunctions02/ExampleContent/PivotPainter2/SimpExPivPos.uasset 2025-03-20T10:29:29.692Z +Engine/Content/Functions/Engine_MaterialFunctions02/ExampleContent/PivotPainter2/SimpExPivPos.uexp 2025-03-20T10:29:29.693Z +Engine/Content/Functions/Engine_MaterialFunctions02/ExampleContent/PivotPainter2/test2_rgb_PivotPos_a_ParentIndexInt_UV_2.uasset 2025-03-20T10:29:29.715Z +Engine/Content/Functions/Engine_MaterialFunctions02/ExampleContent/PivotPainter2/test2_rgb_PivotPos_a_ParentIndexInt_UV_2.uexp 2025-03-20T10:29:29.716Z +Engine/Content/Functions/Engine_MaterialFunctions02/ExampleContent/Textures/DebugNumberPeriod.uasset 2025-03-20T10:29:29.714Z +Engine/Content/Functions/Engine_MaterialFunctions02/ExampleContent/Textures/DebugNumberPeriod.uexp 2025-03-20T10:29:29.716Z +Engine/Content/Functions/Engine_MaterialFunctions02/ExampleContent/Textures/WindTurblenceVectorAndGustMagnitude.uasset 2025-03-20T10:29:29.714Z +Engine/Content/Functions/Engine_MaterialFunctions02/ExampleContent/Textures/WindTurblenceVectorAndGustMagnitude.uexp 2025-03-20T10:29:29.716Z +Engine/Plugins/2D/Paper2D/Content/PlaceholderTextures/DummySpriteTexture.uasset 2025-03-20T10:29:10.376Z +Engine/Plugins/2D/Paper2D/Content/PlaceholderTextures/DummySpriteTexture.ubulk 2025-03-20T10:29:10.372Z +Engine/Plugins/2D/Paper2D/Content/PlaceholderTextures/DummySpriteTexture.uexp 2025-03-20T10:29:10.379Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRigGizmoMaterial.uasset 2025-03-20T10:29:10.360Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRigGizmoMaterial.uexp 2025-03-20T10:29:10.362Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRigXRayMaterial.uasset 2025-03-20T10:29:10.431Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRigXRayMaterial.uexp 2025-03-20T10:29:10.432Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_1mm.uasset 2025-03-20T10:29:11.173Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_1mm.ubulk 2025-03-20T10:29:11.170Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_1mm.uexp 2025-03-20T10:29:11.177Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_3mm.uasset 2025-03-20T10:29:11.108Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_3mm.ubulk 2025-03-20T10:29:11.108Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_3mm.uexp 2025-03-20T10:29:11.109Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_solid.uasset 2025-03-20T10:29:11.172Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_solid.ubulk 2025-03-20T10:29:11.168Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow2_solid.uexp 2025-03-20T10:29:11.176Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_1mm.uasset 2025-03-20T10:29:11.563Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_1mm.ubulk 2025-03-20T10:29:11.563Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_1mm.uexp 2025-03-20T10:29:11.564Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_3mm.uasset 2025-03-20T10:29:11.171Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_3mm.ubulk 2025-03-20T10:29:11.162Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_3mm.uexp 2025-03-20T10:29:11.173Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_solid.uasset 2025-03-20T10:29:11.140Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_solid.ubulk 2025-03-20T10:29:11.136Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow4_solid.uexp 2025-03-20T10:29:11.143Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_1mm.uasset 2025-03-20T10:29:11.140Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_1mm.ubulk 2025-03-20T10:29:11.137Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_1mm.uexp 2025-03-20T10:29:11.143Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_3mm.uasset 2025-03-20T10:29:11.140Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_3mm.ubulk 2025-03-20T10:29:11.137Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_3mm.uexp 2025-03-20T10:29:11.142Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_solid.uasset 2025-03-20T10:29:11.140Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_solid.ubulk 2025-03-20T10:29:11.137Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Arrow_solid.uexp 2025-03-20T10:29:11.144Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_1mm.uasset 2025-03-20T10:29:11.141Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_1mm.ubulk 2025-03-20T10:29:11.139Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_1mm.uexp 2025-03-20T10:29:11.144Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_3mm.uasset 2025-03-20T10:29:11.144Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_3mm.ubulk 2025-03-20T10:29:11.142Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_3mm.uexp 2025-03-20T10:29:11.145Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_solid.uasset 2025-03-20T10:29:11.143Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_solid.ubulk 2025-03-20T10:29:11.141Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Box_solid.uexp 2025-03-20T10:29:11.145Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_1mm.uasset 2025-03-20T10:29:11.143Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_1mm.ubulk 2025-03-20T10:29:11.141Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_1mm.uexp 2025-03-20T10:29:11.146Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_3mm.uasset 2025-03-20T10:29:11.143Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_3mm.ubulk 2025-03-20T10:29:11.142Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_3mm.uexp 2025-03-20T10:29:11.147Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_solid.uasset 2025-03-20T10:29:11.145Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_solid.ubulk 2025-03-20T10:29:11.142Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Circle_solid.uexp 2025-03-20T10:29:11.148Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_1mm.uasset 2025-03-20T10:29:11.153Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_1mm.ubulk 2025-03-20T10:29:11.146Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_1mm.uexp 2025-03-20T10:29:11.160Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_3mm.uasset 2025-03-20T10:29:11.148Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_3mm.ubulk 2025-03-20T10:29:11.144Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_3mm.uexp 2025-03-20T10:29:11.153Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_solid.uasset 2025-03-20T10:29:11.149Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_solid.ubulk 2025-03-20T10:29:11.147Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Diamond_solid.uexp 2025-03-20T10:29:11.151Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_1mm.uasset 2025-03-20T10:29:11.120Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_1mm.ubulk 2025-03-20T10:29:11.113Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_1mm.uexp 2025-03-20T10:29:11.121Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_3mm.uasset 2025-03-20T10:29:11.149Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_3mm.ubulk 2025-03-20T10:29:11.146Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_3mm.uexp 2025-03-20T10:29:11.168Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_solid.uasset 2025-03-20T10:29:11.150Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_solid.ubulk 2025-03-20T10:29:11.147Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_HalfCircle_solid.uexp 2025-03-20T10:29:11.156Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_1mm.uasset 2025-03-20T10:29:11.150Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_1mm.ubulk 2025-03-20T10:29:11.147Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_1mm.uexp 2025-03-20T10:29:11.153Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_3mm.uasset 2025-03-20T10:29:11.151Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_3mm.ubulk 2025-03-20T10:29:11.148Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_3mm.uexp 2025-03-20T10:29:11.160Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_solid.uasset 2025-03-20T10:29:11.154Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_solid.ubulk 2025-03-20T10:29:11.148Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Hexagon_solid.uexp 2025-03-20T10:29:11.162Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_1mm.uasset 2025-03-20T10:29:11.151Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_1mm.ubulk 2025-03-20T10:29:11.149Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_1mm.uexp 2025-03-20T10:29:11.157Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_3mm.uasset 2025-03-20T10:29:11.154Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_3mm.ubulk 2025-03-20T10:29:11.150Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_3mm.uexp 2025-03-20T10:29:11.162Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_solid.uasset 2025-03-20T10:29:11.156Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_solid.ubulk 2025-03-20T10:29:11.149Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Octagon_solid.uexp 2025-03-20T10:29:11.168Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_1mm.uasset 2025-03-20T10:29:11.164Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_1mm.ubulk 2025-03-20T10:29:11.159Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_1mm.uexp 2025-03-20T10:29:11.171Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_3mm.uasset 2025-03-20T10:29:11.166Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_3mm.ubulk 2025-03-20T10:29:11.156Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_3mm.uexp 2025-03-20T10:29:11.172Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_solid.uasset 2025-03-20T10:29:11.167Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_solid.ubulk 2025-03-20T10:29:11.160Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Pyramid_solid.uexp 2025-03-20T10:29:11.170Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_1mm.uasset 2025-03-20T10:29:11.174Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_1mm.ubulk 2025-03-20T10:29:11.171Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_1mm.uexp 2025-03-20T10:29:11.177Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_3mm.uasset 2025-03-20T10:29:11.171Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_3mm.ubulk 2025-03-20T10:29:11.163Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_3mm.uexp 2025-03-20T10:29:11.174Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_solid.uasset 2025-03-20T10:29:11.136Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_solid.ubulk 2025-03-20T10:29:11.135Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_QuarterCircle_solid.uexp 2025-03-20T10:29:11.139Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_1mm.uasset 2025-03-20T10:29:11.137Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_1mm.ubulk 2025-03-20T10:29:11.135Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_1mm.uexp 2025-03-20T10:29:11.140Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_3mm.uasset 2025-03-20T10:29:10.886Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_3mm.ubulk 2025-03-20T10:29:10.882Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_3mm.uexp 2025-03-20T10:29:10.888Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_solid.uasset 2025-03-20T10:29:10.890Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_solid.ubulk 2025-03-20T10:29:10.884Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedSquare_solid.uexp 2025-03-20T10:29:10.897Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_1mm.uasset 2025-03-20T10:29:10.896Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_1mm.ubulk 2025-03-20T10:29:10.887Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_1mm.uexp 2025-03-20T10:29:10.897Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_3mm.uasset 2025-03-20T10:29:11.121Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_3mm.ubulk 2025-03-20T10:29:11.120Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_3mm.uexp 2025-03-20T10:29:11.123Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_solid.uasset 2025-03-20T10:29:11.127Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_solid.ubulk 2025-03-20T10:29:11.124Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_RoundedTriangle_solid.uexp 2025-03-20T10:29:11.132Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_1mm.uasset 2025-03-20T10:29:11.126Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_1mm.ubulk 2025-03-20T10:29:11.124Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_1mm.uexp 2025-03-20T10:29:11.129Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_3mm.uasset 2025-03-20T10:29:11.125Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_3mm.ubulk 2025-03-20T10:29:11.123Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_3mm.uexp 2025-03-20T10:29:11.133Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_solid.uasset 2025-03-20T10:29:13.496Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_solid.ubulk 2025-03-20T10:29:13.495Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Sphere_solid.uexp 2025-03-20T10:29:13.500Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_1mm.uasset 2025-03-20T10:29:11.124Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_1mm.ubulk 2025-03-20T10:29:11.123Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_1mm.uexp 2025-03-20T10:29:11.125Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_3mm.uasset 2025-03-20T10:29:11.126Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_3mm.ubulk 2025-03-20T10:29:11.124Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_3mm.uexp 2025-03-20T10:29:11.129Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_solid.uasset 2025-03-20T10:29:11.127Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_solid.ubulk 2025-03-20T10:29:11.125Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Square_solid.uexp 2025-03-20T10:29:11.129Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_1mm.uasset 2025-03-20T10:29:11.126Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_1mm.ubulk 2025-03-20T10:29:11.124Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_1mm.uexp 2025-03-20T10:29:11.128Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_3mm.uasset 2025-03-20T10:29:11.128Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_3mm.ubulk 2025-03-20T10:29:11.126Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_3mm.uexp 2025-03-20T10:29:11.135Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_solid.uasset 2025-03-20T10:29:11.133Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_solid.ubulk 2025-03-20T10:29:11.128Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Star4_solid.uexp 2025-03-20T10:29:11.135Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_1mm.uasset 2025-03-20T10:29:11.134Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_1mm.ubulk 2025-03-20T10:29:11.127Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_1mm.uexp 2025-03-20T10:29:11.137Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_3mm.uasset 2025-03-20T10:29:11.135Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_3mm.ubulk 2025-03-20T10:29:11.134Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_3mm.uexp 2025-03-20T10:29:11.136Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_solid.uasset 2025-03-20T10:29:11.137Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_solid.ubulk 2025-03-20T10:29:11.134Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Triangle_solid.uexp 2025-03-20T10:29:11.139Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_1mm.uasset 2025-03-20T10:29:11.138Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_1mm.ubulk 2025-03-20T10:29:11.135Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_1mm.uexp 2025-03-20T10:29:11.142Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_3mm.uasset 2025-03-20T10:29:11.138Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_3mm.ubulk 2025-03-20T10:29:11.135Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_3mm.uexp 2025-03-20T10:29:11.140Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_solid.uasset 2025-03-20T10:29:11.120Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_solid.ubulk 2025-03-20T10:29:11.113Z +Engine/Plugins/Animation/ControlRig/Content/Controls/ControlRig_Wedge_solid.uexp 2025-03-20T10:29:11.121Z +Engine/Plugins/Animation/ControlRig/Content/Controls/DefaultGizmoLibraryNormalized.uasset 2025-03-20T10:29:03.524Z +Engine/Plugins/Animation/ControlRig/Content/Controls/DefaultGizmoLibraryNormalized.uexp 2025-03-20T10:29:03.525Z +Engine/Plugins/Animation/DeformerGraph/Content/DeformerFunctions/DG_Function_ComputeNormalsTangents.uasset 2025-03-20T10:29:03.222Z +Engine/Plugins/Animation/DeformerGraph/Content/DeformerFunctions/DG_Function_ComputeNormalsTangents.uexp 2025-03-20T10:29:03.222Z +Engine/Plugins/Animation/DeformerGraph/Content/DeformerFunctions/DG_Function_LinearBlendSkin_Morph_Cloth.uasset 2025-03-20T10:29:03.252Z +Engine/Plugins/Animation/DeformerGraph/Content/DeformerFunctions/DG_Function_LinearBlendSkin_Morph_Cloth.uexp 2025-03-20T10:29:03.253Z +Engine/Plugins/Animation/DeformerGraph/Content/DeformerFunctions/DG_Function_LinearBlendSkin_Morph_Cloth_PositionOnly.uasset 2025-03-20T10:29:03.229Z +Engine/Plugins/Animation/DeformerGraph/Content/DeformerFunctions/DG_Function_LinearBlendSkin_Morph_Cloth_PositionOnly.uexp 2025-03-20T10:29:03.229Z +Engine/Plugins/Animation/DeformerGraph/Content/Deformers/DG_LinearBlendSkin_Morph_Cloth.uasset 2025-03-20T10:29:03.257Z +Engine/Plugins/Animation/DeformerGraph/Content/Deformers/DG_LinearBlendSkin_Morph_Cloth.uexp 2025-03-20T10:29:03.257Z +Engine/Plugins/Animation/DeformerGraph/Content/Deformers/DG_LinearBlendSkin_Morph_Cloth_RecomputeNormals.uasset 2025-03-20T10:29:03.249Z +Engine/Plugins/Animation/DeformerGraph/Content/Deformers/DG_LinearBlendSkin_Morph_Cloth_RecomputeNormals.uexp 2025-03-20T10:29:03.250Z +Engine/Plugins/Bridge/Content/MSPresets/MSTextures/BlackPlaceholder.uasset 2025-03-20T10:29:26.886Z +Engine/Plugins/Bridge/Content/MSPresets/MSTextures/BlackPlaceholder.uexp 2025-03-20T10:29:26.887Z +Engine/Plugins/Bridge/Content/MSPresets/MSTextures/Placeholder_Normal.uasset 2025-03-20T10:29:31.954Z +Engine/Plugins/Bridge/Content/MSPresets/MSTextures/Placeholder_Normal.uexp 2025-03-20T10:29:31.963Z +Engine/Plugins/Bridge/Content/MSPresets/MSTextures/WhitePlaceholder.uasset 2025-03-20T10:29:31.948Z +Engine/Plugins/Bridge/Content/MSPresets/MSTextures/WhitePlaceholder.uexp 2025-03-20T10:29:31.959Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/Empty.uasset 2025-03-20T10:29:10.363Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/Empty.uexp 2025-03-20T10:29:10.365Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/EmptyNormal.uasset 2025-03-20T10:29:10.364Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/EmptyNormal.uexp 2025-03-20T10:29:10.366Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/game_wind_noise.uasset 2025-03-20T10:29:10.376Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/game_wind_noise.ubulk 2025-03-20T10:29:10.372Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/game_wind_noise.uexp 2025-03-20T10:29:10.377Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeBillboard.uasset 2025-03-20T10:29:03.514Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeBillboard.uexp 2025-03-20T10:29:03.515Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeBillboardMaster.uasset 2025-03-20T10:29:19.268Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeBillboardMaster.uexp 2025-03-20T10:29:19.269Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeBranchMotion.uasset 2025-03-20T10:29:10.448Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeBranchMotion.uexp 2025-03-20T10:29:10.448Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeCameraFacing.uasset 2025-03-20T10:29:03.516Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeCameraFacing.uexp 2025-03-20T10:29:03.519Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeMaster.uasset 2025-03-20T10:29:19.259Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeMaster.uexp 2025-03-20T10:29:19.259Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeWind.uasset 2025-03-20T10:29:10.461Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeWind.uexp 2025-03-20T10:29:10.461Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeWindMotion.uasset 2025-03-20T10:29:04.170Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/SpeedTreeWindMotion.uexp 2025-03-20T10:29:04.170Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/UnpackDirection.uasset 2025-03-20T10:29:03.518Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/UnpackDirection.uexp 2025-03-20T10:29:03.521Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/UnpackInteger3.uasset 2025-03-20T10:29:04.188Z +Engine/Plugins/Editor/SpeedTreeImporter/Content/SpeedTree9/UnpackInteger3.uexp 2025-03-20T10:29:04.188Z +Engine/Plugins/Fab/Content/Materials/Standard/M_MS_Base.uasset 2025-03-20T10:29:29.064Z +Engine/Plugins/Fab/Content/Materials/Standard/M_MS_Base.uexp 2025-03-20T10:29:29.065Z +Engine/Plugins/Fab/Content/Materials/Standard/M_MS_Base_Fuzz.uasset 2025-03-20T10:33:04.784Z +Engine/Plugins/Fab/Content/Materials/Standard/M_MS_Base_Fuzz.uexp 2025-03-20T10:33:04.784Z +Engine/Plugins/Fab/Content/Materials/Standard/M_MS_Billboard.uasset 2025-03-20T10:38:49.909Z +Engine/Plugins/Fab/Content/Materials/Standard/M_MS_Billboard.uexp 2025-03-20T10:38:49.910Z +Engine/Plugins/Fab/Content/Materials/Standard/M_MS_Foliage.uasset 2025-03-20T10:38:54.747Z +Engine/Plugins/Fab/Content/Materials/Standard/M_MS_Foliage.uexp 2025-03-20T10:38:54.748Z +Engine/Plugins/Fab/Content/Materials/Standard/M_MS_Srf.uasset 2025-03-20T10:32:43.645Z +Engine/Plugins/Fab/Content/Materials/Standard/M_MS_Srf.uexp 2025-03-20T10:32:43.646Z +Engine/Plugins/Fab/Content/Textures/Standard/T_DefaultColor.uasset 2025-03-20T10:29:29.686Z +Engine/Plugins/Fab/Content/Textures/Standard/T_DefaultColor.uexp 2025-03-20T10:29:29.688Z +Engine/Plugins/Fab/Content/Textures/Standard/T_DefaultDisplacement.uasset 2025-03-20T10:29:29.688Z +Engine/Plugins/Fab/Content/Textures/Standard/T_DefaultDisplacement.uexp 2025-03-20T10:29:29.689Z +Engine/Plugins/Fab/Content/Textures/Standard/T_DefaultMasks.uasset 2025-03-20T10:29:29.689Z +Engine/Plugins/Fab/Content/Textures/Standard/T_DefaultMasks.uexp 2025-03-20T10:29:29.691Z +Engine/Plugins/Fab/Content/Textures/Standard/T_DefaultNormal.uasset 2025-03-20T10:29:29.689Z +Engine/Plugins/Fab/Content/Textures/Standard/T_DefaultNormal.uexp 2025-03-20T10:29:29.691Z +Engine/Plugins/Fab/Content/Textures/Standard/T_DefaultOther.uasset 2025-03-20T10:29:31.933Z +Engine/Plugins/Fab/Content/Textures/Standard/T_DefaultOther.uexp 2025-03-20T10:29:31.933Z +Engine/Plugins/Fab/Content/Textures/Standard/T_Default_WindNoise.uasset 2025-03-20T10:29:26.876Z +Engine/Plugins/Fab/Content/Textures/Standard/T_Default_WindNoise.uexp 2025-03-20T10:29:26.877Z +Engine/Plugins/Interchange/Assets/Content/Functions/MF_Iridescence.uasset 2025-03-20T10:29:04.174Z +Engine/Plugins/Interchange/Assets/Content/Functions/MF_Iridescence.uexp 2025-03-20T10:29:04.176Z +Engine/Plugins/Interchange/Assets/Content/Functions/MF_PhongToMetalRoughness.uasset 2025-03-20T10:29:19.304Z +Engine/Plugins/Interchange/Assets/Content/Functions/MF_PhongToMetalRoughness.uexp 2025-03-20T10:29:19.307Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_AbsorptionVDF.uasset 2025-03-20T10:29:03.334Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_AbsorptionVDF.uexp 2025-03-20T10:29:03.338Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_AnisotropicVDF.uasset 2025-03-20T10:29:03.334Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_AnisotropicVDF.uexp 2025-03-20T10:29:03.340Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_BurleyDiffuseBSDF.uasset 2025-03-20T10:29:03.338Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_BurleyDiffuseBSDF.uexp 2025-03-20T10:29:03.343Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_ConductorBSDF.uasset 2025-03-20T10:29:03.345Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_ConductorBSDF.uexp 2025-03-20T10:29:03.349Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_ConicalEDF.uasset 2025-03-20T10:29:03.337Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_ConicalEDF.uexp 2025-03-20T10:29:03.341Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_DielectricBSDF.uasset 2025-03-20T10:29:03.345Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_DielectricBSDF.uexp 2025-03-20T10:29:03.348Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_GeneralizedSchlickBSDF.uasset 2025-03-20T10:29:03.344Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_GeneralizedSchlickBSDF.uexp 2025-03-20T10:29:03.346Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_MeasuredEDF.uasset 2025-03-20T10:29:03.337Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_MeasuredEDF.uexp 2025-03-20T10:29:03.341Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_OpenPBR_Opaque.uasset 2025-03-20T10:29:11.164Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_OpenPBR_Opaque.uexp 2025-03-20T10:29:11.165Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_OpenPBR_Translucent.uasset 2025-03-20T10:29:11.660Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_OpenPBR_Translucent.uexp 2025-03-20T10:29:11.661Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_OrenNayarBSDF.uasset 2025-03-20T10:29:03.339Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_OrenNayarBSDF.uexp 2025-03-20T10:29:03.343Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_SheenBSDF.uasset 2025-03-20T10:29:03.349Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_SheenBSDF.uexp 2025-03-20T10:29:03.351Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_StandardSurface.uasset 2025-03-20T10:29:10.875Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_StandardSurface.uexp 2025-03-20T10:29:10.876Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_SubsurfaceBSDF.uasset 2025-03-20T10:29:03.343Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_SubsurfaceBSDF.uexp 2025-03-20T10:29:03.347Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_Surface.uasset 2025-03-20T10:29:10.476Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_Surface.uexp 2025-03-20T10:29:10.477Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_SurfaceUnlit.uasset 2025-03-20T10:29:03.347Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_SurfaceUnlit.uexp 2025-03-20T10:29:03.350Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_ThinFilmBSDF.uasset 2025-03-20T10:29:03.338Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_ThinFilmBSDF.uexp 2025-03-20T10:29:03.341Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_TranslucentBSDF.uasset 2025-03-20T10:29:03.347Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_TranslucentBSDF.uexp 2025-03-20T10:29:03.350Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_TransmissionSurface.uasset 2025-03-20T10:29:13.490Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_TransmissionSurface.uexp 2025-03-20T10:29:13.492Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_UniformEDF.uasset 2025-03-20T10:29:03.342Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_UniformEDF.uexp 2025-03-20T10:29:03.345Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_UsdPreviewSurface.uasset 2025-03-20T10:29:03.341Z +Engine/Plugins/Interchange/Assets/Content/Functions/MX_UsdPreviewSurface.uexp 2025-03-20T10:29:03.345Z +Engine/Plugins/Interchange/Assets/Content/gltf/M_ClearCoat.uasset 2025-03-20T10:29:29.069Z +Engine/Plugins/Interchange/Assets/Content/gltf/M_ClearCoat.uexp 2025-03-20T10:29:29.070Z +Engine/Plugins/Interchange/Assets/Content/gltf/M_Default.uasset 2025-03-20T10:29:29.061Z +Engine/Plugins/Interchange/Assets/Content/gltf/M_Default.uexp 2025-03-20T10:29:29.062Z +Engine/Plugins/Interchange/Assets/Content/gltf/M_Sheen.uasset 2025-03-20T10:29:26.906Z +Engine/Plugins/Interchange/Assets/Content/gltf/M_Sheen.uexp 2025-03-20T10:29:26.906Z +Engine/Plugins/Interchange/Assets/Content/gltf/M_SpecularGlossiness.uasset 2025-03-20T10:29:29.061Z +Engine/Plugins/Interchange/Assets/Content/gltf/M_SpecularGlossiness.uexp 2025-03-20T10:29:29.061Z +Engine/Plugins/Interchange/Assets/Content/gltf/M_Transmission.uasset 2025-03-20T10:29:26.947Z +Engine/Plugins/Interchange/Assets/Content/gltf/M_Transmission.uexp 2025-03-20T10:29:26.952Z +Engine/Plugins/Interchange/Assets/Content/gltf/M_Unlit.uasset 2025-03-20T10:29:17.071Z +Engine/Plugins/Interchange/Assets/Content/gltf/M_Unlit.uexp 2025-03-20T10:29:17.072Z +Engine/Plugins/Interchange/Assets/Content/Utilities/New_LUT.uasset 2025-03-20T10:29:10.371Z +Engine/Plugins/Interchange/Assets/Content/Utilities/New_LUT.uexp 2025-03-20T10:29:10.396Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultAssetsPipeline.uasset 2025-03-20T10:29:03.362Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultAssetsPipeline.uexp 2025-03-20T10:29:03.369Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultGLTFAssetsPipeline.uasset 2025-03-20T10:29:03.357Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultGLTFAssetsPipeline.uexp 2025-03-20T10:29:03.363Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultGLTFPipeline.uasset 2025-03-20T10:29:03.355Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultGLTFPipeline.uexp 2025-03-20T10:29:03.359Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultGLTFSceneAssetsPipeline.uasset 2025-03-20T10:29:03.348Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultGLTFSceneAssetsPipeline.uexp 2025-03-20T10:29:03.350Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultMaterialPipeline.uasset 2025-03-20T10:29:03.354Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultMaterialPipeline.uexp 2025-03-20T10:29:03.356Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultMaterialXPipeline.uasset 2025-03-20T10:29:03.358Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultMaterialXPipeline.uexp 2025-03-20T10:29:03.369Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultSceneAssetsPipeline.uasset 2025-03-20T10:29:03.349Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultSceneAssetsPipeline.uexp 2025-03-20T10:29:03.351Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultSceneLevelPipeline.uasset 2025-03-20T10:29:03.348Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultSceneLevelPipeline.uexp 2025-03-20T10:29:03.349Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultTexturePipeline.uasset 2025-03-20T10:29:03.354Z +Engine/Plugins/Interchange/Runtime/Content/Pipelines/DefaultTexturePipeline.uexp 2025-03-20T10:29:03.355Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/MI_AudioMaterialEnvelope_ADSR.uasset 2025-03-20T10:29:10.463Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/MI_AudioMaterialEnvelope_ADSR.uexp 2025-03-20T10:29:10.465Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/MI_AudioMaterialKnob.uasset 2025-03-20T10:29:10.463Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/MI_AudioMaterialKnob.uexp 2025-03-20T10:29:10.464Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/MI_AudioMaterialMeter.uasset 2025-03-20T10:29:10.462Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/MI_AudioMaterialMeter.uexp 2025-03-20T10:29:10.462Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/MI_AudioMaterialRoundedSlider.uasset 2025-03-20T10:29:10.462Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/MI_AudioMaterialRoundedSlider.uexp 2025-03-20T10:29:10.463Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/MI_AudioMaterialToggleButton.uasset 2025-03-20T10:29:10.463Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/MI_AudioMaterialToggleButton.uexp 2025-03-20T10:29:10.464Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/M_AudioMaterialEnvelope_ADSR.uasset 2025-03-20T10:29:17.101Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/M_AudioMaterialEnvelope_ADSR.uexp 2025-03-20T10:29:17.101Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/M_AudioMaterialKnob.uasset 2025-03-20T10:29:19.259Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/M_AudioMaterialKnob.uexp 2025-03-20T10:29:19.261Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/M_AudioMaterialMeter.uasset 2025-03-20T10:29:17.093Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/M_AudioMaterialMeter.uexp 2025-03-20T10:29:17.093Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/M_AudioMaterialRoundedSlider.uasset 2025-03-20T10:29:17.097Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/M_AudioMaterialRoundedSlider.uexp 2025-03-20T10:29:17.097Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/M_AudioMaterialToggleButton.uasset 2025-03-20T10:29:19.261Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/M_AudioMaterialToggleButton.uexp 2025-03-20T10:29:19.262Z +Engine/Plugins/Runtime/AudioWidgets/Content/Resources/ScrubHandleDown_Clamped.uasset 2025-03-20T10:29:10.364Z +Engine/Plugins/Runtime/AudioWidgets/Content/Resources/ScrubHandleDown_Clamped.uexp 2025-03-20T10:29:10.366Z +Engine/Plugins/Runtime/HairStrands/Content/Materials/HairCardsDefaultMaterial.uasset 2025-03-20T10:29:13.501Z +Engine/Plugins/Runtime/HairStrands/Content/Materials/HairCardsDefaultMaterial.uexp 2025-03-20T10:29:13.503Z +Engine/Plugins/Runtime/HairStrands/Content/Materials/HairDebugMaterial.uasset 2025-03-20T10:29:10.472Z +Engine/Plugins/Runtime/HairStrands/Content/Materials/HairDebugMaterial.uexp 2025-03-20T10:29:10.472Z +Engine/Plugins/Runtime/HairStrands/Content/Materials/HairDefaultMaterial.uasset 2025-03-20T10:29:13.501Z +Engine/Plugins/Runtime/HairStrands/Content/Materials/HairDefaultMaterial.uexp 2025-03-20T10:29:13.503Z +Engine/Plugins/Runtime/HairStrands/Content/Materials/HairGroupColors.uasset 2025-03-20T10:29:10.371Z +Engine/Plugins/Runtime/HairStrands/Content/Materials/HairGroupColors.uexp 2025-03-20T10:29:10.373Z +Engine/Plugins/Runtime/HairStrands/Content/Materials/HairMeshesDefaultMaterial.uasset 2025-03-20T10:29:10.371Z +Engine/Plugins/Runtime/HairStrands/Content/Materials/HairMeshesDefaultMaterial.uexp 2025-03-20T10:29:10.373Z +Engine/Plugins/Runtime/MeshModelingToolset/Content/Materials/M_DynamicMeshComponentVtxColor.uasset 2025-03-20T10:29:10.366Z +Engine/Plugins/Runtime/MeshModelingToolset/Content/Materials/M_DynamicMeshComponentVtxColor.uexp 2025-03-20T10:29:10.368Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/M_XRController.uasset 2025-03-20T10:29:10.473Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/M_XRController.uexp 2025-03-20T10:29:10.475Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Sapling/MI_BlackAlder_Sapling_06.uasset 2025-03-20T10:45:17.002Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Sapling/MI_BlackAlder_Sapling_06.uexp 2025-03-20T10:45:17.003Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Field/T_BlackAlder_Field_03_PivotPos.uasset 2025-03-20T10:29:29.694Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Field/T_BlackAlder_Field_03_PivotPos.uexp 2025-03-20T10:29:29.714Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Field/T_BlackAlder_Field_03_XVector.uasset 2025-03-20T10:29:29.714Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Field/T_BlackAlder_Field_03_XVector.uexp 2025-03-20T10:29:29.715Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Forest/T_BlackAlder_Forest_08_PivotPos.uasset 2025-03-20T10:29:32.010Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Forest/T_BlackAlder_Forest_08_PivotPos.uexp 2025-03-20T10:29:32.011Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Forest/T_BlackAlder_Forest_08_XVector.uasset 2025-03-20T10:29:29.696Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Forest/T_BlackAlder_Forest_08_XVector.uexp 2025-03-20T10:29:29.711Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Forest/T_BlackAlder_Forest_09_PivotPos.uasset 2025-03-20T10:29:29.694Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Forest/T_BlackAlder_Forest_09_PivotPos.uexp 2025-03-20T10:29:29.695Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Forest/T_BlackAlder_Forest_09_XVector.uasset 2025-03-20T10:29:29.694Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Forest/T_BlackAlder_Forest_09_XVector.uexp 2025-03-20T10:29:29.695Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Sapling/T_BlackAlder_Sapling_06_PivotPos.uasset 2025-03-20T10:29:32.011Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Sapling/T_BlackAlder_Sapling_06_PivotPos.uexp 2025-03-20T10:29:32.012Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Sapling/T_BlackAlder_Sapling_06_XVector.uasset 2025-03-20T10:29:32.012Z +vr_great_ryc/Content/BlackAlder/Textures/PivotPainter/Sapling/T_BlackAlder_Sapling_06_XVector.uexp 2025-03-20T10:29:32.012Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Summer/T_BlackAlder_TwoSided_Summer_Albedo.uasset 2025-03-20T10:29:32.307Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Summer/T_BlackAlder_TwoSided_Summer_Albedo.ubulk 2025-03-20T10:29:32.158Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Summer/T_BlackAlder_TwoSided_Summer_Albedo.uexp 2025-03-20T10:29:32.308Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Summer/T_BlackAlder_TwoSided_Summer_Albedo.uptnl 2025-03-20T10:29:32.306Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Summer/T_BlackAlder_TwoSided_Summer_Mask.uasset 2025-03-20T10:29:31.977Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Summer/T_BlackAlder_TwoSided_Summer_Mask.ubulk 2025-03-20T10:29:31.977Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Summer/T_BlackAlder_TwoSided_Summer_Mask.uexp 2025-03-20T10:29:31.980Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Summer/T_BlackAlder_TwoSided_Summer_Normal.uasset 2025-03-20T10:29:32.266Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Summer/T_BlackAlder_TwoSided_Summer_Normal.ubulk 2025-03-20T10:29:32.265Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Summer/T_BlackAlder_TwoSided_Summer_Normal.uexp 2025-03-20T10:29:32.266Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Winter/T_BlackAlder_TwoSided_Winter_Albedo.uasset 2025-03-20T10:29:32.342Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Winter/T_BlackAlder_TwoSided_Winter_Albedo.ubulk 2025-03-20T10:29:32.227Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Winter/T_BlackAlder_TwoSided_Winter_Albedo.uexp 2025-03-20T10:29:32.343Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Winter/T_BlackAlder_TwoSided_Winter_Albedo.uptnl 2025-03-20T10:29:32.341Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Winter/T_BlackAlder_TwoSided_Winter_Mask.uasset 2025-03-20T10:29:32.223Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Winter/T_BlackAlder_TwoSided_Winter_Mask.ubulk 2025-03-20T10:29:32.221Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Winter/T_BlackAlder_TwoSided_Winter_Mask.uexp 2025-03-20T10:29:32.224Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Winter/T_BlackAlder_TwoSided_Winter_Normal.uasset 2025-03-20T10:29:32.231Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Winter/T_BlackAlder_TwoSided_Winter_Normal.ubulk 2025-03-20T10:29:32.230Z +vr_great_ryc/Content/BlackAlder/Textures/TwoSided/Winter/T_BlackAlder_TwoSided_Winter_Normal.uexp 2025-03-20T10:29:32.231Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Functions/CA_Mannequin.uasset 2025-03-20T10:29:11.132Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Functions/CA_Mannequin.uexp 2025-03-20T10:29:11.133Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Functions/ChromaticCurve.uasset 2025-03-20T10:29:10.477Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Functions/ChromaticCurve.uexp 2025-03-20T10:29:10.479Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Functions/MF_Diffraction.uasset 2025-03-20T10:29:13.494Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Functions/MF_Diffraction.uexp 2025-03-20T10:29:13.496Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Functions/MF_logo3layers.uasset 2025-03-20T10:29:10.870Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Functions/MF_logo3layers.uexp 2025-03-20T10:29:10.870Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Functions/ML_BaseColorFallOff.uasset 2025-03-20T10:29:10.477Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Functions/ML_BaseColorFallOff.uexp 2025-03-20T10:29:10.478Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uasset 2025-03-20T10:29:13.537Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.ubulk 2025-03-20T10:29:13.535Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uexp 2025-03-20T10:29:13.543Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_BN.uasset 2025-03-20T10:29:13.544Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_BN.ubulk 2025-03-20T10:29:13.537Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_BN.uexp 2025-03-20T10:29:13.546Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uasset 2025-03-20T10:29:13.544Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.ubulk 2025-03-20T10:29:13.542Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uexp 2025-03-20T10:29:13.544Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_D.uasset 2025-03-20T10:29:13.536Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_D.ubulk 2025-03-20T10:29:13.535Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_D.uexp 2025-03-20T10:29:13.537Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_MSR_MSK.uasset 2025-03-20T10:29:13.525Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_MSR_MSK.ubulk 2025-03-20T10:29:13.524Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_MSR_MSK.uexp 2025-03-20T10:29:13.525Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_N.uasset 2025-03-20T10:29:13.533Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_N.ubulk 2025-03-20T10:29:13.532Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_N.uexp 2025-03-20T10:29:13.533Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_Tan.uasset 2025-03-20T10:29:13.594Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_Tan.ubulk 2025-03-20T10:29:13.593Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_01_Tan.uexp 2025-03-20T10:29:13.599Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uasset 2025-03-20T10:29:11.132Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.ubulk 2025-03-20T10:29:11.130Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uexp 2025-03-20T10:29:11.133Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_BN.uasset 2025-03-20T10:29:11.149Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_BN.ubulk 2025-03-20T10:29:11.149Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_BN.uexp 2025-03-20T10:29:11.150Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uasset 2025-03-20T10:29:11.128Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.ubulk 2025-03-20T10:29:11.127Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uexp 2025-03-20T10:29:11.128Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_D.uasset 2025-03-20T10:29:13.524Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_D.ubulk 2025-03-20T10:29:13.523Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_D.uexp 2025-03-20T10:29:13.525Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_MSR_MSK.uasset 2025-03-20T10:29:13.524Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_MSR_MSK.ubulk 2025-03-20T10:29:13.523Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_MSR_MSK.uexp 2025-03-20T10:29:13.525Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_N.uasset 2025-03-20T10:29:13.552Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_N.ubulk 2025-03-20T10:29:13.551Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_N.uexp 2025-03-20T10:29:13.552Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_Tan.uasset 2025-03-20T10:29:13.525Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_Tan.ubulk 2025-03-20T10:29:13.525Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Manny/T_Manny_02_Tan.uexp 2025-03-20T10:29:13.526Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Shared/T_UE_Logo_M.uasset 2025-03-20T10:29:10.888Z +vr_great_ryc/Content/Characters/MannequinsXR/Textures/Shared/T_UE_Logo_M.uexp 2025-03-20T10:29:10.894Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/board_noraml.uasset 2025-03-20T10:29:19.286Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/board_noraml.ubulk 2025-03-20T10:29:19.282Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/board_noraml.uexp 2025-03-20T10:29:19.291Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/board_texture.uasset 2025-03-20T10:29:19.282Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/board_texture.ubulk 2025-03-20T10:29:19.279Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/board_texture.uexp 2025-03-20T10:29:19.288Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/main_logs_diff.uasset 2025-03-20T10:29:19.299Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/main_logs_diff.ubulk 2025-03-20T10:29:19.295Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/main_logs_diff.uexp 2025-03-20T10:29:19.303Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/main_logs_normal.uasset 2025-03-20T10:29:19.268Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/main_logs_normal.ubulk 2025-03-20T10:29:19.267Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/main_logs_normal.uexp 2025-03-20T10:29:19.268Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/main_logs_rough.uasset 2025-03-20T10:29:19.301Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/main_logs_rough.ubulk 2025-03-20T10:29:19.298Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/main_logs_rough.uexp 2025-03-20T10:29:19.301Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/Realistic_Procedural_Cork.uasset 2025-03-20T10:29:26.857Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/Realistic_Procedural_Cork.uexp 2025-03-20T10:29:26.859Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_diff.uasset 2025-03-20T10:29:19.289Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_diff.ubulk 2025-03-20T10:29:19.283Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_diff.uexp 2025-03-20T10:29:19.297Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_log_diff.uasset 2025-03-20T10:29:19.299Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_log_diff.ubulk 2025-03-20T10:29:19.291Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_log_diff.uexp 2025-03-20T10:29:19.300Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_log_normal.uasset 2025-03-20T10:29:19.300Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_log_normal.ubulk 2025-03-20T10:29:19.297Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_log_normal.uexp 2025-03-20T10:29:19.301Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_log_rough.uasset 2025-03-20T10:29:19.297Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_log_rough.ubulk 2025-03-20T10:29:19.289Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_log_rough.uexp 2025-03-20T10:29:19.300Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_normal.uasset 2025-03-20T10:29:19.285Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_normal.ubulk 2025-03-20T10:29:19.281Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_normal.uexp 2025-03-20T10:29:19.290Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_rough.uasset 2025-03-20T10:29:19.280Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_rough.ubulk 2025-03-20T10:29:19.275Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/roof_rough.uexp 2025-03-20T10:29:19.285Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/Slate_roof_old.uasset 2025-03-20T10:29:26.857Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/Slate_roof_old.uexp 2025-03-20T10:29:26.858Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/up_log_diff.uasset 2025-03-20T10:29:19.260Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/up_log_diff.ubulk 2025-03-20T10:29:19.259Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/up_log_diff.uexp 2025-03-20T10:29:19.261Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/up_log_normal.uasset 2025-03-20T10:29:19.274Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/up_log_normal.ubulk 2025-03-20T10:29:19.273Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/up_log_normal.uexp 2025-03-20T10:29:19.274Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/up_log_rough.uasset 2025-03-20T10:29:19.272Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/up_log_rough.ubulk 2025-03-20T10:29:19.272Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/up_log_rough.uexp 2025-03-20T10:29:19.272Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/Wood.uasset 2025-03-20T10:29:26.858Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/Wood.uexp 2025-03-20T10:29:26.859Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/Wood_001.uasset 2025-03-20T10:29:26.856Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/Wood_001.uexp 2025-03-20T10:29:26.857Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/Wood_002.uasset 2025-03-20T10:29:26.869Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/Wood_002.uexp 2025-03-20T10:29:26.870Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/Wood_003.uasset 2025-03-20T10:29:26.859Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/Wood_003.uexp 2025-03-20T10:29:26.860Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/wood_board3.uasset 2025-03-20T10:29:17.042Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/wood_board3.ubulk 2025-03-20T10:29:17.040Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/wood_board3.uexp 2025-03-20T10:29:17.043Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/wood_legs_diff.uasset 2025-03-20T10:29:19.290Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/wood_legs_diff.ubulk 2025-03-20T10:29:19.283Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/wood_legs_diff.uexp 2025-03-20T10:29:19.296Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/wood_legs_normal.uasset 2025-03-20T10:29:19.289Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/wood_legs_normal.ubulk 2025-03-20T10:29:19.282Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/wood_legs_normal.uexp 2025-03-20T10:29:19.295Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/wood_leg_rough.uasset 2025-03-20T10:29:19.295Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/wood_leg_rough.ubulk 2025-03-20T10:29:19.289Z +vr_great_ryc/Content/Megascans/models/wood_board/v3/wood_leg_rough.uexp 2025-03-20T10:29:19.300Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_adjustBaseColor.uasset 2025-03-20T10:29:29.056Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_adjustBaseColor.uexp 2025-03-20T10:29:29.057Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_adjustNormal.uasset 2025-03-20T10:29:29.055Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_adjustNormal.uexp 2025-03-20T10:29:29.056Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_adjustTwoSidedBaseColor.uasset 2025-03-20T10:29:29.049Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_adjustTwoSidedBaseColor.uexp 2025-03-20T10:29:29.049Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_adjustTwoSidedNormal.uasset 2025-03-20T10:29:29.643Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_adjustTwoSidedNormal.uexp 2025-03-20T10:29:29.644Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_AdvancedWind.uasset 2025-03-20T10:29:26.884Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_AdvancedWind.uexp 2025-03-20T10:29:26.886Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_AdvancedWind_Level.uasset 2025-03-20T10:29:29.043Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_AdvancedWind_Level.uexp 2025-03-20T10:29:29.045Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_BarkDetailer.uasset 2025-03-20T10:29:29.056Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_BarkDetailer.uexp 2025-03-20T10:29:29.057Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_BranchBlending.uasset 2025-03-20T10:29:29.044Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_BranchBlending.uexp 2025-03-20T10:29:29.046Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_DecorationBlending.uasset 2025-03-20T10:29:29.045Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_DecorationBlending.uexp 2025-03-20T10:29:29.046Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_DefaultLit_Trunk.uasset 2025-03-20T10:29:26.886Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_DefaultLit_Trunk.uexp 2025-03-20T10:29:26.908Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_GenerateBranchMask.uasset 2025-03-20T10:29:29.055Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_GenerateBranchMask.uexp 2025-03-20T10:29:29.056Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_generateSpecular.uasset 2025-03-20T10:29:29.052Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_generateSpecular.uexp 2025-03-20T10:29:29.053Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_generateTranslucency.uasset 2025-03-20T10:29:29.053Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_generateTranslucency.uexp 2025-03-20T10:29:29.054Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_generateTwoSidedSpecular.uasset 2025-03-20T10:29:29.043Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_generateTwoSidedSpecular.uexp 2025-03-20T10:29:29.044Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_HealthSeason.uasset 2025-03-20T10:29:26.886Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_HealthSeason.uexp 2025-03-20T10:29:26.887Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_LightInfluenceColorVariation.uasset 2025-03-20T10:29:29.045Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_LightInfluenceColorVariation.uexp 2025-03-20T10:29:29.046Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_Opacity.uasset 2025-03-20T10:29:29.040Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_Opacity.uexp 2025-03-20T10:29:29.041Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_Roughness.uasset 2025-03-20T10:29:29.056Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_Roughness.uexp 2025-03-20T10:29:29.056Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_SimpleWind.uasset 2025-03-20T10:29:26.884Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_SimpleWind.uexp 2025-03-20T10:29:26.885Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_TwoSidedRoughness.uasset 2025-03-20T10:29:29.043Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_TwoSidedRoughness.uexp 2025-03-20T10:29:29.044Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_TwoSided_Decoration.uasset 2025-03-20T10:29:26.887Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_TwoSided_Decoration.uexp 2025-03-20T10:29:26.924Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_TwoSided_Leaves.uasset 2025-03-20T10:29:26.882Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_TwoSided_Leaves.uexp 2025-03-20T10:29:26.883Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_WindGust.uasset 2025-03-20T10:29:26.887Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_WindGust.uexp 2025-03-20T10:29:26.924Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_WorldspaceColorVariation.uasset 2025-03-20T10:29:29.044Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Foliage/MF_WorldspaceColorVariation.uexp 2025-03-20T10:29:29.045Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/FrameBlendWeights.uasset 2025-03-20T10:29:29.050Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/FrameBlendWeights.uexp 2025-03-20T10:29:29.051Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/FrameBlendWeights_TextureObject.uasset 2025-03-20T10:29:29.042Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/FrameBlendWeights_TextureObject.uexp 2025-03-20T10:29:29.043Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/GenerateTreeMask.uasset 2025-03-20T10:29:29.051Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/GenerateTreeMask.uexp 2025-03-20T10:29:29.052Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/HemiOctahedronToUnitVector.uasset 2025-03-20T10:29:29.052Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/HemiOctahedronToUnitVector.uexp 2025-03-20T10:29:29.053Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/ImposterFrameTransform.uasset 2025-03-20T10:29:29.043Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/ImposterFrameTransform.uexp 2025-03-20T10:29:29.044Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/ImposterFrameTransform_Setup.uasset 2025-03-20T10:29:29.039Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/ImposterFrameTransform_Setup.uexp 2025-03-20T10:29:29.039Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/ImpostorInfo.uasset 2025-03-20T10:29:29.049Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/ImpostorInfo.uexp 2025-03-20T10:29:29.050Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/Impostor_MS.uasset 2025-03-20T10:29:26.881Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/Impostor_MS.uexp 2025-03-20T10:29:26.882Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/Impostor_SingleFrameVersion.uasset 2025-03-20T10:29:29.039Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/Impostor_SingleFrameVersion.uexp 2025-03-20T10:29:29.040Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/OverrideMobile.uasset 2025-03-20T10:29:29.048Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/OverrideMobile.uexp 2025-03-20T10:29:29.049Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/Sprite_PositionBased.uasset 2025-03-20T10:29:26.885Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/Sprite_PositionBased.uexp 2025-03-20T10:29:26.886Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/TriangleInterpolator.uasset 2025-03-20T10:29:29.048Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/TriangleInterpolator.uexp 2025-03-20T10:29:29.049Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/TriangulatedWireframe.uasset 2025-03-20T10:29:29.052Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/TriangulatedWireframe.uexp 2025-03-20T10:29:29.053Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/UnitVectorToHemiOctahedra.uasset 2025-03-20T10:29:29.051Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/UnitVectorToHemiOctahedra.uexp 2025-03-20T10:29:29.052Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/VirtualPlaneCoordinates_Imposter.uasset 2025-03-20T10:29:29.041Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Impostor/VirtualPlaneCoordinates_Imposter.uexp 2025-03-20T10:29:29.042Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Textures/T_WindNoise.uasset 2025-03-20T10:29:32.056Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Textures/T_WindNoise.ubulk 2025-03-20T10:29:32.048Z +vr_great_ryc/Content/MSPresets/MS_Foliage_Material/MaterialFunctions/Textures/T_WindNoise.uexp 2025-03-20T10:29:32.057Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Grasp_Left.uasset 2025-03-20T10:29:10.468Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Grasp_Left.uexp 2025-03-20T10:29:10.470Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Grasp_Right.uasset 2025-03-20T10:29:10.466Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Grasp_Right.uexp 2025-03-20T10:29:10.467Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_IndexCurl_Left.uasset 2025-03-20T10:29:10.466Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_IndexCurl_Left.uexp 2025-03-20T10:29:10.468Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_IndexCurl_Right.uasset 2025-03-20T10:29:10.467Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_IndexCurl_Right.uexp 2025-03-20T10:29:10.468Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Point_Left.uasset 2025-03-20T10:29:10.392Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Point_Left.uexp 2025-03-20T10:29:10.394Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Point_Right.uasset 2025-03-20T10:29:10.467Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_Point_Right.uexp 2025-03-20T10:29:10.469Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_ThumbUp_Left.uasset 2025-03-20T10:29:10.392Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_ThumbUp_Left.uexp 2025-03-20T10:29:10.398Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_ThumbUp_Right.uasset 2025-03-20T10:29:10.471Z +vr_great_ryc/Content/VRTemplate/Input/Actions/Hands/IA_Hand_ThumbUp_Right.uexp 2025-03-20T10:29:10.473Z +Engine/Plugins/Bridge/Content/MSPresets/M_MS_Default_Material/Functions/MF_ObjAdjustments.uasset 2025-03-20T10:29:19.314Z +Engine/Plugins/Bridge/Content/MSPresets/M_MS_Default_Material/Functions/MF_ObjAdjustments.uexp 2025-03-20T10:29:19.315Z +Engine/Plugins/Bridge/Content/MSPresets/M_MS_Foliage_Material/Functions/MF_Translucency.uasset 2025-03-20T10:29:29.058Z +Engine/Plugins/Bridge/Content/MSPresets/M_MS_Foliage_Material/Functions/MF_Translucency.uexp 2025-03-20T10:29:29.058Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialBodies/MF_ClearCoat_Body.uasset 2025-03-20T10:29:10.465Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialBodies/MF_ClearCoat_Body.uexp 2025-03-20T10:29:10.466Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialBodies/MF_Default_Body.uasset 2025-03-20T10:29:10.466Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialBodies/MF_Default_Body.uexp 2025-03-20T10:29:10.467Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialBodies/MF_Sheen_Body.uasset 2025-03-20T10:29:10.464Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialBodies/MF_Sheen_Body.uexp 2025-03-20T10:29:10.466Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialBodies/MF_SpecularGlossiness_Body.uasset 2025-03-20T10:29:10.463Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialBodies/MF_SpecularGlossiness_Body.uexp 2025-03-20T10:29:10.464Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialBodies/MF_Transmission_Body.uasset 2025-03-20T10:29:10.464Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialBodies/MF_Transmission_Body.uexp 2025-03-20T10:29:10.464Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialBodies/MF_Unlit_Body.uasset 2025-03-20T10:29:10.437Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialBodies/MF_Unlit_Body.uexp 2025-03-20T10:29:10.439Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_BaseColor.uasset 2025-03-20T10:29:04.178Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_BaseColor.uexp 2025-03-20T10:29:04.181Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Clearcoat.uasset 2025-03-20T10:29:10.461Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Clearcoat.uexp 2025-03-20T10:29:10.462Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_DiffuseSpecGloss.uasset 2025-03-20T10:29:04.175Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_DiffuseSpecGloss.uexp 2025-03-20T10:29:04.179Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Emissive.uasset 2025-03-20T10:29:04.178Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Emissive.uexp 2025-03-20T10:29:04.181Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Fresnel_DS.uasset 2025-03-20T10:29:03.521Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Fresnel_DS.uexp 2025-03-20T10:29:03.525Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_IOR.uasset 2025-03-20T10:29:03.524Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_IOR.uexp 2025-03-20T10:29:03.528Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Iridescence.uasset 2025-03-20T10:29:10.438Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Iridescence.uexp 2025-03-20T10:29:10.439Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_MaxComponentValue.uasset 2025-03-20T10:29:04.191Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_MaxComponentValue.uexp 2025-03-20T10:29:04.193Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_MetallicRoughness.uasset 2025-03-20T10:29:04.181Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_MetallicRoughness.uexp 2025-03-20T10:29:04.184Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Normals.uasset 2025-03-20T10:29:10.461Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Normals.uexp 2025-03-20T10:29:10.462Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Occlusion.uasset 2025-03-20T10:29:04.181Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Occlusion.uexp 2025-03-20T10:29:04.184Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_PerceivedBrightness.uasset 2025-03-20T10:29:04.171Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_PerceivedBrightness.uexp 2025-03-20T10:29:04.173Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_RotateNormals_TS.uasset 2025-03-20T10:29:10.448Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_RotateNormals_TS.uexp 2025-03-20T10:29:10.449Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_RotateV2.uasset 2025-03-20T10:29:03.523Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_RotateV2.uexp 2025-03-20T10:29:03.525Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_ScaleNormal.uasset 2025-03-20T10:29:04.190Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_ScaleNormal.uexp 2025-03-20T10:29:04.193Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Sheen.uasset 2025-03-20T10:29:04.180Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Sheen.uexp 2025-03-20T10:29:04.185Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_SpecGlossToMetalRoughness.uasset 2025-03-20T10:29:10.435Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_SpecGlossToMetalRoughness.uexp 2025-03-20T10:29:10.437Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Specular.uasset 2025-03-20T10:29:04.177Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Specular.uexp 2025-03-20T10:29:04.178Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_SpecularAnisotropy.uasset 2025-03-20T10:29:04.182Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_SpecularAnisotropy.uexp 2025-03-20T10:29:04.189Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Temporal_Blur.uasset 2025-03-20T10:29:04.189Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Temporal_Blur.uexp 2025-03-20T10:29:04.191Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_TransformUVs.uasset 2025-03-20T10:29:04.174Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_TransformUVs.uexp 2025-03-20T10:29:04.176Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Transmission.uasset 2025-03-20T10:29:04.180Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialFunctions/MF_Transmission.uexp 2025-03-20T10:29:04.188Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_ClearCoat_Blend.uasset 2025-03-20T10:29:26.862Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_ClearCoat_Blend.uexp 2025-03-20T10:29:26.863Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_ClearCoat_Blend_DS.uasset 2025-03-20T10:29:29.061Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_ClearCoat_Blend_DS.uexp 2025-03-20T10:29:29.062Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_ClearCoat_Mask.uasset 2025-03-20T10:29:26.862Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_ClearCoat_Mask.uexp 2025-03-20T10:29:26.862Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_ClearCoat_Mask_DS.uasset 2025-03-20T10:29:29.061Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_ClearCoat_Mask_DS.uexp 2025-03-20T10:29:29.063Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_ClearCoat_Opaque.uasset 2025-03-20T10:29:17.130Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_ClearCoat_Opaque.uexp 2025-03-20T10:29:17.131Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_ClearCoat_Opaque_DS.uasset 2025-03-20T10:29:26.862Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_ClearCoat_Opaque_DS.uexp 2025-03-20T10:29:26.863Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Default_Blend.uasset 2025-03-20T10:29:34.381Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Default_Blend.uexp 2025-03-20T10:29:34.382Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Default_Blend_DS.uasset 2025-03-20T10:29:29.061Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Default_Blend_DS.uexp 2025-03-20T10:29:29.061Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Default_Mask.uasset 2025-03-20T10:29:34.374Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Default_Mask.uexp 2025-03-20T10:29:34.375Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Default_Mask_DS.uasset 2025-03-20T10:29:29.069Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Default_Mask_DS.uexp 2025-03-20T10:29:29.071Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Default_Opaque.uasset 2025-03-20T10:29:29.047Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Default_Opaque.uexp 2025-03-20T10:29:29.047Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Default_Opaque_DS.uasset 2025-03-20T10:29:29.069Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Default_Opaque_DS.uexp 2025-03-20T10:29:29.070Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Sheen_Blend.uasset 2025-03-20T10:29:29.070Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Sheen_Blend.uexp 2025-03-20T10:29:29.071Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Sheen_Blend_DS.uasset 2025-03-20T10:29:29.064Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Sheen_Blend_DS.uexp 2025-03-20T10:29:29.065Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Sheen_Mask.uasset 2025-03-20T10:29:29.070Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Sheen_Mask.uexp 2025-03-20T10:29:29.071Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Sheen_Mask_DS.uasset 2025-03-20T10:29:29.064Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Sheen_Mask_DS.uexp 2025-03-20T10:29:29.065Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Sheen_Opaque.uasset 2025-03-20T10:29:19.253Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Sheen_Opaque.uexp 2025-03-20T10:29:19.255Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Sheen_Opaque_DS.uasset 2025-03-20T10:29:29.063Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Sheen_Opaque_DS.uexp 2025-03-20T10:29:29.064Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_SpecularGlossiness_Blend.uasset 2025-03-20T10:29:29.065Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_SpecularGlossiness_Blend.uexp 2025-03-20T10:29:29.067Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_SpecularGlossiness_Blend_DS.uasset 2025-03-20T10:29:29.066Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_SpecularGlossiness_Blend_DS.uexp 2025-03-20T10:29:29.068Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_SpecularGlossiness_Mask.uasset 2025-03-20T10:29:29.065Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_SpecularGlossiness_Mask.uexp 2025-03-20T10:29:29.067Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_SpecularGlossiness_Mask_DS.uasset 2025-03-20T10:29:29.066Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_SpecularGlossiness_Mask_DS.uexp 2025-03-20T10:29:29.067Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_SpecularGlossiness_Opaque.uasset 2025-03-20T10:29:19.297Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_SpecularGlossiness_Opaque.uexp 2025-03-20T10:29:19.299Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_SpecularGlossiness_Opaque_DS.uasset 2025-03-20T10:29:29.066Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_SpecularGlossiness_Opaque_DS.uexp 2025-03-20T10:29:29.067Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Transmission.uasset 2025-03-20T10:29:19.295Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Transmission.uexp 2025-03-20T10:29:19.296Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Transmission_DS.uasset 2025-03-20T10:29:29.065Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Transmission_DS.uexp 2025-03-20T10:29:29.066Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Unlit_Blend.uasset 2025-03-20T10:29:16.328Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Unlit_Blend.uexp 2025-03-20T10:29:16.328Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Unlit_Blend_DS.uasset 2025-03-20T10:29:16.332Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Unlit_Blend_DS.uexp 2025-03-20T10:29:16.332Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Unlit_Mask.uasset 2025-03-20T10:29:13.526Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Unlit_Mask.uexp 2025-03-20T10:29:13.527Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Unlit_Mask_DS.uasset 2025-03-20T10:29:16.330Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Unlit_Mask_DS.uexp 2025-03-20T10:29:16.331Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Unlit_Opaque.uasset 2025-03-20T10:29:11.661Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Unlit_Opaque.uexp 2025-03-20T10:29:11.661Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Unlit_Opaque_DS.uasset 2025-03-20T10:29:16.329Z +Engine/Plugins/Interchange/Assets/Content/gltf/MaterialInstances/MI_Unlit_Opaque_DS.uexp 2025-03-20T10:29:16.330Z +Engine/Plugins/Interchange/Assets/Content/gltf/Textures/T_Anisotropy_Direction_Linear.uasset 2025-03-20T10:29:10.370Z +Engine/Plugins/Interchange/Assets/Content/gltf/Textures/T_Anisotropy_Direction_Linear.uexp 2025-03-20T10:29:10.372Z +Engine/Plugins/Interchange/Assets/Content/gltf/Textures/T_Generic_N.uasset 2025-03-20T10:29:10.370Z +Engine/Plugins/Interchange/Assets/Content/gltf/Textures/T_Generic_N.uexp 2025-03-20T10:29:10.376Z +Engine/Plugins/Interchange/Assets/Content/gltf/Textures/T_White_Linear.uasset 2025-03-20T10:29:13.501Z +Engine/Plugins/Interchange/Assets/Content/gltf/Textures/T_White_Linear.uexp 2025-03-20T10:29:13.502Z +Engine/Plugins/Interchange/Assets/Content/gltf/Textures/T_White_srgb.uasset 2025-03-20T10:29:10.373Z +Engine/Plugins/Interchange/Assets/Content/gltf/Textures/T_White_srgb.uexp 2025-03-20T10:29:10.376Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/Functions/MF_AngleGradient.uasset 2025-03-20T10:29:04.193Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/Functions/MF_AngleGradient.uexp 2025-03-20T10:29:04.194Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/Functions/MF_DotOutlined.uasset 2025-03-20T10:29:04.176Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/Functions/MF_DotOutlined.uexp 2025-03-20T10:29:04.178Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/Functions/MF_Lines.uasset 2025-03-20T10:29:04.191Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/Functions/MF_Lines.uexp 2025-03-20T10:29:04.191Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/Functions/MF_SingleLine.uasset 2025-03-20T10:29:04.192Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/Functions/MF_SingleLine.uexp 2025-03-20T10:29:04.193Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/Functions/MF_SingleLine_Smooth.uasset 2025-03-20T10:29:04.191Z +Engine/Plugins/Runtime/AudioWidgets/Content/AudioMaterialSlate/Functions/MF_SingleLine_Smooth.uexp 2025-03-20T10:29:04.193Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/HTCVive/BaseTexture.uasset 2025-03-20T10:29:04.171Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/HTCVive/BaseTexture.ubulk 2025-03-20T10:29:04.170Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/HTCVive/BaseTexture.uexp 2025-03-20T10:29:04.173Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/HTCVive/HTCViveController.uasset 2025-03-20T10:29:10.460Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/HTCVive/HTCViveController.ubulk 2025-03-20T10:29:10.460Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/HTCVive/HTCViveController.uexp 2025-03-20T10:29:10.465Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/HTCVive/MI_HTCVive.uasset 2025-03-20T10:29:10.447Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/HTCVive/MI_HTCVive.uexp 2025-03-20T10:29:10.447Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/BaseTexture.uasset 2025-03-20T10:29:04.168Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/BaseTexture.ubulk 2025-03-20T10:29:04.168Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/BaseTexture.uexp 2025-03-20T10:29:04.168Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/EmissiveTexture.uasset 2025-03-20T10:29:04.161Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/EmissiveTexture.ubulk 2025-03-20T10:29:04.160Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/EmissiveTexture.uexp 2025-03-20T10:29:04.162Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/MI_MicrosoftMixedReality.uasset 2025-03-20T10:29:17.084Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/MI_MicrosoftMixedReality.uexp 2025-03-20T10:29:17.084Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/MRTexture.uasset 2025-03-20T10:29:04.164Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/MRTexture.ubulk 2025-03-20T10:29:04.163Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/MRTexture.uexp 2025-03-20T10:29:04.164Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/NormalTexture.uasset 2025-03-20T10:29:04.162Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/NormalTexture.ubulk 2025-03-20T10:29:04.161Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/NormalTexture.uexp 2025-03-20T10:29:04.162Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusGo/BaseTexture.uasset 2025-03-20T10:29:04.163Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusGo/BaseTexture.ubulk 2025-03-20T10:29:04.162Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusGo/BaseTexture.uexp 2025-03-20T10:29:04.163Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusGo/MI_OculusGo.uasset 2025-03-20T10:29:10.446Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusGo/MI_OculusGo.uexp 2025-03-20T10:29:10.447Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusGo/OculusGoController.uasset 2025-03-20T10:29:10.462Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusGo/OculusGoController.ubulk 2025-03-20T10:29:10.458Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusGo/OculusGoController.uexp 2025-03-20T10:29:10.465Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/BaseTexture.uasset 2025-03-20T10:29:04.180Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/BaseTexture.ubulk 2025-03-20T10:29:04.178Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/BaseTexture.uexp 2025-03-20T10:29:04.181Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/MI_OculusTouch.uasset 2025-03-20T10:29:17.082Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/MI_OculusTouch.uexp 2025-03-20T10:29:17.082Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/MRTexture.uasset 2025-03-20T10:29:04.155Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/MRTexture.ubulk 2025-03-20T10:29:04.155Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/MRTexture.uexp 2025-03-20T10:29:04.159Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/BaseTexture.uasset 2025-03-20T10:29:04.160Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/BaseTexture.ubulk 2025-03-20T10:29:04.159Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/BaseTexture.uexp 2025-03-20T10:29:04.161Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/MI_OculusTouch_v2.uasset 2025-03-20T10:29:17.077Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/MI_OculusTouch_v2.uexp 2025-03-20T10:29:17.078Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/MRTexture.uasset 2025-03-20T10:29:13.535Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/MRTexture.ubulk 2025-03-20T10:29:13.533Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/MRTexture.uexp 2025-03-20T10:29:13.537Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/BaseTexture.uasset 2025-03-20T10:29:04.344Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/BaseTexture.ubulk 2025-03-20T10:29:04.323Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/BaseTexture.uexp 2025-03-20T10:29:04.368Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/MI_OculusTouch_v3.uasset 2025-03-20T10:29:17.076Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/MI_OculusTouch_v3.uexp 2025-03-20T10:29:17.077Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/MRTexture.uasset 2025-03-20T10:29:04.155Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/MRTexture.ubulk 2025-03-20T10:29:04.154Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/MRTexture.uexp 2025-03-20T10:29:04.155Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/BaseTexture.uasset 2025-03-20T10:29:04.177Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/BaseTexture.ubulk 2025-03-20T10:29:04.175Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/BaseTexture.uexp 2025-03-20T10:29:04.178Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/MRTexture.uasset 2025-03-20T10:29:04.156Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/MRTexture.ubulk 2025-03-20T10:29:04.155Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/MRTexture.uexp 2025-03-20T10:29:04.157Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Field/Field_03/MAI_BlackAlder_Field_03.uasset 2025-03-20T10:38:21.767Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Field/Field_03/MAI_BlackAlder_Field_03.uexp 2025-03-20T10:38:21.769Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Field/Field_03/MI_BlackAlder_Field_03_Decoration.uasset 2025-03-20T10:45:17.497Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Field/Field_03/MI_BlackAlder_Field_03_Decoration.uexp 2025-03-20T10:45:17.498Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Field/Field_03/MI_BlackAlder_Field_03_Tileable.uasset 2025-03-20T10:41:48.541Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Field/Field_03/MI_BlackAlder_Field_03_Tileable.uexp 2025-03-20T10:41:48.542Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Field/Field_03/MI_BlackAlder_Field_03_TwoSided.uasset 2025-03-20T10:45:17.395Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Field/Field_03/MI_BlackAlder_Field_03_TwoSided.uexp 2025-03-20T10:45:17.396Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_08/MAI_BlackAlder_Forest_08.uasset 2025-03-20T10:38:22.386Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_08/MAI_BlackAlder_Forest_08.uexp 2025-03-20T10:38:22.388Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_08/MI_BlackAlder_Forest_08_Decoration.uasset 2025-03-20T10:45:17.903Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_08/MI_BlackAlder_Forest_08_Decoration.uexp 2025-03-20T10:45:17.904Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_08/MI_BlackAlder_Forest_08_Tileable.uasset 2025-03-20T10:41:48.743Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_08/MI_BlackAlder_Forest_08_Tileable.uexp 2025-03-20T10:41:48.745Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_08/MI_BlackAlder_Forest_08_TwoSided.uasset 2025-03-20T10:45:17.802Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_08/MI_BlackAlder_Forest_08_TwoSided.uexp 2025-03-20T10:45:17.803Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_09/MAI_BlackAlder_Forest_09.uasset 2025-03-20T10:38:22.280Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_09/MAI_BlackAlder_Forest_09.uexp 2025-03-20T10:38:22.282Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_09/MI_BlackAlder_Forest_09_Tileable.uasset 2025-03-20T10:41:48.557Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_09/MI_BlackAlder_Forest_09_Tileable.uexp 2025-03-20T10:41:48.558Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_09/MI_BlackAlder_Forest_09_TwoSided.uasset 2025-03-20T10:45:17.700Z +vr_great_ryc/Content/BlackAlder/Materials/PivotPainter/Forest/Forest_09/MI_BlackAlder_Forest_09_TwoSided.uexp 2025-03-20T10:45:17.700Z +vr_great_ryc/Content/BlackAlder/Textures/Impostor/Field/Field_03/T_Impostor_BaseColor_Field_03_Summer.uasset 2025-03-20T10:29:32.119Z +vr_great_ryc/Content/BlackAlder/Textures/Impostor/Field/Field_03/T_Impostor_BaseColor_Field_03_Summer.ubulk 2025-03-20T10:29:32.118Z +vr_great_ryc/Content/BlackAlder/Textures/Impostor/Field/Field_03/T_Impostor_BaseColor_Field_03_Summer.uexp 2025-03-20T10:29:32.120Z +vr_great_ryc/Content/BlackAlder/Textures/Impostor/Field/Field_03/T_Impostor_BaseColor_Field_03_Winter.uasset 2025-03-20T10:29:32.163Z +vr_great_ryc/Content/BlackAlder/Textures/Impostor/Field/Field_03/T_Impostor_BaseColor_Field_03_Winter.ubulk 2025-03-20T10:29:32.162Z +vr_great_ryc/Content/BlackAlder/Textures/Impostor/Field/Field_03/T_Impostor_BaseColor_Field_03_Winter.uexp 2025-03-20T10:29:32.163Z +vr_great_ryc/Content/BlackAlder/Textures/Impostor/Field/Field_03/T_Impostor_Normal_Field_03_Summer.uasset 2025-03-20T10:29:31.997Z +vr_great_ryc/Content/BlackAlder/Textures/Impostor/Field/Field_03/T_Impostor_Normal_Field_03_Summer.ubulk 2025-03-20T10:29:31.989Z +vr_great_ryc/Content/BlackAlder/Textures/Impostor/Field/Field_03/T_Impostor_Normal_Field_03_Summer.uexp 2025-03-20T10:29:31.997Z +vr_great_ryc/Content/BlackAlder/Textures/Impostor/Field/Field_03/T_Impostor_Normal_Field_03_Winter.uasset 2025-03-20T10:29:31.999Z +vr_great_ryc/Content/BlackAlder/Textures/Impostor/Field/Field_03/T_Impostor_Normal_Field_03_Winter.ubulk 2025-03-20T10:29:31.999Z +vr_great_ryc/Content/BlackAlder/Textures/Impostor/Field/Field_03/T_Impostor_Normal_Field_03_Winter.uexp 2025-03-20T10:29:32.000Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Instances/Manny/MI_Manny_01.uasset 2025-03-20T10:29:17.026Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Instances/Manny/MI_Manny_01.uexp 2025-03-20T10:29:17.027Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Instances/Manny/MI_Manny_02.uasset 2025-03-20T10:29:29.063Z +vr_great_ryc/Content/Characters/MannequinsXR/Materials/Instances/Manny/MI_Manny_02.uexp 2025-03-20T10:29:29.064Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/MI_wldhdhxva.uasset 2025-03-20T10:33:04.780Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/MI_wldhdhxva.uexp 2025-03-20T10:33:04.781Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/T_wldhdhxva_2K_B.uasset 2025-03-20T10:29:31.943Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/T_wldhdhxva_2K_B.ubulk 2025-03-20T10:29:31.943Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/T_wldhdhxva_2K_B.uexp 2025-03-20T10:29:31.944Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/T_wldhdhxva_2K_N.uasset 2025-03-20T10:29:31.941Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/T_wldhdhxva_2K_N.ubulk 2025-03-20T10:29:31.940Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/T_wldhdhxva_2K_N.uexp 2025-03-20T10:29:31.941Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/T_wldhdhxva_2K_ORM.uasset 2025-03-20T10:29:31.942Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/T_wldhdhxva_2K_ORM.ubulk 2025-03-20T10:29:31.942Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/T_wldhdhxva_2K_ORM.uexp 2025-03-20T10:29:31.943Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/wldhdhxva_tier_2.uasset 2025-03-20T10:29:26.878Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/wldhdhxva_tier_2.ubulk 2025-03-20T10:29:26.877Z +vr_great_ryc/Content/Fab/Megascans/3D/Gigantic_Sandstone_Terrain_wldhdhxva/Medium/wldhdhxva_tier_2.uexp 2025-03-20T10:29:26.879Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/MI_vbhsfesga.uasset 2025-03-20T10:29:29.063Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/MI_vbhsfesga.uexp 2025-03-20T10:29:29.064Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/T_vbhsfesga_8K_B.uasset 2025-03-20T10:29:32.186Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/T_vbhsfesga_8K_B.ubulk 2025-03-20T10:29:32.008Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/T_vbhsfesga_8K_B.uexp 2025-03-20T10:29:32.186Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/T_vbhsfesga_8K_B.uptnl 2025-03-20T10:29:32.185Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/T_vbhsfesga_8K_N.uasset 2025-03-20T10:29:32.391Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/T_vbhsfesga_8K_N.ubulk 2025-03-20T10:29:32.084Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/T_vbhsfesga_8K_N.uexp 2025-03-20T10:29:32.392Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/T_vbhsfesga_8K_N.uptnl 2025-03-20T10:29:32.390Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/T_vbhsfesga_8K_ORM.uasset 2025-03-20T10:29:32.240Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/T_vbhsfesga_8K_ORM.ubulk 2025-03-20T10:29:32.048Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/T_vbhsfesga_8K_ORM.uexp 2025-03-20T10:29:32.240Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/T_vbhsfesga_8K_ORM.uptnl 2025-03-20T10:29:32.239Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/vbhsfesga_tier_0.uasset 2025-03-20T10:29:29.103Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/vbhsfesga_tier_0.ubulk 2025-03-20T10:29:29.102Z +vr_great_ryc/Content/Fab/Megascans/3D/Rocky_Forest_Path_vbhsfesga/Raw/vbhsfesga_tier_0.uexp 2025-03-20T10:29:29.109Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/MI_sltiN.uasset 2025-03-20T10:40:31.876Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/MI_sltiN.uexp 2025-03-20T10:40:31.877Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/MI_sltiN_Billboard.uasset 2025-03-20T10:34:41.810Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/MI_sltiN_Billboard.uexp 2025-03-20T10:34:41.811Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarB.uasset 2025-03-20T10:29:19.315Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarB.ubulk 2025-03-20T10:29:19.309Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarB.uexp 2025-03-20T10:29:19.322Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarB_FoliageType.uasset 2025-03-20T10:29:19.312Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarB_FoliageType.uexp 2025-03-20T10:29:19.317Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarC.uasset 2025-03-20T10:29:26.907Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarC.ubulk 2025-03-20T10:29:26.907Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarC.uexp 2025-03-20T10:29:26.908Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarC_FoliageType.uasset 2025-03-20T10:29:19.313Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarC_FoliageType.uexp 2025-03-20T10:29:19.323Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarD.uasset 2025-03-20T10:29:19.316Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarD.ubulk 2025-03-20T10:29:19.311Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarD.uexp 2025-03-20T10:29:19.323Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarD_FoliageType.uasset 2025-03-20T10:29:19.310Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/SM_sltiN_VarD_FoliageType.uexp 2025-03-20T10:29:19.315Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_B.uasset 2025-03-20T10:29:26.883Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_B.ubulk 2025-03-20T10:29:26.883Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_B.uexp 2025-03-20T10:29:26.884Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_Billboard_B-O.uasset 2025-03-20T10:29:26.957Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_Billboard_B-O.ubulk 2025-03-20T10:29:26.943Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_Billboard_B-O.uexp 2025-03-20T10:29:26.957Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_Billboard_N-T.uasset 2025-03-20T10:29:26.904Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_Billboard_N-T.ubulk 2025-03-20T10:29:26.903Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_Billboard_N-T.uexp 2025-03-20T10:29:26.905Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_N.uasset 2025-03-20T10:29:26.905Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_N.ubulk 2025-03-20T10:29:26.904Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_N.uexp 2025-03-20T10:29:26.905Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_ORT.uasset 2025-03-20T10:29:26.920Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_ORT.ubulk 2025-03-20T10:29:26.919Z +vr_great_ryc/Content/Fab/Megascans/Plants/Grass_sltiN/Medium/T_sltiN_2K_ORT.uexp 2025-03-20T10:29:26.923Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Asphalt_Fresh_sfrofg0a/Medium/T_sfrofg0a_2K_B.uasset 2025-03-20T10:29:31.959Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Asphalt_Fresh_sfrofg0a/Medium/T_sfrofg0a_2K_B.ubulk 2025-03-20T10:29:31.957Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Asphalt_Fresh_sfrofg0a/Medium/T_sfrofg0a_2K_B.uexp 2025-03-20T10:29:31.959Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Asphalt_Fresh_sfrofg0a/Medium/T_sfrofg0a_2K_N.uasset 2025-03-20T10:29:31.969Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Asphalt_Fresh_sfrofg0a/Medium/T_sfrofg0a_2K_N.ubulk 2025-03-20T10:29:31.969Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Asphalt_Fresh_sfrofg0a/Medium/T_sfrofg0a_2K_N.uexp 2025-03-20T10:29:31.971Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Swamp_Water_tgmjffbqx/Medium/MI_tgmjffbqx.uasset 2025-03-20T10:29:19.315Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Swamp_Water_tgmjffbqx/Medium/MI_tgmjffbqx.uexp 2025-03-20T10:29:19.316Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Swamp_Water_tgmjffbqx/Medium/T_tgmjffbqx_2K_B.uasset 2025-03-20T10:29:31.923Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Swamp_Water_tgmjffbqx/Medium/T_tgmjffbqx_2K_B.ubulk 2025-03-20T10:29:31.922Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Swamp_Water_tgmjffbqx/Medium/T_tgmjffbqx_2K_B.uexp 2025-03-20T10:29:31.923Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Swamp_Water_tgmjffbqx/Medium/T_tgmjffbqx_2K_N.uasset 2025-03-20T10:29:31.957Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Swamp_Water_tgmjffbqx/Medium/T_tgmjffbqx_2K_N.ubulk 2025-03-20T10:29:31.956Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Swamp_Water_tgmjffbqx/Medium/T_tgmjffbqx_2K_N.uexp 2025-03-20T10:29:31.957Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Swamp_Water_tgmjffbqx/Medium/T_tgmjffbqx_2K_ORM.uasset 2025-03-20T10:29:31.945Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Swamp_Water_tgmjffbqx/Medium/T_tgmjffbqx_2K_ORM.ubulk 2025-03-20T10:29:31.945Z +vr_great_ryc/Content/Fab/Megascans/Surfaces/Swamp_Water_tgmjffbqx/Medium/T_tgmjffbqx_2K_ORM.uexp 2025-03-20T10:29:31.946Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/Left/left_MicrosoftMixedRealityController.uasset 2025-03-20T10:29:10.461Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/Left/left_MicrosoftMixedRealityController.ubulk 2025-03-20T10:29:10.461Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/Left/left_MicrosoftMixedRealityController.uexp 2025-03-20T10:29:10.466Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/Right/right_MicrosoftMixedRealityController.uasset 2025-03-20T10:29:10.467Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/Right/right_MicrosoftMixedRealityController.ubulk 2025-03-20T10:29:10.466Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/MicrosoftMixedReality/Right/right_MicrosoftMixedRealityController.uexp 2025-03-20T10:29:10.470Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/Left/left_OculusTouchController.uasset 2025-03-20T10:29:10.459Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/Left/left_OculusTouchController.ubulk 2025-03-20T10:29:10.459Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/Left/left_OculusTouchController.uexp 2025-03-20T10:29:10.462Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/Right/right_OculusTouchController.uasset 2025-03-20T10:29:10.464Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/Right/right_OculusTouchController.ubulk 2025-03-20T10:29:10.457Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch/Right/right_OculusTouchController.uexp 2025-03-20T10:29:10.468Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/Left/left_OculusTouch_v2Controller.uasset 2025-03-20T10:29:10.456Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/Left/left_OculusTouch_v2Controller.ubulk 2025-03-20T10:29:10.455Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/Left/left_OculusTouch_v2Controller.uexp 2025-03-20T10:29:10.457Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/Right/right_OculusTouch_v2Controller.uasset 2025-03-20T10:29:10.455Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/Right/right_OculusTouch_v2Controller.ubulk 2025-03-20T10:29:10.454Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v2/Right/right_OculusTouch_v2Controller.uexp 2025-03-20T10:29:10.457Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/Left/left_OculusTouch_v3Controller.uasset 2025-03-20T10:29:10.454Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/Left/left_OculusTouch_v3Controller.ubulk 2025-03-20T10:29:10.454Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/Left/left_OculusTouch_v3Controller.uexp 2025-03-20T10:29:10.456Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/Right/right_OculusTouch_v3Controller.uasset 2025-03-20T10:29:10.457Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/Right/right_OculusTouch_v3Controller.ubulk 2025-03-20T10:29:10.454Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/OculusTouch_v3/Right/right_OculusTouch_v3Controller.uexp 2025-03-20T10:29:10.459Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/Left/left_ValveIndexController.uasset 2025-03-20T10:29:10.457Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/Left/left_ValveIndexController.ubulk 2025-03-20T10:29:10.457Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/Left/left_ValveIndexController.uexp 2025-03-20T10:29:10.460Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/Left/MI_left_ValveIndex.uasset 2025-03-20T10:29:17.080Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/Left/MI_left_ValveIndex.uexp 2025-03-20T10:29:17.081Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/Right/MI_right_ValveIndex.uasset 2025-03-20T10:29:17.079Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/Right/MI_right_ValveIndex.uexp 2025-03-20T10:29:17.079Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/Right/right_ValveIndexController.uasset 2025-03-20T10:29:10.457Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/Right/right_ValveIndexController.ubulk 2025-03-20T10:29:10.456Z +Engine/Plugins/Runtime/OpenXR/Content/Devices/ValveIndex/Right/right_ValveIndexController.uexp 2025-03-20T10:29:10.460Z +vr_great_ryc/Plugins/vr_great_ryc.upluginmanifest 2025-03-20T10:45:21.593Z +vr_great_ryc/Content/Paks/vr_great_ryc-Windows.pak 2025-03-20T10:45:24.495Z diff --git a/build_vr_big_map/vr_great_ryc.exe b/build_vr_big_map/vr_great_ryc.exe new file mode 100644 index 0000000000000000000000000000000000000000..535ef25675e7c97e91f54b60151c43820d0528f5 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc.exe differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/D3D12/D3D12Core.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/D3D12/D3D12Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..4c15f7cd567c7bc70404a449733cab330cd18a6d Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/D3D12/D3D12Core.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/D3D12/d3d12SDKLayers.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/D3D12/d3d12SDKLayers.dll new file mode 100644 index 0000000000000000000000000000000000000000..9ab44b7baf129ea3c1e5b5a3356c909490f37105 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/D3D12/d3d12SDKLayers.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/DML/DirectML.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/DML/DirectML.dll new file mode 100644 index 0000000000000000000000000000000000000000..c9524db86c7d4c14b1356d92ae2053cc4f98d905 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/DML/DirectML.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_atomic-mt-x64.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_atomic-mt-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..344b7cb3db4f6e8b4a06c8076ed7f0cd5c70d487 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_atomic-mt-x64.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_chrono-mt-x64.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_chrono-mt-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..a510737ba5e37d9eb5935cca7adcf61cd9fdc293 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_chrono-mt-x64.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_filesystem-mt-x64.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_filesystem-mt-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..c43a167e0b3a78cabfb57059b70fcdeb3249dff2 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_filesystem-mt-x64.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_iostreams-mt-x64.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_iostreams-mt-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..772b06d45fab35225ae28ebb47758e6188e2137f Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_iostreams-mt-x64.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_program_options-mt-x64.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_program_options-mt-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..503f7a6af3e49313d50433fbf43c41dbfe8c725a Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_program_options-mt-x64.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_python311-mt-x64.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_python311-mt-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..3c93b55a5e4d25aaff19ecb79d785d924cacde8f Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_python311-mt-x64.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_regex-mt-x64.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_regex-mt-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..4053f70ef9e7173e17612c39ab356f1102377258 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_regex-mt-x64.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_system-mt-x64.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_system-mt-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..dbb473b2f17c8a0595e44ce55bdb96f54563fceb Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_system-mt-x64.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_thread-mt-x64.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_thread-mt-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..187f997dad77a01611f989eeecbe8a6dada3acf0 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/boost_thread-mt-x64.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/tbb.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/tbb.dll new file mode 100644 index 0000000000000000000000000000000000000000..1cd63bd13f37b85d411021e48c8925315efb9b65 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/tbb.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/tbb.pdb b/build_vr_big_map/vr_great_ryc/Binaries/Win64/tbb.pdb new file mode 100644 index 0000000000000000000000000000000000000000..4dc86e4f9f8ca1bb4fcb71ecddc6118d356718b2 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/tbb.pdb differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/tbbmalloc.dll b/build_vr_big_map/vr_great_ryc/Binaries/Win64/tbbmalloc.dll new file mode 100644 index 0000000000000000000000000000000000000000..4c2ff69b096e9719d0ef0370c85aa66e2522c30b Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/tbbmalloc.dll differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/tbbmalloc.pdb b/build_vr_big_map/vr_great_ryc/Binaries/Win64/tbbmalloc.pdb new file mode 100644 index 0000000000000000000000000000000000000000..c9babe9a491b31224400e5fe7ac2354531b8f3a0 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/tbbmalloc.pdb differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/vr_great_ryc.exe b/build_vr_big_map/vr_great_ryc/Binaries/Win64/vr_great_ryc.exe new file mode 100644 index 0000000000000000000000000000000000000000..de2c279c10930c90ff96f25c9fcd0267ab3df5b5 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/vr_great_ryc.exe differ diff --git a/build_vr_big_map/vr_great_ryc/Binaries/Win64/vr_great_ryc.pdb b/build_vr_big_map/vr_great_ryc/Binaries/Win64/vr_great_ryc.pdb new file mode 100644 index 0000000000000000000000000000000000000000..707f5eae036c373328a0f0040e84ec3c79b84591 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Binaries/Win64/vr_great_ryc.pdb differ diff --git a/build_vr_big_map/vr_great_ryc/Content/Paks/global.ucas b/build_vr_big_map/vr_great_ryc/Content/Paks/global.ucas new file mode 100644 index 0000000000000000000000000000000000000000..c86fb8218b8371247abf8845778f3c3cf601b7eb Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Content/Paks/global.ucas differ diff --git a/build_vr_big_map/vr_great_ryc/Content/Paks/global.utoc b/build_vr_big_map/vr_great_ryc/Content/Paks/global.utoc new file mode 100644 index 0000000000000000000000000000000000000000..b249aa71440f83a909c106f2114ea181f8c13122 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Content/Paks/global.utoc differ diff --git a/build_vr_big_map/vr_great_ryc/Content/Paks/vr_great_ryc-Windows.pak b/build_vr_big_map/vr_great_ryc/Content/Paks/vr_great_ryc-Windows.pak new file mode 100644 index 0000000000000000000000000000000000000000..01f33c6a4c439a800e4267039f59c7b04542eb75 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Content/Paks/vr_great_ryc-Windows.pak differ diff --git a/build_vr_big_map/vr_great_ryc/Content/Paks/vr_great_ryc-Windows.ucas b/build_vr_big_map/vr_great_ryc/Content/Paks/vr_great_ryc-Windows.ucas new file mode 100644 index 0000000000000000000000000000000000000000..582e88a9b7fe3dd070643aec8896bda1ce312db4 Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Content/Paks/vr_great_ryc-Windows.ucas differ diff --git a/build_vr_big_map/vr_great_ryc/Content/Paks/vr_great_ryc-Windows.utoc b/build_vr_big_map/vr_great_ryc/Content/Paks/vr_great_ryc-Windows.utoc new file mode 100644 index 0000000000000000000000000000000000000000..6ae3f4f7caf6bc6d2e582f81647dc5ea1e70746f Binary files /dev/null and b/build_vr_big_map/vr_great_ryc/Content/Paks/vr_great_ryc-Windows.utoc differ