Exported universal variable updated in another fish instance is not reflected to exported variables until any operation is performed on exported variables.
$ set --show UV; env|grep UV
$UV: not set in local scope
$UV: not set in global scope
$UV: not set in universal scope
$ fish -c 'set -Ux UV 1'; set --show UV; env|grep UV
$UV: not set in local scope
$UV: not set in global scope
$UV: set in universal scope, exported, with 1 elements
$UV[1]: length=1 value=|1|
UV=1
$ fish -c 'set -Ux UV 2'; set --show UV; env|grep UV
$UV: not set in local scope
$UV: not set in global scope
$UV: set in universal scope, exported, with 1 elements
$UV[1]: length=1 value=|2|
UV=1
$ fish -c 'set -Ux UV 3'; set --show UV; env|grep UV
$UV: not set in local scope
$UV: not set in global scope
$UV: set in universal scope, exported, with 1 elements
$UV[1]: length=1 value=|3|
UV=1
$ set -lx unrelated; set --show UV; env|grep UV
$UV: not set in local scope
$UV: not set in global scope
$UV: set in universal scope, exported, with 1 elements
$UV[1]: length=1 value=|3|
UV=3
$ fish --version
fish, version 3.1.0
$ echo $version
3.1.0
Exported universal variable updated in another fish instance is not reflected to exported variables until any operation is performed on exported variables.