How to achieve multiple backends using gcs

Within our team. We all have our own dev project, and then we have a test and prod environment.

We are currently in the process of migrating from deployment manager, and gcloud cli. Into terraform. however we havent been able to figure out a way to create isolated backends within gcs backend. We have noticed that the remote backends support setting a dedicated workspace but we havent been able to setup something similar within gcs.

Is it possible to state that terraform resource A, will have a configurable backend, that we can adjust per project, or is the equivalent possible with workspaces? So that we can use either tfvars, and vars parameters to switch between projects?

As stands everytime we attempt to make the backend configurable through vars, we get the error in terraform init of

Error: Variables not allowed

How does one go about creating isolated backends for each project.

Or if that isn’t possible how can we guarantee that with multiple projects a shared backend state will not collide causing the state to be incorrect?

We explored terraform workspaces, and we werent happy to one backend for multiple projects, for multiple reasons, but one was security reasons.

So we created a tf script wrapper that allowed us to do exactly the above (to inject variables into the backend + plus a bunch of other features). Its a shame that vars must require the terraform backend to a string with variables. its bit of a shame, but hey oh).