Quick answer: Rename duplicate function. Or scope inside a struct.

Two scripts named foo. VM compiles fine. YYC errors. Compile to C++ rejects duplicates.

The Fix

// Conflict
function foo(a) { ... }   // in Script_A
function foo(a, b) { ... } // in Script_B  -> YYC error

// Resolve via struct
function StructA() constructor {
    static foo = function(a) { ... };
}
function StructB() constructor {
    static foo = function(a, b) { ... };
}

Struct methods are namespaced. Both can carry foo. YYC accepts.

Verifying

YYC compiles. Calls disambiguated by struct. Code works in VM and YYC.

“Unique names. Or struct scope.”

Related Issues

For shader uniform, see uniform. For 3D audio, see 3D audio.

Unique. YYC happy.