If you want to make your ERC-1155 contract upgradeable or you hit the max contract size limit then consider using the Diamond Standard, which is [EIP-2535](https://eips.ethereum.org/EIPS/eip-2535).
[ERC-1155 mentions](https://eips.ethereum.org/EIPS/eip-1155#upgrades) EIP-2535 in the Upgrades section.
ERC-1155 says this:
>To alleviate the need to emit events when changing contract address, consider using the proxy pattern, such as described in [EIP-2535](https://eips.ethereum.org/EIPS/eip-2535). This will also have the added benefit of providing a stable contract address for users.
Also, one of the authors (Ronan Sandford) of ERC-1155 is currently building tooling for EIP-2535. Here is a link to his announcement: [https://twitter.com/wighawag/status/1280992800545349644](https://twitter.com/wighawag/status/1280992800545349644)
Here's a couple articles about EIP-2535:
[Understanding Diamonds on Ethereum](https://dev.to/mudgen/understanding-diamonds-on-ethereum-1fb)
[Ethereum's Maximum Contract Size Limit is Solved with the Diamond Standard](https://dev.to/mudgen/ethereum-s-maximum-contract-size-limit-is-solved-with-the-diamond-standard-2189)
I am the author of EIP-2535 so if you have any questions let me know.