Is there a "beta distribution" over the entire real line? The malleability of the beta distribution pleases me; it can be symmetric, asymmetric, platykurtic and so on, as the following picture shows us:

I thought it would be interesting to use it to model the errors in regression problems, but its support is only defined to be $(0,1)$ so I would like to know if there is a "beta" distribution with support $(-\infty,\infty)$ because a error lying on $(0,1)$ is such a strong assumption.

One way to make a "real-valued beta distribution" would be to transform the interval $(0,1)$ onto the real line. One way of doing that is the logistic function
$$ \text{logit}(x)= \log(\frac{x}{1-x}) $$ known from, for example, logistic regression. So if $X \sim \mathcal{Beta}(\alpha,\beta)$, let
$$ Y=\text{logit}(X)= \log(\frac{X}{1-X}). $$
Then $Y$  will be a random variable with range on the full real line, with a distribution we can call logistic-Beta.
By standard transformation methods we find the density function of $Y$
as
$$
f_Y(y) =\frac{e^{\alpha y}}{B(\alpha, \beta) (1+e^y)^{\alpha+\beta}}
$$ where $B$ is the beta function. This will give a flexible family of (unimodal) distributions on the real line. In this comprehensive reference that I just found, this distribution is called the Beta-Logistic Distribution. That is a useful search term!
An example is below:

The same transformation could be used with mixtures of betas, for instance, to get even multi-modal distributions. In reality, this example is a special case of the log-ratio transformation used with Compositional data,  see also How to perform isometric log-ratio transformation.
Transforming a beta random variable to the positive line (in a specific way) only gives the beta prime distribution, a recent post with an example is Distribution of the exponential of an exponentially distributed random variable?.
Code use for the figure is below:
dlogisticBeta <- function(x, alpha, beta, log=FALSE) {
    stopifnot( (alpha>0)&&(beta>0) )
    logans <- alpha*x - lbeta(alpha,  beta) -
        (alpha + beta)*log1p( exp(x))
    if(log) return(logans) else return(exp(logans))
}

oldpar <- par(mfrow=c(1, 2))
plot( function(x) dlogisticBeta(x, 0.5, 0.5), from=-10,  to=10, col="red", 
     main= expression(paste(alpha == 0.5,",   ",   beta==0.5)) )
plot( function(x) dlogisticBeta(x, 0.5, 3), from=-10,  to=10, col="red",  
     main= expression(paste(alpha == 0.5,",   ",   beta==3)) )
par(oldpar)

